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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
跳转到指定楼层
楼主
发表于 2014-12-4 11:08:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
你好我现在用的你们的omapl138开发板,跑的双核通信的程序,我现在需要通过串口一向外部发信息,但是串口一被DSP占用了,我怎样才能解除DSP占用呢
1 s( C' r* w; T1 m. v% K' ?* x) V* z' S) R. {+ _
5 v, L/ _+ c2 d, I
谢谢' j. ^' i! F/ m7 I1 ~- o
9 }! ]9 y# d# J$ K* G% M
& s8 P% R0 e4 b9 `, A* Z
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
沙发
发表于 2014-12-4 14:01:26 | 只看该作者
  1 #ifndef _LOG_H_6 y+ w* U& B% E* m$ ^! P& ]- f4 W3 Q' N$ i
  2 #define _LOG_H_; C  @4 k- B8 o+ V& G7 x/ ]& T
  3
/ C' d7 y5 |4 Y0 F5 I  4 /* 0: printf; 1: UART1 */
6 e$ C1 o0 j1 I7 w; j' K  5 #define OUTPUT_TO_UART1 1
: [& s1 D  `  D6 \! B
  6
5 Q9 H4 \9 e3 q4 B  7 /* Switch Log Output */6 H. l/ h7 V5 B, t0 |) O& O6 Y
  8 #if OUTPUT_TO_UART1) L9 j5 \. R5 z  j& v. R4 y
  9     /* For UART1 Initial */' I6 V# ?0 V  _/ O3 h. w4 Z- x5 I
