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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
跳转到指定楼层
楼主
发表于 2014-12-4 11:08:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
你好我现在用的你们的omapl138开发板,跑的双核通信的程序,我现在需要通过串口一向外部发信息,但是串口一被DSP占用了,我怎样才能解除DSP占用呢
2 g9 h) V- L5 P4 M! {! B* A& ~0 O2 G$ \# h9 a8 z6 ]* y0 C& L6 \$ g
6 N+ b0 L8 {5 x2 @& j
谢谢
! v3 e0 r3 j  a* i! c7 ~3 n' u
3 `, q  n; w9 K! l  j9 q4 Q' P1 F; d. Q! i$ a0 \9 e0 d
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
沙发
发表于 2014-12-4 14:01:26 | 只看该作者
  1 #ifndef _LOG_H_
5 I. }1 D* B9 C6 [9 \1 l2 x  2 #define _LOG_H_
+ U% P3 ^% g% ~/ S; ^7 b  3
4 n2 o* ]5 F6 o* V& S" m  o  4 /* 0: printf; 1: UART1 */+ r9 T& P6 R  X* \1 T
  5 #define OUTPUT_TO_UART1 1
* H2 u2 ?% H  J4 o3 e3 [
  6
, |3 i# h* I% u0 r8 w! I# y  7 /* Switch Log Output */
+ }# F$ N( R  @/ {1 @, ^# b' v: @  8 #if OUTPUT_TO_UART1
- I; a$ |3 F, Z- \  9     /* For UART1 Initial */# f1 d* ]3 e% N. X- V9 s; s
10     #include <stdlib.h>7 Q1 k0 }0 l6 t0 x1 _
11     #include "hw_types.h"  
6 c" l+ V; y3 }: S 12     #include "hw_syscfg0_C6748.h"$ C  f, x1 `/ G4 A( C! T7 [
13     #include "soc_C6748.h"
: ]5 D! A) X9 H* c+ ?) K 14     #include "psc.h"               
9 B; }+ O; g4 V, B$ M5 |" n 15     #include "gpio.h"               ; `# G2 p; m, ~; Z4 t
16     #include "uart.h"
4 V: l5 }$ L' s2 T5 T# [$ ?1 _ 17     #include "uartStdio.h"- o! [/ D3 g3 g0 S( ?! f/ [
18
1 o$ P2 b) t0 B/ h; [0 ^ 19     #define OUTPUT UARTprintf
2 v! D% o1 v2 K: F- O 20 #else$ g7 t9 M6 C; p) a9 G
21     #include <stdio.h>
' I2 r, J) b( P0 y3 \ 22     #include <stdbool.h>1 R- f; S, ]( X1 x5 B6 F1 ~: b
23 ; j! f0 I5 _% K8 y- Z8 m
24     #define OUTPUT printf
+ _/ ?9 R% D. K2 Q9 X( ] 25 #endif
! R( E7 _% L" l* ~3 T 26
' A+ Y/ W# Y& f; D 27 /* Log init */
3 J6 d( N8 ]  N& x 28 #if OUTPUT_TO_UART1; f) s: Z# Y$ K1 F( l, E2 F0 d
29     #define LOG_INIT() do {                                     \
6 k8 z# X$ y6 ]' F 30         PSCModuleControl(SOC_PSC_1_REGS, HW_PSC_GPIO,           \2 p% V) ?" j( P% p" O
31                          PSC_POWERDOMAIN_ALWAYS_ON,             \( i* i; Q* q; }. V
32                          PSC_MDCTL_NEXT_ENABLE);                \1 z) t  A7 N' `( d6 B
33         GPIOBank6Pin12PinMuxSetup();                            \3 j" O, f! I. z6 u
34         GPIOBank6Pin13PinMuxSetup();                            \4 [/ c- F" D1 Z4 ]) ~) i( C9 `5 \$ [
35         GPIODirModeSet(SOC_GPIO_0_REGS, 109, GPIO_DIR_OUTPUT);  \
) e  k0 j) g( B 36         GPIODirModeSet(SOC_GPIO_0_REGS, 110, GPIO_DIR_OUTPUT);  \
. d! k/ ~& A8 O 37         UARTStdioInit();                                        \
- d: u1 j6 f; Y1 C/ N! W/ F 38     } while (0)
1 G& W& J) O* u+ l 39 #else
# U% z  W% f  W 40     #define LOG_INIT() do { } while (0). ^: Y% E& Q' g
41 #endif. |3 A: W$ d7 \9 Y" ?2 y7 @
42 ) c6 y& ?. E/ L% H+ b
43 /* Log Output */
( j, |+ V- Y" R9 E- D3 ^: q 44 #define LOG_INFO(format, ...)      \
" O8 s( h4 ]5 r# ]8 } 45     do {                           \" m* v5 Q2 b3 e# f# a# a# p! B* Q
46         OUTPUT("[%s|%s@%s,%d] " format "\n", "INFO ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \. A% o. a  L/ c2 L% C, I( r- l
47     } while (0)
  `$ [5 T- j1 \- r( H' h( G) I/ S" L' z 48
2 f( d4 \. I8 m 49 #define LOG_ERROR(format, ...)     \
$ g, [7 d$ I  A# d: o. y 50     do {                           \+ e! L! ?! ?- A0 d. M$ n& _
51         OUTPUT("[%s|%s@%s,%d] " format "\n", "ERROR", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \6 O- o1 p& I( V, S
52     } while (0)
+ ?1 `4 a1 d6 _6 I" Q6 Q 53
1 q6 ]) a! p& Z3 g0 C! i2 X 54 #define LOG_DEBUG(format, ...)     \
- B! v( i! a4 L 55     do {                           \
" j2 B9 Z* n; h5 W5 u 56         OUTPUT("[%s|%s@%s,%d] " format "\n", "DEBUG", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \/ L# u7 w1 i5 r$ s
57     } while (0), G. {/ }3 [) d
58 - E7 H1 [" S+ {9 U( x; g$ M
59 #define LOG_WARN(format, ...)      \
4 }3 {3 X: l4 N' n& e0 O 60     do {                           \& T: q9 Z9 M% T* e# s0 I
61         OUTPUT("[%s|%s@%s,%d] " format "\n", "WRAN ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \6 {* B# K7 _! f9 O( }% o9 b3 ]
62     } while (0)
; c: y$ x; g# p  u# d: x 63
4 m6 F- C: o6 ~ 64 #define LOG_TRACE(format, ...)     \
2 x8 y( |( L$ r1 {) ` 65     do {                           \2 @3 D' l/ W0 c9 G( q# J, o4 c) Y
66         OUTPUT("[%s|%s@%s,%d] " format "\n", "TRACE", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
8 N' f3 A4 H- j2 S 67     } while (0)) p- X$ }( C0 O) w  H% U& M
68 0 h- i0 h/ F7 c' V2 h) ~
69 #define LOG_FATAL(format, ...)     \' E( v4 I5 f' U) O# x; U
70     do {                           \" l8 U" _# N  T  u' h
71         OUTPUT("[%s|%s@%s,%d] " format "\n", "FATAL", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
" o9 x$ ?4 W$ A2 x6 F; X9 L( ?2 O 72         exit(1);                   \
3 C. k- j; q: ?4 }- r8 l 73     } while (0)+ g; r, D+ r% u, L, Y" @
74
9 x2 g/ s0 W5 ? 75 /* Assert *// U5 x0 m$ A7 q$ J- H
76 #define ASSERT(EXP)                \8 z, j) f$ k) o- T& B/ ?: T
77     do{                            \% j( D7 L" r& K" a; [
78         if (!(EXP)) {              \* m" c, D* u% E3 _* E: C2 _/ a
79             OUTPUT("[%s@%s,%d] ASSERT: " #EXP "\n", __func__, __FILE__, __LINE__ );                  \
9 Y6 X7 x) Y- C$ M 80             exit(1);               \
, I* `, T) a0 A  A9 e! G- C  s 81         }                          \
. @$ ]3 D1 W- w# \+ } 82     } while(0)
. L4 J2 g9 T7 _, w 83
" o- w; n5 M' I 84 #endif
1 |0 C% T* E: n* U
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
板凳
发表于 2014-12-4 14:03:10 | 只看该作者
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏
' U9 P' m& w+ a& ^/ \! i* [+ {
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
地板
 楼主| 发表于 2014-12-4 15:21:54 | 只看该作者
tenny 发表于 2014-12-4 14:03
7 \& z& l2 U1 ?- b$ s. y7 G修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏
/ z& O( ?  L% n8 ^9 [
你好,是arm这一端的app
* D% P" s# O" B4 S0 x
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
5#
 楼主| 发表于 2014-12-4 15:40:21 | 只看该作者
tenny 发表于 2014-12-4 14:03! \4 s# y/ P; ~) O& [4 w5 C' C
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏
0 \. e& m( j5 b1 m" i- o: D
你好,你是不是将host/app下的log.h和dsp/driver下的log.h和到一块啦,怎么说下你的思路& A0 ?: o, }7 ]1 i7 l7 B( p
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
6#
发表于 2014-12-4 15:59:03 | 只看该作者
arm 端的 log 并没有用到 uart1
: w  L+ I" m" p; V* t! @$ Ydsp 端的 log 才使用了 uart10 q7 H- e  {$ b# m" P# ~
所以,你需要也只需要修改的是 dsp 子工程的 log.h(新版本的代码 是在 dsp/app/log.h,旧的是在 dsp/driver/log.h)( Y! d7 z5 g* [  y2 P
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
7#
 楼主| 发表于 2014-12-4 17:19:24 | 只看该作者
tenny 发表于 2014-12-4 15:59
; ]& O2 G3 f, [/ p5 \arm 端的 log 并没有用到 uart1
0 h/ X  b( P+ L+ j% C+ xdsp 端的 log 才使用了 uart18 i7 y. H. k' @3 x% i, n
所以,你需要也只需要修改的是 dsp 子工程的  ...

3 a' @" G% u1 [) v8 `" G; g. t那我是不是将你贴出的那段代码,替换DSP/driver下的log.h就可以是吧,
. B$ i7 G' g4 }( [( n. ?然后将#define OUTPUT_TO_UART1 1 换成
7 o8 i( Q3 X  X0 ]2 ^" U#define OUTPUT_TO_UART1 0% |+ `" |& G% ?1 K9 h3 J
  是不是这样5 L1 a, K. c& D' S7 a
" Q4 Y7 g/ V0 w" U) Y/ G/ N

( @' f* v1 l" L  v' `
0 p0 V: H, a- N# J3 _4 V9 X
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

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

$ q# L' T4 V" b: M9 P% N( C' b! H
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-12-17 06:30 , Processed in 0.043673 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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