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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
跳转到指定楼层
楼主
发表于 2014-12-4 11:08:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
你好我现在用的你们的omapl138开发板,跑的双核通信的程序,我现在需要通过串口一向外部发信息,但是串口一被DSP占用了,我怎样才能解除DSP占用呢/ l4 a' C+ l8 ]" y( Y

* @* U$ ?/ S' r" ]+ z
1 O: Q' ~# [  f/ m7 j' ^! l  o2 R谢谢: o9 F9 U; T: N4 C# Z

8 \& y" `6 v; E! S! @: p' _8 w- S) y. ^8 {6 q( G
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
沙发
发表于 2014-12-4 14:01:26 | 只看该作者
  1 #ifndef _LOG_H_* ]" T1 _2 p& h" O7 d0 K6 J0 H% z
  2 #define _LOG_H_
0 V. N0 u7 c" \2 S  _# i  3 3 E! O5 |, r( }* C9 R: w
  4 /* 0: printf; 1: UART1 */
+ J% P8 y8 D" M  Y& K, x  5 #define OUTPUT_TO_UART1 1
3 ]6 k" [. a" O, y% p. x# Y' w
  6
, e, |3 I+ L: I# h6 X8 L: R5 A  7 /* Switch Log Output */( N8 u# m* p' U# h) l1 `" f
  8 #if OUTPUT_TO_UART1
