请问怎样可以解除DSP端输出信息对占用串口1的占用 - OMAP-L138 - 嵌入式开发者社区 - 51ele.net
设为首页收藏本站
点击跳转“创龙科技服务通”

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 6402|回复: 7
打印 上一主题 下一主题

请问怎样可以解除DSP端输出信息对占用串口1的占用

[复制链接]

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
跳转到指定楼层
楼主
发表于 2014-12-4 11:08:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
你好我现在用的你们的omapl138开发板,跑的双核通信的程序,我现在需要通过串口一向外部发信息,但是串口一被DSP占用了,我怎样才能解除DSP占用呢& P0 ~  G# U3 Y( [! |

" I3 r- }! ?+ u" v5 O
  C- N; n' D/ U" C5 l- N谢谢. p2 m: f4 Z5 \& U- Z

2 m) }2 t! G) M8 ?2 l  J) w+ P
3 q/ }" Z# r, T- \$ w, [
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
沙发
发表于 2014-12-4 14:01:26 | 只看该作者
  1 #ifndef _LOG_H_; L6 l1 U) A2 o& R6 k. P
  2 #define _LOG_H_7 N6 \/ J6 J  x
  3 : K8 W5 k- C& y# N! i' z
  4 /* 0: printf; 1: UART1 */
4 i7 c* O5 q  |' ^) L, v! g: @  5 #define OUTPUT_TO_UART1 1. Y1 A$ k8 n1 Q3 V3 ]  ^$ D
  6
) G. w5 Q# u- R( `  7 /* Switch Log Output */
$ c' O& E- l* o4 z1 f1 r  8 #if OUTPUT_TO_UART1, S4 u) @/ h/ y
  9     /* For UART1 Initial */
