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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
跳转到指定楼层
楼主
发表于 2014-12-4 11:08:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
你好我现在用的你们的omapl138开发板,跑的双核通信的程序,我现在需要通过串口一向外部发信息,但是串口一被DSP占用了,我怎样才能解除DSP占用呢5 j* U5 n9 ^* U+ L
" |* q. N7 \4 r0 s1 B8 p$ d  A: d
% e6 [  V1 P2 Q0 L/ b
谢谢
6 R, x- r. O3 f/ t$ C+ e" i5 i! @0 D4 a

, ]* K) E, A2 S& c8 h" p7 _
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
沙发
发表于 2014-12-4 14:01:26 | 只看该作者
  1 #ifndef _LOG_H_
) r3 y- j4 y  s9 n+ q5 ?5 G  2 #define _LOG_H_
/ B+ r9 l8 h$ m0 M  3
4 R9 n- e; j/ K6 Q5 W7 x( N  4 /* 0: printf; 1: UART1 */
9 @  O$ Y2 k/ ]& b0 p1 F! y  5 #define OUTPUT_TO_UART1 1: ]* k6 N" }) \7 a0 B% ]
  6 & C  O" e/ ]9 v
  7 /* Switch Log Output */( T$ G9 ^0 D8 g( M, T3 f
  8 #if OUTPUT_TO_UART1
/ P" j# a! }0 B; q, Z  9     /* For UART1 Initial */( u% d+ \( ~, I7 i* _0 ?) R
10     #include <stdlib.h>8 q- H2 B/ L7 I" y! ]3 g/ W% S
11     #include "hw_types.h"    i; P/ Y7 o+ {
12     #include "hw_syscfg0_C6748.h"3 d+ V& l6 k4 Z& P, c( R
13     #include "soc_C6748.h"4 `+ U6 A8 r/ g9 c% P8 w2 e( c
14     #include "psc.h"               : p9 m: b: A! k0 z! Z) B2 O" ?
15     #include "gpio.h"               
. n, `0 G+ u9 }% |; r2 _ 16     #include "uart.h"
$ o8 O2 |4 b. Q7 y" M7 J. M% x) T5 E 17     #include "uartStdio.h"/ G" r9 ~/ Z' c7 B, a9 B! U" r
18
* F7 s+ g) ~4 S, [/ i 19     #define OUTPUT UARTprintf. p6 A% e( D* J# V8 I) C5 r
20 #else
3 n# y' `! v8 f4 S6 P' X8 a' P 21     #include <stdio.h>' ~  O2 l. n2 j3 v4 ]: s& W$ v
22     #include <stdbool.h>
: F" y& |. P0 t+ O$ \! H" x 23
  P/ o& ?3 l/ I: P2 _: P5 r 24     #define OUTPUT printf6 q& L9 c9 D5 a) M
25 #endif6 y7 S7 C2 v* P, H6 J7 y
26 $ K$ m: K( Q9 Y3 @
27 /* Log init */; |% M8 l% P4 Z. D  v$ [- h, ^& w- F
28 #if OUTPUT_TO_UART11 |' c- f, A7 N; d2 ?
29     #define LOG_INIT() do {                                     \" b; S2 p; |" u
30         PSCModuleControl(SOC_PSC_1_REGS, HW_PSC_GPIO,           \
* l# T& X4 }' R7 _' x3 I) g; e 31                          PSC_POWERDOMAIN_ALWAYS_ON,             \
+ ]8 T% }6 F* f# {1 V 32                          PSC_MDCTL_NEXT_ENABLE);                \
0 i  K+ `! O" c7 i2 i2 B 33         GPIOBank6Pin12PinMuxSetup();                            \
8 h- ^4 Q/ y# v4 |2 A, }3 n2 N 34         GPIOBank6Pin13PinMuxSetup();                            \4 B1 L9 ^+ c/ t+ ]
35         GPIODirModeSet(SOC_GPIO_0_REGS, 109, GPIO_DIR_OUTPUT);  \
# N9 E" L# h+ c6 t( F 36         GPIODirModeSet(SOC_GPIO_0_REGS, 110, GPIO_DIR_OUTPUT);  \9 n/ q+ u! o! N6 O
37         UARTStdioInit();                                        \
* v% g( ^9 s* [9 P/ K 38     } while (0)8 @% `: r$ \# L* m) m: I( ]+ A2 e
39 #else
7 a5 V$ S5 R/ y, x8 s 40     #define LOG_INIT() do { } while (0)* u) }0 D6 h0 B6 ?! ?6 L& R
41 #endif8 E; b7 P# i0 `* A$ j$ P" m
42 ; o, W# j6 R# I; S/ P! E
43 /* Log Output */; l+ q3 _+ n! w$ `! k* {( b
44 #define LOG_INFO(format, ...)      \
- m5 k, u+ @' R1 X4 G. k 45     do {                           \1 z. D0 ~. }( [6 j& A$ M
46         OUTPUT("[%s|%s@%s,%d] " format "\n", "INFO ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \7 ?  h; y( E, P+ A4 A
47     } while (0), L1 {, ?2 k$ S& v: ^& E8 S
48 7 A3 w* r5 t# m( W( S0 r( `
49 #define LOG_ERROR(format, ...)     \
4 D- _# T3 C8 t3 T4 F% @9 O 50     do {                           \# X# c( D0 A8 G
51         OUTPUT("[%s|%s@%s,%d] " format "\n", "ERROR", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \1 \7 h0 h8 [" g% S* h) ~# \" a
52     } while (0), U' u5 {9 ]9 G! v* R
53
7 r; M: C4 |: m  G* \9 H. p 54 #define LOG_DEBUG(format, ...)     \
, k/ K* l* s, t5 i% ]7 d 55     do {                           \
) y6 U7 l" j* K6 `) @ 56         OUTPUT("[%s|%s@%s,%d] " format "\n", "DEBUG", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
9 a" y+ M0 F2 h+ V: i4 c. P6 p 57     } while (0)
, O! w3 g! K1 m$ r; l 58 3 @1 C6 C7 d% m$ B; L6 t
59 #define LOG_WARN(format, ...)      \
0 T6 a7 |. z  D2 X( P 60     do {                           \# w' }/ f! [& [& [8 Q% ?! v$ w4 C
61         OUTPUT("[%s|%s@%s,%d] " format "\n", "WRAN ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
3 o4 b% s& S" W 62     } while (0)
' ~5 Y( T4 ~6 r3 p+ k 63
* `# `7 Y: I- H3 I5 @# o 64 #define LOG_TRACE(format, ...)     \
& Y8 K& K3 l! ]2 J* ~ 65     do {                           \
7 m" n: v: ?) l) d5 }& o: a 66         OUTPUT("[%s|%s@%s,%d] " format "\n", "TRACE", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
9 W1 a) ~2 g+ ]7 Z% u7 ]" p) i 67     } while (0)7 ?% |. X# J" G/ _
68 2 D+ n" n7 Y) \8 ^4 t) J
69 #define LOG_FATAL(format, ...)     \5 {: v; p7 {/ {+ ?6 x
70     do {                           \
8 [6 d4 |, S1 |$ b- O* g3 s7 Z 71         OUTPUT("[%s|%s@%s,%d] " format "\n", "FATAL", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
: z$ {# k  W4 V7 c& C( K 72         exit(1);                   \
2 A0 `% e) [) O$ `$ x$ u+ B 73     } while (0)
! ]2 ?; f7 a  }% y6 e 74 0 R9 s0 f. z+ S+ s( h: i
75 /* Assert */$ N3 r8 u- l, J# p
76 #define ASSERT(EXP)                \
' h- n, q9 Z1 s3 h) y/ z4 n' H 77     do{                            \6 y' J* h. n3 b$ J' Z  p
78         if (!(EXP)) {              \
0 C( B1 L: E4 @, f# q$ t 79             OUTPUT("[%s@%s,%d] ASSERT: " #EXP "\n", __func__, __FILE__, __LINE__ );                  \8 J) T3 L9 |" ~
80             exit(1);               \6 D6 T/ L% `# q( Y2 F4 N- L2 M' R& E) p
81         }                          \
; Y& Q' ?+ f+ l( N 82     } while(0)+ r5 S1 \2 i' \( p) ]- E- l5 P
83
4 h/ q3 w2 i, `1 l+ f7 H4 F 84 #endif( X1 x- M7 @, a" n$ Y
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
板凳
发表于 2014-12-4 14:03:10 | 只看该作者
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏
3 h7 x: m1 S: h% ?/ \
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
地板
 楼主| 发表于 2014-12-4 15:21:54 | 只看该作者
tenny 发表于 2014-12-4 14:03
0 F: J" p# b5 H! K) p5 r5 _修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏
! i" |8 h  q) ^3 h8 Q: ?
你好,是arm这一端的app
% M% b1 e- }/ C9 O- L: E
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
5#
 楼主| 发表于 2014-12-4 15:40:21 | 只看该作者
tenny 发表于 2014-12-4 14:03
1 D+ m  l" ^/ c" t/ T修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏
8 K; \- l6 g1 H; c
你好,你是不是将host/app下的log.h和dsp/driver下的log.h和到一块啦,怎么说下你的思路0 z' Z  q8 w4 ?, {, t
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
6#
发表于 2014-12-4 15:59:03 | 只看该作者
arm 端的 log 并没有用到 uart16 ]  z; m0 F# E% W7 k% F2 c
dsp 端的 log 才使用了 uart12 m! N' R) s! e, C. e1 \
所以,你需要也只需要修改的是 dsp 子工程的 log.h(新版本的代码 是在 dsp/app/log.h,旧的是在 dsp/driver/log.h)) W/ ]# `! ]  c# F9 x
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
7#
 楼主| 发表于 2014-12-4 17:19:24 | 只看该作者
tenny 发表于 2014-12-4 15:59* L0 C& c* k4 y  t- _5 e
arm 端的 log 并没有用到 uart1' O2 M% P* x( @/ ]' S) `
dsp 端的 log 才使用了 uart1
+ v0 B0 h5 Y- J$ u* h所以,你需要也只需要修改的是 dsp 子工程的  ...
- \7 H/ F; s2 t  a2 ^9 B$ s
那我是不是将你贴出的那段代码,替换DSP/driver下的log.h就可以是吧,
2 Q. J( k0 }& J然后将#define OUTPUT_TO_UART1 1 换成/ D. x) B* ]% p# u, s# m
#define OUTPUT_TO_UART1 0
: `, p5 w# o1 j" `3 i* P5 H  是不是这样
" E  M  F& X; U9 {
2 U6 O# s) C( Y( Z
- Q2 ]" o: @+ j7 i; e% t, a3 T5 ~9 s8 c" r; M( B
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

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

  e% q, [' t4 P! {: M! C1 y; d3 s
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-17 00:19 , Processed in 0.040684 second(s), 23 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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