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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

8

主题

30

帖子

150

积分

注册会员

Rank: 2

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

) G  W( h8 D; {+ r* s! _8 j6 n7 H0 k" V
谢谢3 S! {& g  [% [! T" i* z# a

5 f" q5 ?; z" _! L
1 M: t. p8 e1 Z" w
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
沙发
发表于 2014-12-4 14:01:26 | 只看该作者
  1 #ifndef _LOG_H_
: ~0 L; {6 g; N8 B* D* \: T- ]  2 #define _LOG_H_
% j6 h: a/ {" N* ?8 `6 p$ B! d- a  3 * t# q( x0 q% H. p( ^
  4 /* 0: printf; 1: UART1 */$ T. F1 H$ r9 p$ ~: X1 ~6 ?
  5 #define OUTPUT_TO_UART1 1
5 f% R/ @& C; {- w# g5 j6 E) L
  6
% D; Z! b! u1 l  7 /* Switch Log Output */* O: d; G8 @% u
  8 #if OUTPUT_TO_UART1
9 S& b# k3 k" T! H' M1 Y* T* g$ ]  9     /* For UART1 Initial */. q7 F+ z: c4 K- |; B: c  P/ t
10     #include <stdlib.h>
' H- n* F0 T5 ]2 l' a, `% T6 G# W 11     #include "hw_types.h"  2 a- C8 y. `) N- S" ?, m) P* k
12     #include "hw_syscfg0_C6748.h"7 i. p' T( s1 S! q
13     #include "soc_C6748.h"
% g& Y7 V8 k$ W5 j1 T5 t4 o6 W( J 14     #include "psc.h"               2 {! G& A& J2 Y. j6 K3 Q
15     #include "gpio.h"               8 c& o! Y  @( d
16     #include "uart.h": `; z4 M( N0 c6 e
17     #include "uartStdio.h"/ b" V/ ^1 B0 w1 S
18
2 O; W7 P3 @6 A5 o2 ` 19     #define OUTPUT UARTprintf
3 T0 Q4 r" C# Q! y2 A 20 #else9 R- _; n1 \7 m( s3 ?, M
21     #include <stdio.h>3 n! f2 q1 V3 ~  `6 r
22     #include <stdbool.h>$ i& ?3 ]  N$ R' f7 W
23
  l5 c8 s9 x/ v9 ]  c7 J3 x7 r6 x% p 24     #define OUTPUT printf/ u- Y" Q: X7 P6 S
25 #endif
- i- a( X* J6 Z- Q. e 26 * V/ b3 H6 D8 q  U: {! _
27 /* Log init */
* J7 c6 S  z% I; N( ^! M$ d8 s) l 28 #if OUTPUT_TO_UART1
; u' d/ G6 \. u: J 29     #define LOG_INIT() do {                                     \3 T( B* Z: @& X1 L9 r( g* e
30         PSCModuleControl(SOC_PSC_1_REGS, HW_PSC_GPIO,           \
! |% H; ^! [6 x 31                          PSC_POWERDOMAIN_ALWAYS_ON,             \
: n. J8 }2 A( J4 U8 l0 f$ ? 32                          PSC_MDCTL_NEXT_ENABLE);                \6 v- r9 }) i6 k% u8 ~4 v- S( H
33         GPIOBank6Pin12PinMuxSetup();                            \
$ h4 t' v8 D( g) H+ T2 z 34         GPIOBank6Pin13PinMuxSetup();                            \
9 b& P* I: q$ g- n( S6 g 35         GPIODirModeSet(SOC_GPIO_0_REGS, 109, GPIO_DIR_OUTPUT);  \: F% F  D! _( @! ~  E* x
36         GPIODirModeSet(SOC_GPIO_0_REGS, 110, GPIO_DIR_OUTPUT);  \
3 ]% {( X" {! G# r! ^# B8 F 37         UARTStdioInit();                                        \
2 M4 |) @# G$ ], Y' I$ U 38     } while (0)8 Y7 b' G# _" d7 b8 x$ S; L
39 #else. _6 g0 j5 V# l
40     #define LOG_INIT() do { } while (0)- M5 n2 g. Y' Z- f# Z; l
41 #endif
: r3 L( x' ~! W# q. i: p 42
2 q; l7 K% a2 w 43 /* Log Output */
, ~5 u. u) \# d; y, e6 Y 44 #define LOG_INFO(format, ...)      \: t) ~! d. v, j/ f* U+ K7 k: r
45     do {                           \
$ t1 g0 P8 }5 u- I- \ 46         OUTPUT("[%s|%s@%s,%d] " format "\n", "INFO ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
6 s2 K; D6 S5 C+ A" j" D9 j 47     } while (0)* b4 Z. q/ n0 p3 c
48 1 q1 _: z' N* Q* u  J
49 #define LOG_ERROR(format, ...)     \3 V! R' D3 P( m6 R
50     do {                           \
, X5 a+ ?# ?0 i3 U" m( ^ 51         OUTPUT("[%s|%s@%s,%d] " format "\n", "ERROR", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
+ S6 b5 E  n8 ^- J$ j1 C 52     } while (0)7 P& ?' M6 z0 m) k
53 ' v' t4 L$ V) F. i+ K$ Q( _9 r; m
54 #define LOG_DEBUG(format, ...)     \
+ z# n( r+ c) m6 u 55     do {                           \
& B4 ~% P* S% X8 k3 Y$ h% I 56         OUTPUT("[%s|%s@%s,%d] " format "\n", "DEBUG", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \2 m7 w6 A( r$ i* v7 D; x& v. j
57     } while (0)7 Y* {/ z( N" M, N! W
58
  o( P7 y5 K$ P 59 #define LOG_WARN(format, ...)      \* _- E9 ~* C+ l
60     do {                           \
6 r  v! h& d9 S0 ` 61         OUTPUT("[%s|%s@%s,%d] " format "\n", "WRAN ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
( @$ G$ O# A1 G: f' t" @+ I 62     } while (0)6 R: z- w( d" T3 j9 [
63
. m7 q( f) f" }3 j* F 64 #define LOG_TRACE(format, ...)     \
) c1 z& _8 J& q- x6 z! B0 q 65     do {                           \, U- T1 Z" G9 i- j, ^
66         OUTPUT("[%s|%s@%s,%d] " format "\n", "TRACE", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
+ u/ h! @) B, G5 K2 R& l 67     } while (0)0 W% G$ p# T0 S8 C6 T
68 $ j& E7 g& r  Y; l! v) S* F" c5 S
69 #define LOG_FATAL(format, ...)     \
9 T+ Q2 W, v0 M9 b1 b% ? 70     do {                           \
  _' u  L- k9 O) k" [+ F1 F" R# t7 g 71         OUTPUT("[%s|%s@%s,%d] " format "\n", "FATAL", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \7 d. L& ]8 E. b7 x
72         exit(1);                   \
4 q: f! `# m, J# ?& e 73     } while (0)
- n5 `8 D; v3 E, a$ F+ l 74 4 x2 F* e4 u3 P! C* r  T( M8 ^9 t
75 /* Assert */& s) ?. D. }/ A& D* g. J  X! ~$ E
76 #define ASSERT(EXP)                \( Z5 f: {/ d) L/ M1 X" D4 \8 u# H' ^
77     do{                            \
+ S4 J  c5 L3 E1 G 78         if (!(EXP)) {              \3 M, x# p6 \& \
79             OUTPUT("[%s@%s,%d] ASSERT: " #EXP "\n", __func__, __FILE__, __LINE__ );                  \
+ W8 M2 ?$ {; n# R 80             exit(1);               \/ f6 s' I- Z! q
81         }                          \( L* s& H/ e% q0 I: q
82     } while(0)8 G) S3 b3 R0 m
83
$ a" u9 _/ z' D) J, ~! v4 O 84 #endif# L5 i5 h2 \- T! A
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
板凳
发表于 2014-12-4 14:03:10 | 只看该作者
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏
( w% Z; C# @3 y3 B! y
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
地板
 楼主| 发表于 2014-12-4 15:21:54 | 只看该作者
tenny 发表于 2014-12-4 14:03
0 U2 i7 a+ e* E4 @修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏

7 o+ v* E* P+ F! E- _" N你好,是arm这一端的app" M. b8 @) t) \
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
5#
 楼主| 发表于 2014-12-4 15:40:21 | 只看该作者
tenny 发表于 2014-12-4 14:03
' {/ M* C! B  z; x: j- p修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏

  I* s  u& J. b' `$ E你好,你是不是将host/app下的log.h和dsp/driver下的log.h和到一块啦,怎么说下你的思路
" `) j0 P& \! `6 z% N0 ?) k! ]! `
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
6#
发表于 2014-12-4 15:59:03 | 只看该作者
arm 端的 log 并没有用到 uart1
5 M$ J9 K0 \: Hdsp 端的 log 才使用了 uart1
& g& T2 Y- q# p/ }1 z3 m% e所以,你需要也只需要修改的是 dsp 子工程的 log.h(新版本的代码 是在 dsp/app/log.h,旧的是在 dsp/driver/log.h); H8 q0 b! z! U7 t
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
7#
 楼主| 发表于 2014-12-4 17:19:24 | 只看该作者
tenny 发表于 2014-12-4 15:591 T# }3 x2 b. R
arm 端的 log 并没有用到 uart1+ t$ p) [; L- c9 w
dsp 端的 log 才使用了 uart14 |( X9 S) G: r1 }; E4 f' F" y
所以,你需要也只需要修改的是 dsp 子工程的  ...
2 a, U( W2 j5 A5 x, y
那我是不是将你贴出的那段代码,替换DSP/driver下的log.h就可以是吧,/ P6 l: b9 r$ t: |+ `  |
然后将#define OUTPUT_TO_UART1 1 换成
, ], K3 V0 L0 s! K2 _#define OUTPUT_TO_UART1 0
6 ^7 E  j" w( c( r8 ^9 P  是不是这样4 s2 a7 J1 w4 M8 D; O% a
0 r& l3 o" ~5 R# C
5 M7 B; Q" ^* h4 _4 Z2 }
9 m( L- a1 Y' X$ k
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
8#
发表于 2014-12-5 09:25:09 | 只看该作者
( r4 h, L* }. g* m
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-12-14 17:39 , Processed in 0.061047 second(s), 23 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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