请问怎样可以解除DSP端输出信息对占用串口1的占用 - OMAP-L138 - 嵌入式开发者社区 - 51ele.net
设为首页收藏本站

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
跳转到指定楼层
楼主
发表于 2014-12-4 11:08:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
你好我现在用的你们的omapl138开发板,跑的双核通信的程序,我现在需要通过串口一向外部发信息,但是串口一被DSP占用了,我怎样才能解除DSP占用呢- v! ^: C2 K- z; Q/ q
( X0 `% \6 N+ Z1 W9 v5 i
) R: V& l1 Z+ T3 l
谢谢* Z1 D2 D  N' ]
9 m% e0 w6 S# v* Q  g; c& _* S' b4 R

& w$ J7 q9 j7 t3 p
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
沙发
发表于 2014-12-4 14:01:26 | 只看该作者
  1 #ifndef _LOG_H_
3 `! p/ S/ q. k  2 #define _LOG_H_
3 o# m/ R% v9 S7 n/ |$ E  3 * O4 q* U' b6 w( b4 X3 M0 S; |
  4 /* 0: printf; 1: UART1 */
1 X8 W/ W- ^0 t" o. w  5 #define OUTPUT_TO_UART1 1
/ h* o! [% q8 H' `9 R. q" s& Y6 N
  6 & [0 F9 K9 F- \  @9 {/ n: @
  7 /* Switch Log Output */
' j* H( \  T7 n  8 #if OUTPUT_TO_UART1$ ^% V1 z* ?/ \. `
  9     /* For UART1 Initial */
( |- k# X% k$ `' ` 10     #include <stdlib.h>
! S2 h" B! d. v9 h' [) R6 B 11     #include "hw_types.h"  * L' |$ U4 d: d
12     #include "hw_syscfg0_C6748.h"
  \2 X) Q0 M4 t2 H8 u  C9 F 13     #include "soc_C6748.h"
+ t* W4 W* d& I 14     #include "psc.h"               2 H; R- X& |; l
15     #include "gpio.h"               5 e. L: L2 j& h, S4 e% O  o* v/ l
16     #include "uart.h"5 N- N3 B6 n" p/ e
17     #include "uartStdio.h"3 }3 j+ w  y4 l4 o7 _4 |& \/ h* z
18
( E. y) h0 H2 ?* m6 V. @6 T' w8 e 19     #define OUTPUT UARTprintf
- Y. H& T! Q* D! A/ O( t" s 20 #else2 H/ l8 b% z  @, S4 S7 c
21     #include <stdio.h>2 y$ S- j+ C1 {
22     #include <stdbool.h>
$ y1 c, A0 C& N5 G# h) q8 {$ o 23 7 E  N& x6 u) l0 P% Y
24     #define OUTPUT printf& ^* x) y1 H0 m2 i- ?/ j8 ^. L8 f" B
25 #endif
8 Z; ]6 @) J6 Z; ?' L8 M 26 $ _% T1 h! s; c6 G( z- q% Q0 C
27 /* Log init */
! s& ~9 Q: N  U9 W( v; v 28 #if OUTPUT_TO_UART1
, T* ?7 {7 Y& l7 i) T% L7 X 29     #define LOG_INIT() do {                                     \
; Y0 [" M2 j  E" m8 R1 d9 l% u8 H 30         PSCModuleControl(SOC_PSC_1_REGS, HW_PSC_GPIO,           \
8 }; t4 H2 Z. E 31                          PSC_POWERDOMAIN_ALWAYS_ON,             \
* `- x0 m' c  v% T+ k5 a, T 32                          PSC_MDCTL_NEXT_ENABLE);                \3 B8 L5 z' g" d, p, j6 v  x4 v' t
33         GPIOBank6Pin12PinMuxSetup();                            \
  O3 I( V' f4 j, o 34         GPIOBank6Pin13PinMuxSetup();                            \
' `/ q" y" D, a" P 35         GPIODirModeSet(SOC_GPIO_0_REGS, 109, GPIO_DIR_OUTPUT);  \$ j0 W2 _& Y4 Y; O, e
36         GPIODirModeSet(SOC_GPIO_0_REGS, 110, GPIO_DIR_OUTPUT);  \
; |% [; S2 T% K* h: ]$ t5 L( |5 L 37         UARTStdioInit();                                        \# e3 A+ P  O/ [; R1 W
38     } while (0)
: \! K) Y7 Q+ ^5 o" x/ u9 O 39 #else
, R1 |, q- G4 N6 H  L2 {& R4 Z 40     #define LOG_INIT() do { } while (0)+ b- v9 X, O9 r3 a+ w( f6 {* y
41 #endif) Z; x/ n2 C1 ?, f  Y: o
42
, S8 e5 @! ^( O* T+ S, x 43 /* Log Output */
/ N3 r; v; V3 {! F6 l( L0 M 44 #define LOG_INFO(format, ...)      \
; `& v) b: I" g/ A) |; ] 45     do {                           \- {0 s; X$ H5 @$ \
46         OUTPUT("[%s|%s@%s,%d] " format "\n", "INFO ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \3 X3 ~7 H7 A/ l$ {( A! ]
47     } while (0)( [* w" X! B1 i. E( S0 E( c' z! S
48 ) g+ ^0 m) C0 f2 Y  ~+ G; }
49 #define LOG_ERROR(format, ...)     \
$ v7 C# P% |8 Q0 z& ~; H 50     do {                           \. M! C! C4 w; \
51         OUTPUT("[%s|%s@%s,%d] " format "\n", "ERROR", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \/ y+ ?/ c# h2 V1 c$ r; _
52     } while (0)
) v" X7 X  O; O! {: K; G 53
$ A! {, t1 t5 w5 c. i 54 #define LOG_DEBUG(format, ...)     \( }* Y; \- e7 ~2 F( d' `9 C4 r% O( b
55     do {                           \' t4 p, T% z) Z# ?+ l3 m, ^
56         OUTPUT("[%s|%s@%s,%d] " format "\n", "DEBUG", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
) P0 ?% N+ _  i! K# Y+ [; s 57     } while (0)
* C7 _; I4 f" m1 q' J. h 58
, c5 c8 O! Z8 V 59 #define LOG_WARN(format, ...)      \& v3 f# ^8 k- c! M+ S6 ]
60     do {                           \
% C6 @  ?2 N+ C2 g 61         OUTPUT("[%s|%s@%s,%d] " format "\n", "WRAN ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \8 U) f" T5 F1 q& a0 |5 C! y' s
62     } while (0)% x; m3 `* b, R- [9 n
63
' |2 _# l. V- }7 j4 e5 |) q 64 #define LOG_TRACE(format, ...)     \
. k( K+ x$ N% m  q5 [ 65     do {                           \6 V( U0 M" u* v# n
66         OUTPUT("[%s|%s@%s,%d] " format "\n", "TRACE", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
6 c6 j7 |  H0 C. `7 g; f$ W 67     } while (0)
1 v4 U* k/ }6 q+ x; [ 68
6 \: e# V' n6 I, b* u& c* F' u 69 #define LOG_FATAL(format, ...)     \! Q8 d' b/ }& E$ X4 C/ r
70     do {                           \
" Z* ~+ y1 K2 B' T- u 71         OUTPUT("[%s|%s@%s,%d] " format "\n", "FATAL", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \- M4 E/ p, i4 b' {0 k
72         exit(1);                   \
( Z, f% I0 Z' F* N" N+ G" Y 73     } while (0)& ~- }& i+ ?. J
74 3 a5 p4 b* T6 X( }( y! g
75 /* Assert */% M$ F. U- P2 \
76 #define ASSERT(EXP)                \* J$ ^! n2 P$ V* F
77     do{                            \# j. O, S7 y& N' d- E/ Q) d7 R
78         if (!(EXP)) {              \
2 S% i+ \$ ^, s 79             OUTPUT("[%s@%s,%d] ASSERT: " #EXP "\n", __func__, __FILE__, __LINE__ );                  \$ {; W* o4 K! v6 N4 F; v
80             exit(1);               \
5 f) ]4 y1 {! S 81         }                          \1 `' N# Y* k% A
82     } while(0)
& }+ T% ^8 I2 u( \5 ^ 83
% r+ O9 S& t0 i5 Y 84 #endif( c& l% E2 I3 g5 u7 {. ^
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
板凳
发表于 2014-12-4 14:03:10 | 只看该作者
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏
% Q- Y' L4 a) s1 t( r
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
地板
 楼主| 发表于 2014-12-4 15:21:54 | 只看该作者
tenny 发表于 2014-12-4 14:03; W# o& r9 l' z! M
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏
4 ?; Q- Z' c$ X: \) Z" s' v- I
你好,是arm这一端的app: V" r$ Z! e0 h& d0 g' N$ j
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
5#
 楼主| 发表于 2014-12-4 15:40:21 | 只看该作者
tenny 发表于 2014-12-4 14:03/ }6 ]; m2 ?) W- [0 ~' v
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏
2 }8 b# ]7 z# M# p9 V
你好,你是不是将host/app下的log.h和dsp/driver下的log.h和到一块啦,怎么说下你的思路8 a0 y* R' s$ z; o% Y3 @( Z+ T! O; S& {
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
6#
发表于 2014-12-4 15:59:03 | 只看该作者
arm 端的 log 并没有用到 uart1
6 y2 X; X& i7 v! b7 z; j6 F# hdsp 端的 log 才使用了 uart1
$ h/ O  s( N" |& M% V0 w! t所以,你需要也只需要修改的是 dsp 子工程的 log.h(新版本的代码 是在 dsp/app/log.h,旧的是在 dsp/driver/log.h)
+ e4 M7 x/ U9 o; N1 V( ]
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
7#
 楼主| 发表于 2014-12-4 17:19:24 | 只看该作者
tenny 发表于 2014-12-4 15:59) m( G8 n5 ~: h/ B& Y; c% N' X% B
arm 端的 log 并没有用到 uart1
+ l7 v: ^# z) Qdsp 端的 log 才使用了 uart1
2 D* E4 Z5 w" U) p( {$ N所以,你需要也只需要修改的是 dsp 子工程的  ...

' j/ K2 z, l  H. f' }那我是不是将你贴出的那段代码,替换DSP/driver下的log.h就可以是吧,. @( s& ?$ J* R, s
然后将#define OUTPUT_TO_UART1 1 换成
0 {  A7 J- x+ B! ~! L+ y#define OUTPUT_TO_UART1 0
  ]: r* \& V8 ^! L) T- O9 z  是不是这样2 L, f) c5 ?% F. U/ |8 _6 P

) U1 M4 C- k1 F7 h
1 i  F* {4 A$ J" J/ C1 _/ t* O, b6 m% I* W
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
8#
发表于 2014-12-5 09:25:09 | 只看该作者
8 X7 J# H; b! |* D
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-8-4 21:39 , Processed in 0.042995 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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