+ f7 ^" ]# t  j4 @+ \2 z4 q* }" w  9     /* For UART1 Initial */$ u# }5 a5 F2 ?; {
10     #include <stdlib.h>
$ w  o7 ?$ o# S3 U3 S( L8 C 11     #include "hw_types.h"  - ?  z( p. S' K- R/ F
12     #include "hw_syscfg0_C6748.h"
+ J. G+ q8 c! E* k) Q  }8 i5 O 13     #include "soc_C6748.h"$ {7 h6 [/ P6 O& X; Q& h* l! D$ d* D
14     #include "psc.h"               
* H4 ?  l1 o7 K/ q 15     #include "gpio.h"               
1 Y, A6 d' A8 W7 M0 {" f 16     #include "uart.h"
6 T8 M( l' b* `; T' |( e 17     #include "uartStdio.h"
, L2 r: Y; v1 f 18 * d* C* v( g8 g
19     #define OUTPUT UARTprintf0 ^/ [5 {" b2 x7 b7 H2 h/ r' e
20 #else, |3 P1 U5 I- U1 A+ p
21     #include <stdio.h>
1 R: ]' E2 v. |- [8 `/ i: b  ^ 22     #include <stdbool.h>
) k- u1 ?8 }7 G1 c$ h* j8 N4 f 23 + Z1 K5 P- x8 \' [. V& G  ^9 ]
24     #define OUTPUT printf
. L, ]  P, P2 [ 25 #endif
) Z0 @( O, E+ F( C# M 26
% p# T6 J1 r, u: m6 b 27 /* Log init */
! ?7 \* C" U/ o3 [2 x- x4 n 28 #if OUTPUT_TO_UART1
8 e; x- k  L: j6 V  \# y, U 29     #define LOG_INIT() do {                                     \
, V2 E6 ~# O0 P; g6 ?6 \ 30         PSCModuleControl(SOC_PSC_1_REGS, HW_PSC_GPIO,           \
& a# Y- q, i% _; _' u- B8 k 31                          PSC_POWERDOMAIN_ALWAYS_ON,             \
% M$ M3 F) C. O/ F 32                          PSC_MDCTL_NEXT_ENABLE);                \
, j/ {) N0 ?; E, u- m 33         GPIOBank6Pin12PinMuxSetup();                            \- W8 e' c- D2 I* s' A9 L& D9 q
34         GPIOBank6Pin13PinMuxSetup();                            \
3 g. ]6 r/ |, r; S7 N' ^8 t 35         GPIODirModeSet(SOC_GPIO_0_REGS, 109, GPIO_DIR_OUTPUT);  \) F9 X. g; p7 |( k0 c; O' @
36         GPIODirModeSet(SOC_GPIO_0_REGS, 110, GPIO_DIR_OUTPUT);  \
9 \0 e7 {) v! v# _ 37         UARTStdioInit();                                        \: F2 X7 o  b  U; ^
38     } while (0)6 R4 d. z( t* x/ l/ E0 m2 U
39 #else
& y5 \! E$ A9 d 40     #define LOG_INIT() do { } while (0)
# M+ o+ c7 @  {- L 41 #endif
5 F  }' _" q' o. |4 l, H+ J 42 / U) f& E9 O* u  H# F+ O# Z( t
43 /* Log Output */- F! w: ?; \) ?) r1 N0 @( `/ ?
44 #define LOG_INFO(format, ...)      \0 D5 q: m8 G& k: C' d; r
45     do {                           \
8 `* Z3 @% Q* t/ y 46         OUTPUT("[%s|%s@%s,%d] " format "\n", "INFO ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
" n9 \5 N# w, S 47     } while (0)/ B8 S- \1 I# C0 |- i. M
48 2 r: P9 w* v. z0 k
49 #define LOG_ERROR(format, ...)     \
5 j, l9 u& ^) B' J4 F0 ^- p) p 50     do {                           \* e% p1 x. b& H; a4 H7 _+ q
51         OUTPUT("[%s|%s@%s,%d] " format "\n", "ERROR", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \% M; s# ^3 f$ P! o% V
52     } while (0)
) `4 a% W% B% ]. Y" I6 y 53
& Q0 m. Z. K' Z4 ?0 n 54 #define LOG_DEBUG(format, ...)     \
7 v: h8 K$ G" v8 s8 G! f 55     do {                           \# A% a9 F( p" a1 O# z$ P8 T3 Z7 V
56         OUTPUT("[%s|%s@%s,%d] " format "\n", "DEBUG", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
8 ^9 p. J& n, M. S( u# W 57     } while (0)
. H& b, x. G  ^, g# a& w7 u 58
( Y3 ~: F5 g+ S5 \: N# P 59 #define LOG_WARN(format, ...)      \
. t7 h8 z+ U# j  h+ A" J1 J3 M 60     do {                           \
, F+ s* U" s1 m8 f, L4 k3 _# a 61         OUTPUT("[%s|%s@%s,%d] " format "\n", "WRAN ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \6 R, m' O% L, w  d7 X
62     } while (0)
; g$ Z; A( q9 H 63 5 D0 P8 C% h! b. `& j
64 #define LOG_TRACE(format, ...)     \
9 Z: T. p1 S( \ 65     do {                           \7 w' f' v! Y! s7 W+ B+ Q2 ^/ S
66         OUTPUT("[%s|%s@%s,%d] " format "\n", "TRACE", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
7 s) ~* t* `. ]3 q; r1 z, i 67     } while (0)! g  V! T: ?+ m4 r
68
8 ~) Y( a3 [: ^$ k 69 #define LOG_FATAL(format, ...)     \
3 Z: K0 O& N3 `' e- z' Z% t7 m 70     do {                           \
: ^' C. z9 d& p$ ]  E6 I 71         OUTPUT("[%s|%s@%s,%d] " format "\n", "FATAL", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
) H6 G$ f, M! H  f 72         exit(1);                   \3 X6 J8 `/ |; I+ a) c: [
73     } while (0)
% b! a$ n' ?+ j2 ?" c 74
& M- W; L! t, R9 V4 e( { 75 /* Assert */
* Z; Q- `. Z7 G' O6 Z$ Y' V 76 #define ASSERT(EXP)                \
3 R7 r3 U/ @* ~% B) U 77     do{                            \
4 |6 U4 g. a* s0 ] 78         if (!(EXP)) {              \- Z5 C& A2 G2 k' y$ g  m2 z
79             OUTPUT("[%s@%s,%d] ASSERT: " #EXP "\n", __func__, __FILE__, __LINE__ );                  \$ Z# W/ j. C6 Z( I, o8 D9 l
80             exit(1);               \
/ `. j) k5 N( [  `0 D 81         }                          \2 H& e" D* b7 M* m
82     } while(0)
* [0 \) z) g3 J  ~+ o9 s2 d 83 2 r3 F& x6 W  Y7 S+ K3 G
84 #endif
: z. S1 ]6 n; l! `
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
板凳
发表于 2014-12-4 14:03:10 | 只看该作者
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏
1 h" @( @( M2 H
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
地板
 楼主| 发表于 2014-12-4 15:21:54 | 只看该作者
tenny 发表于 2014-12-4 14:03
% \8 p4 _8 R3 T7 N: b( ?6 H. Q# ~修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏
. z7 F) o, P: q! Y3 b
你好,是arm这一端的app
& ?. K& P) f* Y0 ~, E: r
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
5#
 楼主| 发表于 2014-12-4 15:40:21 | 只看该作者
tenny 发表于 2014-12-4 14:03/ p, ?- D9 K  S6 l: l0 T7 ^; |, A
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏

9 m1 Y$ B* B0 s, j% X你好,你是不是将host/app下的log.h和dsp/driver下的log.h和到一块啦,怎么说下你的思路
& }" n4 _* W+ g6 y% T; T+ b/ }
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
6#
发表于 2014-12-4 15:59:03 | 只看该作者
arm 端的 log 并没有用到 uart10 x4 T+ Y/ }) G/ h6 v) j0 o5 n
dsp 端的 log 才使用了 uart1; |1 Z5 t8 i/ l; ^' F: V* W+ X
所以,你需要也只需要修改的是 dsp 子工程的 log.h(新版本的代码 是在 dsp/app/log.h,旧的是在 dsp/driver/log.h)
2 D# x8 v2 Z8 ]
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
7#
 楼主| 发表于 2014-12-4 17:19:24 | 只看该作者
tenny 发表于 2014-12-4 15:59
- I/ B$ k+ Y- n6 L6 s# w% m  U' oarm 端的 log 并没有用到 uart11 v: ^8 E  d+ h; M8 x% _
dsp 端的 log 才使用了 uart1
# c6 m& p( A! u  K所以,你需要也只需要修改的是 dsp 子工程的  ...

7 [$ S3 |8 L  C! Z那我是不是将你贴出的那段代码,替换DSP/driver下的log.h就可以是吧,
+ V! f5 ?0 ~5 Z2 O4 e- A% i' z然后将#define OUTPUT_TO_UART1 1 换成
4 f/ ]* H6 K; N8 R#define OUTPUT_TO_UART1 02 p  ~3 ^: @0 Q# b7 ^$ ^( M$ @# V
  是不是这样
5 E& C  U. X" t
/ }( q# q( d5 b& \# S3 D* m' h. @1 a* R7 N0 m/ ]
7 D; f  v" }: y0 ?* i5 \! o5 [' {
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

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

1 b, I: f" I$ [: B
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-12-16 01:46 , Processed in 0.044214 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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