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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
跳转到指定楼层
楼主
发表于 2014-12-4 11:08:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
你好我现在用的你们的omapl138开发板,跑的双核通信的程序,我现在需要通过串口一向外部发信息,但是串口一被DSP占用了,我怎样才能解除DSP占用呢
  O, t) X5 b% ?6 _
3 l6 r! J' y1 {1 e* {* d: n, Z$ h, }8 G6 ?
谢谢/ E3 `" ~. O9 `/ i) O( ~! i. V
# {' `1 |- b9 z  K7 _
- Z" A2 I" f" D0 U3 Q
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
沙发
发表于 2014-12-4 14:01:26 | 只看该作者
  1 #ifndef _LOG_H_
! t9 o' J7 T# |2 E1 ^. G  p: R  2 #define _LOG_H_
* a$ H# v- i; d0 S  3
0 B( o2 C  E; _3 L3 ]  4 /* 0: printf; 1: UART1 */
1 L5 N& P: A* y1 }8 @, Q( ?  5 #define OUTPUT_TO_UART1 1
* H2 q! @" Z/ V% _8 o
  6 # F8 u# F" v+ [* @
  7 /* Switch Log Output */
6 A- D- h1 h7 N' ^. S; Z3 w2 [0 E  8 #if OUTPUT_TO_UART15 {7 z; y1 H- i0 O) F9 D8 t3 K
  9     /* For UART1 Initial */- Y, b" c% v; N3 k
10     #include <stdlib.h>
9 f7 Z( y2 X$ E* r# y2 n3 Z 11     #include "hw_types.h"  
0 v9 d/ l& |  Q  c6 T 12     #include "hw_syscfg0_C6748.h"1 X5 _- f: S0 j# E* B& \
13     #include "soc_C6748.h"
% i: |8 `% \: D" }" r: Q 14     #include "psc.h"               
9 D4 p- R! S8 R. y8 } 15     #include "gpio.h"               9 F# ]1 D* m; u2 q& M
16     #include "uart.h"* k. _- t0 H# w  W* T/ S
17     #include "uartStdio.h"2 K( ?5 F. z  S! W
18 $ D, U. J7 b/ m
19     #define OUTPUT UARTprintf
' V. n" c( t1 \* g2 M 20 #else' f, X5 S! q6 p, I
21     #include <stdio.h>. i0 _2 D( [+ L+ [# V
22     #include <stdbool.h>
% b9 x' ]8 T$ n, O, r9 i 23 * B: e7 u; z' C
24     #define OUTPUT printf+ N2 I& R" f! k
25 #endif
, m( N9 s4 l) O2 i# T 26 : G* u7 P  A7 ^- g  R( b; g" b; Y
27 /* Log init */6 Q! k- h3 X% R, P" X7 u
28 #if OUTPUT_TO_UART12 e. }! ]6 M- U( _1 T4 W- ]
29     #define LOG_INIT() do {                                     \0 q5 m7 {8 n# B# E  Z* h, v
30         PSCModuleControl(SOC_PSC_1_REGS, HW_PSC_GPIO,           \
3 G; H; ~$ D# S2 j 31                          PSC_POWERDOMAIN_ALWAYS_ON,             \. Y7 N# W- J& k4 X
32                          PSC_MDCTL_NEXT_ENABLE);                \3 N) L# W' ?' V0 G8 l
33         GPIOBank6Pin12PinMuxSetup();                            \
, X4 _  d# L; C" V5 [" C8 o% k 34         GPIOBank6Pin13PinMuxSetup();                            \
3 D6 E$ d! t/ ~$ C) ?: K 35         GPIODirModeSet(SOC_GPIO_0_REGS, 109, GPIO_DIR_OUTPUT);  \
! S5 f, S+ Z3 ?8 j 36         GPIODirModeSet(SOC_GPIO_0_REGS, 110, GPIO_DIR_OUTPUT);  \  a  e: [: o3 X& `
37         UARTStdioInit();                                        \
: d0 e7 K, K* H2 [ 38     } while (0)
+ `( G" z" e* Q2 q" ]' y3 G& ?4 a 39 #else8 N7 T5 j" {6 l$ ?+ X
40     #define LOG_INIT() do { } while (0)) }- l, i2 L- j- w: ]
41 #endif
  d5 n% b, }' ]5 o/ r 42
) t7 ~1 o( N6 _+ ], W 43 /* Log Output *// o$ ~) a& b( H! U0 h% A
44 #define LOG_INFO(format, ...)      \3 I- f: k3 R+ U4 |+ v8 x  P, P
45     do {                           \; H5 E; i% f) C! w
46         OUTPUT("[%s|%s@%s,%d] " format "\n", "INFO ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \4 Y0 e: _0 R8 J- e" {: _
47     } while (0)
* V& J6 t1 d& v$ R( X  t 48 ; N% Y' l! A' p  _
49 #define LOG_ERROR(format, ...)     \
' w( R) z- ?0 \; _( R0 b5 | 50     do {                           \$ W) B0 r2 g, P$ V2 m3 W& ]1 L1 }
51         OUTPUT("[%s|%s@%s,%d] " format "\n", "ERROR", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \6 Q7 a; A* P5 }- [* H1 X, f5 j
52     } while (0): D* D' N1 Y1 |; T1 `
53
- S3 W4 v$ D5 }! k9 W. p' h/ y 54 #define LOG_DEBUG(format, ...)     \0 J# _0 _- g: R+ J: d5 O
55     do {                           \
* n. J$ M" _9 D, q: ` 56         OUTPUT("[%s|%s@%s,%d] " format "\n", "DEBUG", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \# Z  O0 J7 R0 N  q) S2 A
57     } while (0)
/ I% ~4 U, U' |' Q& D# [/ r 58 ! E7 ^, `0 @% _3 O. h3 b
59 #define LOG_WARN(format, ...)      \
0 M  ]+ r/ h/ c, H0 j; k0 W, J, @ 60     do {                           \
- \$ H0 |4 K2 y5 R( b) m( B 61         OUTPUT("[%s|%s@%s,%d] " format "\n", "WRAN ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
- Y6 e. I8 R) Y; R/ \% ?0 W 62     } while (0)
  w, |5 u; U' z6 A 63 & I' g- E) y! `2 s! n" @3 W
64 #define LOG_TRACE(format, ...)     \
* p; V$ D9 @5 L. _3 D  d; ^ 65     do {                           \# \, I9 O: M% c. w# I7 b
66         OUTPUT("[%s|%s@%s,%d] " format "\n", "TRACE", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
' O8 s+ I+ F: f9 U8 h% m& ^6 p 67     } while (0)
8 F! `- h% `% D. G9 B/ h% E3 m9 ? 68 8 v2 }* V- E+ j' P+ c* {
69 #define LOG_FATAL(format, ...)     \$ v! q; i, c* l9 k4 ?
70     do {                           \1 b5 D6 h; T% H+ U7 O2 g5 n' f' S
71         OUTPUT("[%s|%s@%s,%d] " format "\n", "FATAL", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \8 i! \) @: U4 B/ k5 y! N/ U- s
72         exit(1);                   \4 W0 n- g" Q9 H2 Z( r6 T+ H  \/ n
73     } while (0)
! A& m9 B% W6 N# D3 P$ A0 L( | 74
, J% T+ @' B" [ 75 /* Assert */
. v9 B1 j  r, s, _/ }& Y' g 76 #define ASSERT(EXP)                \
0 z! g- }8 S  Y# n' I 77     do{                            \
/ C1 a- ^& _6 K! y 78         if (!(EXP)) {              \: r" _' A5 k- f% A& y3 t, G
79             OUTPUT("[%s@%s,%d] ASSERT: " #EXP "\n", __func__, __FILE__, __LINE__ );                  \, a1 ?5 T- a& k
80             exit(1);               \3 G3 W+ n, H$ f
81         }                          \( A3 I) e! v0 B, O  z) l
82     } while(0)
  G# z' Z6 v0 N: l, l 83
! V# p' O% }& m) R* B7 w& q) Z 84 #endif$ k+ I0 c1 k8 |* K7 v: v2 V; H
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
板凳
发表于 2014-12-4 14:03:10 | 只看该作者
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏1 G$ ~% t7 ]8 A2 ^% `3 H
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
地板
 楼主| 发表于 2014-12-4 15:21:54 | 只看该作者
