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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
跳转到指定楼层
楼主
发表于 2014-12-4 11:08:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
你好我现在用的你们的omapl138开发板,跑的双核通信的程序,我现在需要通过串口一向外部发信息,但是串口一被DSP占用了,我怎样才能解除DSP占用呢0 y; z2 K8 o0 W, M( G: C3 }
  t% N0 R8 v6 @, X+ R. W, B3 q
) E% F# S* [5 a3 h1 w$ Y
谢谢
1 P$ _; |+ W& i, G1 K" z; y
/ F/ J0 [1 w0 x/ P+ s# v. C2 |* i! Z1 W6 _( h. m; B4 `
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
沙发
发表于 2014-12-4 14:01:26 | 只看该作者
  1 #ifndef _LOG_H_8 q; l; u: A/ `, G0 g$ h
  2 #define _LOG_H_
- X3 c7 u3 x2 W: x. R6 d+ `  3 ) I# }0 L/ g- O9 i( X, E' Q1 e0 J
  4 /* 0: printf; 1: UART1 */
, \8 k; r# e# }& Y% c# o/ x3 h; ^* {  5 #define OUTPUT_TO_UART1 1- t3 D& j/ W7 T2 Z2 T
  6 * g0 w) F/ ?0 Q' [1 {( Y8 @
  7 /* Switch Log Output */; r# F" ?0 Z3 q) c& A. ]- o, e
  8 #if OUTPUT_TO_UART1% g( r; U+ t4 ^
  9     /* For UART1 Initial */
9 f  R6 S% t' ` 10     #include <stdlib.h>
, |4 A+ t5 d0 F4 i 11     #include "hw_types.h"  
! y5 C7 d) D$ n2 @! A  d4 n 12     #include "hw_syscfg0_C6748.h"
5 W. |  S( H! @$ f% j0 h5 h 13     #include "soc_C6748.h"% O' p* p( V- A& E; Q0 |
14     #include "psc.h"               + j, z# m2 y7 G" m5 F! G( T. P
15     #include "gpio.h"               & T* Z& ]7 M6 O; h) [
16     #include "uart.h"
7 ^/ u! K$ W; L 17     #include "uartStdio.h"3 h. K7 v+ |  N0 m
18 % g3 t' r* J6 J$ K4 N
19     #define OUTPUT UARTprintf
+ r8 [' i% s* @% m5 g 20 #else+ y# H2 J- O' k3 x3 \; ~% F: ~
21     #include <stdio.h>
* x  \3 F. j0 j/ V/ L 22     #include <stdbool.h>; n3 P1 l2 f$ o# W4 `% d
23
( ~/ p2 [' d8 {* Q$ M$ o# Y 24     #define OUTPUT printf
6 ^6 Q8 J+ l4 B4 G# f 25 #endif
  H- M  ~, h; \2 R1 ]& Q, z, X( v 26 ) ]( a5 s) ?& k6 U
27 /* Log init */1 o* u5 f: U  Y4 _6 u8 Z
28 #if OUTPUT_TO_UART1; U4 k7 s1 X1 B/ k
29     #define LOG_INIT() do {                                     \
* z5 g: J: Z* W/ d6 b 30         PSCModuleControl(SOC_PSC_1_REGS, HW_PSC_GPIO,           \
8 O: ?# l; L3 L  C: | 31                          PSC_POWERDOMAIN_ALWAYS_ON,             \/ y: w- p1 W/ C" o
32                          PSC_MDCTL_NEXT_ENABLE);                \; |  A- m. R6 y  @: b
33         GPIOBank6Pin12PinMuxSetup();                            \
6 x2 j; ?$ S# r0 b: O# y: C2 t, A 34         GPIOBank6Pin13PinMuxSetup();                            \3 e6 F+ ]$ Y) k/ J" M) D6 [
35         GPIODirModeSet(SOC_GPIO_0_REGS, 109, GPIO_DIR_OUTPUT);  \5 R" Q; u  B, _0 s2 [
36         GPIODirModeSet(SOC_GPIO_0_REGS, 110, GPIO_DIR_OUTPUT);  \& V$ _$ G. V  C5 Y/ q7 S$ b9 ]9 r
37         UARTStdioInit();                                        \
: h, [% f: @' v  j; }  w 38     } while (0)
8 R2 r7 g; I" x- T 39 #else: S- z% C8 C7 T2 L6 s; j$ w* x
40     #define LOG_INIT() do { } while (0)
# ^# D( Z& ^6 n/ e; c* B 41 #endif& s/ k4 P- S3 M5 r% P
42
* z% b8 H8 n' V1 G7 j% G/ i+ Q 43 /* Log Output */9 o+ X: u( v7 I& t1 h" Z
44 #define LOG_INFO(format, ...)      \
. l& ^, U, Z8 r3 Q9 ~( S 45     do {                           \2 N& I* i! Z! \, e- s
46         OUTPUT("[%s|%s@%s,%d] " format "\n", "INFO ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \0 T3 J+ U0 o/ s4 h( e4 _
47     } while (0)
: d# Y& a- o1 c6 X! v+ o# R2 }6 B. o 48
5 R; Y  N; a, G9 i6 m 49 #define LOG_ERROR(format, ...)     \
2 |* ?( l# {" \5 G 50     do {                           \+ }$ F9 J7 O* b9 \6 {
51         OUTPUT("[%s|%s@%s,%d] " format "\n", "ERROR", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \$ L- q4 }# c; |% Z/ q; W
52     } while (0). g: h- p- H. M5 N0 a
53
  V+ A2 _& _: | 54 #define LOG_DEBUG(format, ...)     \
' L* E: D4 ^# l' C1 l 55     do {                           \; a5 @5 J9 K8 t: ~4 m% D0 _
56         OUTPUT("[%s|%s@%s,%d] " format "\n", "DEBUG", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \0 w. e9 d2 S" X" M7 x  v
57     } while (0)
: [4 o+ y+ d& T& j; G: M 58   ^* [$ V1 u8 w% J
59 #define LOG_WARN(format, ...)      \) o: ?6 H3 A2 ]
60     do {                           \
. d: }2 C0 n# z" I% n3 W+ F: f- N 61         OUTPUT("[%s|%s@%s,%d] " format "\n", "WRAN ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
$ L5 t3 B* @7 \ 62     } while (0)
' ^) D, H. |- O+ g 63
( \. }& I6 T4 t% @$ m 64 #define LOG_TRACE(format, ...)     \' s" y! w0 N6 {+ R
65     do {                           \
& r" |1 n+ p8 F  Z. o 66         OUTPUT("[%s|%s@%s,%d] " format "\n", "TRACE", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \& |) y% K8 i7 P8 F9 m5 K! o, b! E- H
67     } while (0)
( e" b* D- F6 D9 u! V 68 " [6 Y2 j; R9 p! |& X
69 #define LOG_FATAL(format, ...)     \
$ |/ o9 W' w2 |5 _( F4 Q* x 70     do {                           \: Y, E) H, X; ?3 N
71         OUTPUT("[%s|%s@%s,%d] " format "\n", "FATAL", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
7 m9 i' b! I9 V- B) K+ U  s. R 72         exit(1);                   \- p! k- c  \1 Q/ r8 P6 Z7 [
73     } while (0)5 Q$ O/ [: M* i% R( V3 P9 c, ~
74
0 i) s4 K( `. H7 K* W 75 /* Assert */- l8 l4 K  S0 y7 X: Q
76 #define ASSERT(EXP)                \; H4 L) L4 o6 _  R3 W8 D
77     do{                            \: c2 D( s# ~" b4 k9 Y5 t
78         if (!(EXP)) {              \
0 o& ?& W# T# |) H5 h 79             OUTPUT("[%s@%s,%d] ASSERT: " #EXP "\n", __func__, __FILE__, __LINE__ );                  \
& o, A, O; ?. Q; {. n$ S 80             exit(1);               \
+ u' z+ v$ t5 I 81         }                          \5 k/ k8 Y+ ~7 l/ S  w
82     } while(0)( c7 E6 N1 c: r( {- G
83 ) r; Z3 `) w8 H
84 #endif
* j3 K9 o1 L8 G1 T" ]
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
板凳
发表于 2014-12-4 14:03:10 | 只看该作者
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏- T; }8 x/ w8 p. _2 _7 v5 f6 T
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
地板
 楼主| 发表于 2014-12-4 15:21:54 | 只看该作者
tenny 发表于 2014-12-4 14:03
) l2 n" a) E5 x修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏

: y2 `0 l, a4 L, r* G# n# u/ A你好,是arm这一端的app
5 F5 {, M$ f/ v
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
5#
 楼主| 发表于 2014-12-4 15:40:21 | 只看该作者
tenny 发表于 2014-12-4 14:03" D+ N7 {8 H% j4 y: U/ q! F8 ~
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏
4 Q8 q0 w& f9 q
你好,你是不是将host/app下的log.h和dsp/driver下的log.h和到一块啦,怎么说下你的思路
, {) D4 C+ |" K3 z- w2 g  B" f
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
6#
发表于 2014-12-4 15:59:03 | 只看该作者
arm 端的 log 并没有用到 uart16 `. v3 s8 c( u* A
dsp 端的 log 才使用了 uart1+ K5 d7 B. u$ @1 U* ~
所以,你需要也只需要修改的是 dsp 子工程的 log.h(新版本的代码 是在 dsp/app/log.h,旧的是在 dsp/driver/log.h)  T% E, n# X9 b' F, \5 W
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
7#
 楼主| 发表于 2014-12-4 17:19:24 | 只看该作者
tenny 发表于 2014-12-4 15:59
5 _9 X! ?- V$ s5 |6 A# A0 X3 @arm 端的 log 并没有用到 uart1
7 Y& X; m8 D3 X# R: Y" l  ~8 pdsp 端的 log 才使用了 uart1
: t$ J" o+ Z- i5 q6 q5 A' X! k所以,你需要也只需要修改的是 dsp 子工程的  ...

5 Z( C9 b+ t. _. m, T9 _2 r* P那我是不是将你贴出的那段代码,替换DSP/driver下的log.h就可以是吧,1 |* B* O, F! @4 ~0 g
然后将#define OUTPUT_TO_UART1 1 换成& y8 k, q5 P8 ?' Y: e1 H
#define OUTPUT_TO_UART1 0- x9 `% ]. I) O
  是不是这样
* G- G$ [" j* _$ ~) F  l) D. W8 k' P0 w2 q4 b

- X8 _4 `& o* R. N  w, d* S4 M: F# g. n- y' _! _
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
8#
发表于 2014-12-5 09:25:09 | 只看该作者
( a' r) l+ J) W- t: a* B5 p" R
回复

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2026-3-17 03:48 , Processed in 0.041373 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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