10     #include <stdlib.h>- ~( }. l, s9 U  q# D
11     #include "hw_types.h"  
- T$ M1 L9 p; i$ @ 12     #include "hw_syscfg0_C6748.h"
6 Y* D5 ~! X/ f0 G, ?9 b& F$ e9 R6 R( R 13     #include "soc_C6748.h". l0 R( N% O! Z4 l5 u$ G& L
14     #include "psc.h"               0 u9 C! r8 Q7 B8 U3 U5 x
15     #include "gpio.h"               
* Z5 n9 G# ~1 |2 @' G4 M 16     #include "uart.h"
* G4 C$ i% C8 b" U* b 17     #include "uartStdio.h"7 e! I: `. G/ R1 i) l/ U/ e3 b
18
. F( Q4 B. |& u% n 19     #define OUTPUT UARTprintf/ K8 u7 ^8 [) R
20 #else
8 W7 A7 i- a. a/ b% T2 n 21     #include <stdio.h>2 X6 L+ w" b# n& ]7 \) v8 |
22     #include <stdbool.h>
# N  l# n" _/ D4 [7 d+ l 23
! S% M' B% g7 Z9 e2 z- H; {. m 24     #define OUTPUT printf1 [# c7 K, q% Q" B* Y; U/ J  W) Y
25 #endif
  J* Z& f, n2 `! M$ t, W- }' ~ 26 6 n# V1 q' N+ \( s* a+ U% T
27 /* Log init */( I3 f. i# ], P, r' ]4 b
28 #if OUTPUT_TO_UART1- ?$ t# @$ }( p0 j8 Q0 p5 K
29     #define LOG_INIT() do {                                     \
7 h$ @; y5 D/ a4 b 30         PSCModuleControl(SOC_PSC_1_REGS, HW_PSC_GPIO,           \" G* w, ?, O" J' M& `, ^0 W
31                          PSC_POWERDOMAIN_ALWAYS_ON,             \! u0 \6 F; v5 `
32                          PSC_MDCTL_NEXT_ENABLE);                \1 A1 G8 P' i7 B$ s
33         GPIOBank6Pin12PinMuxSetup();                            \, p6 J% D" a8 ^, u9 q
34         GPIOBank6Pin13PinMuxSetup();                            \( O* M9 O# e6 \0 r& e
35         GPIODirModeSet(SOC_GPIO_0_REGS, 109, GPIO_DIR_OUTPUT);  \
& G, t- ?% |0 t9 }( ^0 o" |  G 36         GPIODirModeSet(SOC_GPIO_0_REGS, 110, GPIO_DIR_OUTPUT);  \7 n7 u5 _& D$ I7 ^+ Y! u
37         UARTStdioInit();                                        \. `; `* X( Y7 l; r
38     } while (0)
2 l6 V3 N: N- ]! a* s$ {" p* p 39 #else( q( |; P1 D3 S6 u
40     #define LOG_INIT() do { } while (0)
4 ?, g# C$ d: `+ r! M. W- r2 ] 41 #endif; I$ e* _; \" f
42
9 z; A% ]9 d! S5 B! I 43 /* Log Output */
! t' d; O$ y+ h7 [) Z9 z/ ?/ C. D 44 #define LOG_INFO(format, ...)      \
* S6 z8 c. l" O6 ?# M; Z) g4 |- t4 ~ 45     do {                           \; {* N  ^! y8 x+ T* j, N3 _: y1 E
46         OUTPUT("[%s|%s@%s,%d] " format "\n", "INFO ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \2 S! \5 c0 y' m; |" ~$ C
47     } while (0)0 d, T6 D. x5 Z- u- Q. y6 O
48 ( l6 ~  t7 n/ k1 u( ?* d1 Y/ z
49 #define LOG_ERROR(format, ...)     \4 I3 {3 v# N. j+ f2 x3 R  T
50     do {                           \
& {" u" j: p3 x, Q4 Q6 n 51         OUTPUT("[%s|%s@%s,%d] " format "\n", "ERROR", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
6 s4 p1 x1 J) H0 U+ _' B) F) h 52     } while (0)
3 Y  U' m4 l3 U 53 % g5 ?1 o; E& G- ?3 D6 W1 R
54 #define LOG_DEBUG(format, ...)     \1 j7 e9 i* @0 t, N5 ^4 ~9 k
55     do {                           \- Y% P  N) |# S, W6 v( N: x
56         OUTPUT("[%s|%s@%s,%d] " format "\n", "DEBUG", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \( Z: m3 \" \$ ^2 D8 ?
57     } while (0)1 c! y+ H* w: \+ j
58 9 ?7 W# b# d. F; }/ ~- @( ]
59 #define LOG_WARN(format, ...)      \
! r( D* x! f) R+ V5 ^! f, i  t 60     do {                           \
2 ^& [1 [7 ]! T) J 61         OUTPUT("[%s|%s@%s,%d] " format "\n", "WRAN ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
0 `. }) U, X& l+ t8 | 62     } while (0)
! r( u; d9 E0 K9 X- o5 L. n 63 # X9 ]6 I( \1 V& i& S+ p$ `
64 #define LOG_TRACE(format, ...)     \
% k, m- T  T& }- i' R/ l# p6 @ 65     do {                           \
& B3 l- a7 j1 ^. S  S. I! I2 I 66         OUTPUT("[%s|%s@%s,%d] " format "\n", "TRACE", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
6 W" s3 \" J% x% L" W; O 67     } while (0)2 {5 P: H, E( i) b4 K
68 * w+ D( p7 r3 a5 X# k" n
69 #define LOG_FATAL(format, ...)     \5 ~7 \) X0 K: I
70     do {                           \
9 F. P% p6 S+ P4 w2 `- u6 t7 h 71         OUTPUT("[%s|%s@%s,%d] " format "\n", "FATAL", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
' Z- n$ a3 n0 f, v; g 72         exit(1);                   \
: u& O7 t* v% I' ` 73     } while (0)  \2 s# S" g& k1 G7 W+ F- v
74
$ h. R4 B$ {' ~: M5 q* L5 H: V+ x 75 /* Assert */8 H% i. _2 G/ b7 {6 P
76 #define ASSERT(EXP)                \6 @" O8 n  F- m7 n8 O
77     do{                            \2 J8 ?) E0 p2 T& v
78         if (!(EXP)) {              \
0 k% g' ?( u: i' Q" W  |0 j 79             OUTPUT("[%s@%s,%d] ASSERT: " #EXP "\n", __func__, __FILE__, __LINE__ );                  \7 D7 {% y! B9 a1 k* m; \
80             exit(1);               \; E( I& l* j  l/ |
81         }                          \% U' W% X1 T& k5 }3 h
82     } while(0)
/ H/ H4 I6 J% X% ~# C# }* N 83
% B- A% M4 s5 l( Z9 \ 84 #endif5 N) q# J) z  `/ D$ k
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

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

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
地板
 楼主| 发表于 2014-12-4 15:21:54 | 只看该作者
tenny 发表于 2014-12-4 14:03
" d4 _( G3 a  k7 I  L修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏

- Q4 B* U7 [' B你好,是arm这一端的app
2 _) w9 k# g: p2 j& @( A
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
5#
 楼主| 发表于 2014-12-4 15:40:21 | 只看该作者
tenny 发表于 2014-12-4 14:032 `; m0 {6 M& z1 `& p9 [/ |. g
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏
4 Z: |' Q: j9 a
你好,你是不是将host/app下的log.h和dsp/driver下的log.h和到一块啦,怎么说下你的思路
0 h/ M$ R* R2 V2 P( @
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
6#
发表于 2014-12-4 15:59:03 | 只看该作者
arm 端的 log 并没有用到 uart16 m' l8 s; ?0 r, A8 G! i: q
dsp 端的 log 才使用了 uart1' f$ D  Y7 i5 X' Z  R4 i
所以,你需要也只需要修改的是 dsp 子工程的 log.h(新版本的代码 是在 dsp/app/log.h,旧的是在 dsp/driver/log.h)
* g& X( p% T  t# O
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
7#
 楼主| 发表于 2014-12-4 17:19:24 | 只看该作者
tenny 发表于 2014-12-4 15:59
0 w+ }" {) G3 p5 earm 端的 log 并没有用到 uart1# ~+ U" M6 d/ l) h* h4 @# G
dsp 端的 log 才使用了 uart17 e$ v. z$ U  w7 s, b; ~
所以,你需要也只需要修改的是 dsp 子工程的  ...
1 D1 D2 v' v( F0 ?* {* C) x  H: n
那我是不是将你贴出的那段代码,替换DSP/driver下的log.h就可以是吧,
5 j9 t' ^! L: q4 }1 \) e; [然后将#define OUTPUT_TO_UART1 1 换成  g' @3 t; j( F
#define OUTPUT_TO_UART1 0/ s& u; Q  K1 v! J/ T9 W
  是不是这样$ F8 R) d7 _5 b
5 h2 f# k3 U5 Q7 A+ S4 u5 k
/ Q7 c) Y8 S% h1 w. }$ J
6 Q* A! s- T/ X/ O0 Y
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
8#
发表于 2014-12-5 09:25:09 | 只看该作者

: ]6 K! ^3 r2 v+ B
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-7-3 11:58 , Processed in 0.040722 second(s), 23 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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