& L5 x" s5 N, M$ O 10     #include <stdlib.h>
( q7 ?' l( ~9 Y$ l/ ^. Y4 i6 z& f 11     #include "hw_types.h"  1 X4 Y! S% w" c/ s' L9 [4 K
12     #include "hw_syscfg0_C6748.h"  \9 S, l8 S( h" P+ p3 l% r
13     #include "soc_C6748.h"
2 |4 t) c' l5 N. @7 E 14     #include "psc.h"               : G% W0 C. f% p6 A! U% W5 ?
15     #include "gpio.h"               : v: U0 C+ F3 f5 s
16     #include "uart.h"
" A1 Z  `, `9 `/ o# z9 P4 M 17     #include "uartStdio.h"
$ _) N8 A& P* ~# p" u 18 9 z. D" s% t$ [/ O: i
19     #define OUTPUT UARTprintf1 ?5 h6 x1 R+ ]! O
20 #else8 ~0 R. r, X' h% `2 S
21     #include <stdio.h>! x5 s7 L& C& \
22     #include <stdbool.h>
& u5 r6 l% C" n 23 ! I4 K8 b8 _2 {9 a6 v2 {2 Q
24     #define OUTPUT printf4 u  h9 ^. b% g" F- m2 V4 Y; J0 g
25 #endif0 e4 M$ n* x. B& l- M
26 ( y/ w5 |9 C/ Y& A0 N
27 /* Log init */  j, E  g: m1 k( a
28 #if OUTPUT_TO_UART10 {' a+ j# \  R
29     #define LOG_INIT() do {                                     \
) H& v! g* c2 v% {# Y 30         PSCModuleControl(SOC_PSC_1_REGS, HW_PSC_GPIO,           \
' Q' E+ P' K# @ 31                          PSC_POWERDOMAIN_ALWAYS_ON,             \# n* q$ w' p2 }% |
32                          PSC_MDCTL_NEXT_ENABLE);                \
/ x7 l- S5 Y3 e5 K 33         GPIOBank6Pin12PinMuxSetup();                            \
7 j6 I# E6 @3 u/ \! |. t 34         GPIOBank6Pin13PinMuxSetup();                            \1 S5 g/ ^+ k& z+ t  F3 r; j5 n
35         GPIODirModeSet(SOC_GPIO_0_REGS, 109, GPIO_DIR_OUTPUT);  \0 k. d7 L4 F( d4 G
36         GPIODirModeSet(SOC_GPIO_0_REGS, 110, GPIO_DIR_OUTPUT);  \
% i  q7 }% Y$ q 37         UARTStdioInit();                                        \
* E) ], b, E0 t* i 38     } while (0)5 \$ ]! m' ^8 D1 C
39 #else
4 D; T* Y, D" a4 J5 P 40     #define LOG_INIT() do { } while (0)
- J! ~0 m2 N; U$ A- { 41 #endif" {& N' @/ ]/ O) k
42
' J& S' E* [* F, D3 S4 C9 s7 f 43 /* Log Output */
) @6 s! G& T$ l: ^" u$ ] 44 #define LOG_INFO(format, ...)      \
. W; b0 _( @" o" ]9 N 45     do {                           \
3 n4 {) g' T- o, { 46         OUTPUT("[%s|%s@%s,%d] " format "\n", "INFO ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
7 s% y# r  @; ~3 T* v' L 47     } while (0)1 p) S& ~$ R  `# I  `
48 ; }: J) m3 b" z
49 #define LOG_ERROR(format, ...)     \% ~1 I% n7 y0 l3 h# R3 R/ [
50     do {                           \
3 `* S+ R5 s: j7 x; u0 S 51         OUTPUT("[%s|%s@%s,%d] " format "\n", "ERROR", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \. E+ r9 n! x7 n3 {
52     } while (0)
9 {1 d% b8 n) d 53
" g$ t; |  ~  Z" a 54 #define LOG_DEBUG(format, ...)     \
' H  v8 y- S4 X; d6 _  A2 L 55     do {                           \8 e, y% s$ V$ X
56         OUTPUT("[%s|%s@%s,%d] " format "\n", "DEBUG", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
% a+ R9 z# ^  r- v9 D6 z 57     } while (0)! y. K2 E; p* y  ~1 r1 E
58   g* ?2 Q* N' Y
59 #define LOG_WARN(format, ...)      \0 r5 A0 W7 B; K4 i- }1 Z
60     do {                           \$ a- D- o8 H: }( z6 A
61         OUTPUT("[%s|%s@%s,%d] " format "\n", "WRAN ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \6 \/ t5 j! i" n7 g. P
62     } while (0)
& H8 ~4 k  j; X7 L% a 63
0 f( z6 t& J+ x/ F: y& e2 P 64 #define LOG_TRACE(format, ...)     \
# b& U2 G) E+ q0 i' c 65     do {                           \
5 r! v  v( Y+ u6 `# Q# W* R 66         OUTPUT("[%s|%s@%s,%d] " format "\n", "TRACE", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
7 f9 u# b6 A, @7 W9 g2 W 67     } while (0)( X, a3 C3 T( P9 a! [$ `+ I
68
* v. M7 ~$ V( d7 _ 69 #define LOG_FATAL(format, ...)     \! Y2 p% |- q3 o/ }$ {: t
70     do {                           \% \3 g$ N1 C3 I6 {# I( A8 |
71         OUTPUT("[%s|%s@%s,%d] " format "\n", "FATAL", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \# ^7 t  B& r! `6 M3 i
72         exit(1);                   \
. q$ X6 L( S3 L7 M0 h0 x0 L9 U 73     } while (0)' z) A2 L4 ]9 Y' M
74 3 E% B0 E! k0 w6 k8 r
75 /* Assert */
" o. o% x" M$ w6 o# k 76 #define ASSERT(EXP)                \& Q% z2 I, m2 l/ b! F: V) [; l
77     do{                            \
' {  O7 m! V% l' j/ p 78         if (!(EXP)) {              \
* w# ~# Y/ W+ m 79             OUTPUT("[%s@%s,%d] ASSERT: " #EXP "\n", __func__, __FILE__, __LINE__ );                  \
6 U+ n1 W$ L6 a" o, p% q% N1 ~ 80             exit(1);               \* q6 {7 Q8 j9 H% F9 c# t" c
81         }                          \
) ]+ R5 S. Y: O, J 82     } while(0)
  Z4 x' I! S2 R; {- z; o 83
4 a0 a. J0 M* C, u 84 #endif( X" G4 k9 i' G+ |5 d& y2 l
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
板凳
发表于 2014-12-4 14:03:10 | 只看该作者
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏
+ w9 n0 z# \) Z& m
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
地板
 楼主| 发表于 2014-12-4 15:21:54 | 只看该作者
tenny 发表于 2014-12-4 14:03
" h+ _7 L. g' o$ W7 g修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏
  p" V. Z2 w. r
你好,是arm这一端的app
7 z) v6 N7 |: G" s5 A
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
5#
 楼主| 发表于 2014-12-4 15:40:21 | 只看该作者
tenny 发表于 2014-12-4 14:036 }! `' ]' U9 ^- X8 z, g" [
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏
* W; B, o7 E- D, c+ |0 J7 O
你好,你是不是将host/app下的log.h和dsp/driver下的log.h和到一块啦,怎么说下你的思路0 @  B6 d2 m( G$ `  T! A+ Z! B' R
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
6#
发表于 2014-12-4 15:59:03 | 只看该作者
arm 端的 log 并没有用到 uart1# I( F7 I2 P9 J0 q! J. y# J, d
dsp 端的 log 才使用了 uart1. D1 q8 V- W5 r2 T
所以,你需要也只需要修改的是 dsp 子工程的 log.h(新版本的代码 是在 dsp/app/log.h,旧的是在 dsp/driver/log.h)
8 p/ v1 ~7 s$ y3 @+ @$ T
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
7#
 楼主| 发表于 2014-12-4 17:19:24 | 只看该作者
tenny 发表于 2014-12-4 15:59
$ U! k- t7 i& S  G0 qarm 端的 log 并没有用到 uart1, v( f6 F* S# x; p) O3 S' U: ?7 w
dsp 端的 log 才使用了 uart1" C7 t( S* h. D; v9 ^5 w) x
所以,你需要也只需要修改的是 dsp 子工程的  ...
1 \, r- w! I/ B  w
那我是不是将你贴出的那段代码,替换DSP/driver下的log.h就可以是吧,
5 u, b% i/ b# H' b1 ]# f9 U) @然后将#define OUTPUT_TO_UART1 1 换成
4 k3 k; i+ J4 e5 [#define OUTPUT_TO_UART1 0
+ D- u2 ]) ]& H2 N: t' |+ g  是不是这样
$ q( w6 d9 X8 [% C1 R7 v$ m1 M: U) m/ ]# j! i& f, `+ P' V1 X8 f
. ^3 p) k6 m3 |

& ?- G3 d- [, u; ~4 x5 o( o1 }7 Q7 r
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
8#
发表于 2014-12-5 09:25:09 | 只看该作者
  b2 Z, F; D4 h# Z
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

点击跳转“创龙科技服务通”

QQ|手机版|小黑屋|嵌入式开发者社区 ( 粤ICP备15055271号

GMT+8, 2026-3-24 18:38 , Processed in 0.041086 second(s), 25 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

快速回复 返回顶部 返回列表