tenny 发表于 2014-12-4 14:03" N# P* I) K) m% b7 Q2 H
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏

0 Q2 t6 m/ q3 F% [你好,是arm这一端的app
1 W9 ?9 y% ?, T
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
5#
 楼主| 发表于 2014-12-4 15:40:21 | 只看该作者
tenny 发表于 2014-12-4 14:03
# r% W/ |9 x; R( L修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏

) a* n" i0 h. l* i! D4 J. e你好,你是不是将host/app下的log.h和dsp/driver下的log.h和到一块啦,怎么说下你的思路) y! a, ^9 V9 N
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
6#
发表于 2014-12-4 15:59:03 | 只看该作者
arm 端的 log 并没有用到 uart1! b, A9 ?7 ]  u* `
dsp 端的 log 才使用了 uart1$ N) C; _5 W4 {5 }/ |! Z  c0 j
所以,你需要也只需要修改的是 dsp 子工程的 log.h(新版本的代码 是在 dsp/app/log.h,旧的是在 dsp/driver/log.h)
8 j/ D# |: M6 ^2 Q9 v
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
7#
 楼主| 发表于 2014-12-4 17:19:24 | 只看该作者
tenny 发表于 2014-12-4 15:593 ~0 H6 n. z( I
arm 端的 log 并没有用到 uart1
! l) D( b$ S2 o# E4 X5 Wdsp 端的 log 才使用了 uart1; @7 C  S0 {1 O1 j8 R- G, g: B7 P2 M' |7 t
所以,你需要也只需要修改的是 dsp 子工程的  ...

0 o$ E% n- Z/ \5 }" ~4 j那我是不是将你贴出的那段代码,替换DSP/driver下的log.h就可以是吧,$ v' }$ r+ [, o3 k5 B* i
然后将#define OUTPUT_TO_UART1 1 换成8 }! d. P5 R* x  q9 L; J. p
#define OUTPUT_TO_UART1 0( L  ^/ P; A4 N% h4 X
  是不是这样3 x% `6 M) e, h  ?

+ z2 @. n0 L2 L' Z# [$ U
+ P' t1 e' S: J4 ?) I; a- |) N3 x& J4 G1 B8 F. U+ ^; x5 z
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
8#
发表于 2014-12-5 09:25:09 | 只看该作者
( Z5 J) ~" p- J) l! @! a; b( T
回复

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2026-3-6 17:25 , Processed in 0.044594 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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