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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
跳转到指定楼层
楼主
发表于 2014-12-4 11:08:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
你好我现在用的你们的omapl138开发板,跑的双核通信的程序,我现在需要通过串口一向外部发信息,但是串口一被DSP占用了,我怎样才能解除DSP占用呢
- c8 M+ _  v  i. g& G, Z) K. v
. [: `6 D" }& J' d; [
谢谢
: R( B" d5 k* h: \2 a* n) C7 d3 ~
: ?$ n5 P/ p, l1 e& s6 P
) D7 g" O1 ~! a" C
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
沙发
发表于 2014-12-4 14:01:26 | 只看该作者
  1 #ifndef _LOG_H_
( ~5 G+ N' U, ^( L. \( w  2 #define _LOG_H_
- A0 y/ C! m9 V6 M  3 5 Q4 d- [3 i1 w7 W! ~5 P6 h
  4 /* 0: printf; 1: UART1 */. r3 A  c: n# e5 ^: \$ k3 u
  5 #define OUTPUT_TO_UART1 1
( i% C0 `  Q' S! O! n
  6 5 _3 Y" K# {) a, Z# \) `
  7 /* Switch Log Output */
0 ~9 z% l  Z6 p$ F! C. H  8 #if OUTPUT_TO_UART1
2 }0 Z0 z! ~, b* f  9     /* For UART1 Initial */. n# [' i2 _$ q& v( [' z( v; X
10     #include <stdlib.h>
. ?, {2 N4 m% m; i1 Q 11     #include "hw_types.h"  
% F5 ~& F# A9 q; E9 y, H2 u 12     #include "hw_syscfg0_C6748.h"
8 |+ Q# @8 m) |: s% l5 q 13     #include "soc_C6748.h"
  C! k- I& l; y7 R1 V. C' e 14     #include "psc.h"               ! E7 S) u8 v2 J5 @, P, @
15     #include "gpio.h"               4 y/ u6 w# L) M5 t1 M  E1 p- L4 c/ f
16     #include "uart.h"' f, ?' Y/ A& m
17     #include "uartStdio.h"
2 P" t( b7 ], f5 N  s6 M 18 ' L7 f$ U  a% J/ |6 s
19     #define OUTPUT UARTprintf% O1 ?& V: O. u4 `
20 #else
; @% k" m0 @6 l 21     #include <stdio.h>5 y' s  g! }* k! b& S% ]
22     #include <stdbool.h>$ t: I  _- i0 k3 ?# ?( b! P6 E% c. u
23 6 l7 d& H' c5 D% B- ?
24     #define OUTPUT printf$ g2 c# q0 O" V& M
25 #endif- b1 H9 y% ^4 ?7 I7 i
26 3 r: W  c5 ~3 f3 Z. b
27 /* Log init */0 _0 V. b2 ?* p
28 #if OUTPUT_TO_UART1! b% {. ?# O2 Z+ \3 O( A
29     #define LOG_INIT() do {                                     \
& M' B0 Z( `8 B! r. ~( c 30         PSCModuleControl(SOC_PSC_1_REGS, HW_PSC_GPIO,           \
5 O# |0 E. Z) F3 E" N 31                          PSC_POWERDOMAIN_ALWAYS_ON,             \* S! d* C3 K/ W( Q8 r3 D: P
32                          PSC_MDCTL_NEXT_ENABLE);                \
% {3 s9 K: I/ A& V1 ~# i4 e 33         GPIOBank6Pin12PinMuxSetup();                            \  S1 c- s4 D7 k9 l
34         GPIOBank6Pin13PinMuxSetup();                            \) J: I" F; S! R8 W' n+ i8 z
35         GPIODirModeSet(SOC_GPIO_0_REGS, 109, GPIO_DIR_OUTPUT);  \+ _' y4 j" b# g8 W; b
36         GPIODirModeSet(SOC_GPIO_0_REGS, 110, GPIO_DIR_OUTPUT);  \
9 Y+ p* r4 i  P2 j" H% F/ o 37         UARTStdioInit();                                        \
" W" @6 p" Y2 A+ i+ I0 J1 P+ @ 38     } while (0)
( V  C1 C$ ]" o  m' [ 39 #else
8 A4 ?) R: j" x/ R 40     #define LOG_INIT() do { } while (0)
* o, E6 a9 _, n1 m7 U. v" { 41 #endif" m) c; q7 D& u+ o
42 & W: K# E. B8 S! C' Z6 H6 Y
43 /* Log Output */* b. @0 D4 x8 F3 t2 B# X9 H
44 #define LOG_INFO(format, ...)      \
6 F" v" Q6 S) e 45     do {                           \' @! z, A& }# J& Y& P! n
46         OUTPUT("[%s|%s@%s,%d] " format "\n", "INFO ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \  ^6 U7 w6 N, [0 B) M
47     } while (0), O  Z7 `9 y2 Y. C
48   g5 u+ F! K- }6 U1 I0 v+ y( V
49 #define LOG_ERROR(format, ...)     \# R) A1 [: h+ A( X# I
50     do {                           \
) J) d2 q; y* [. u 51         OUTPUT("[%s|%s@%s,%d] " format "\n", "ERROR", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
7 D1 w9 |1 G+ y0 J7 a 52     } while (0): b; a1 p: _! H1 @
53   j! e* L& L, o3 y
54 #define LOG_DEBUG(format, ...)     \
! N, J4 U. @+ m% @  r 55     do {                           \- H& u' F) Z# K/ h7 ^: j: M
56         OUTPUT("[%s|%s@%s,%d] " format "\n", "DEBUG", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \: R# y; [! p) _6 N# c% b9 |% o
57     } while (0)7 k2 h1 }7 Z! V0 Q: e# _* ^& H: a
58
! n* g; X1 @: K  `, \ 59 #define LOG_WARN(format, ...)      \
6 q/ A( n7 M2 p) j, W5 w/ _; z 60     do {                           \
0 s3 G  l0 I+ j6 I% g+ g 61         OUTPUT("[%s|%s@%s,%d] " format "\n", "WRAN ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
# Q( d* v* t5 k$ _1 g 62     } while (0)0 g9 o/ D6 w- E% [
63 8 `+ f7 m/ |- ]: h2 f
64 #define LOG_TRACE(format, ...)     \. [: p0 j- ^' L9 k
65     do {                           \* R5 `& E1 v# ^' o) d9 {
66         OUTPUT("[%s|%s@%s,%d] " format "\n", "TRACE", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
1 _6 {. r" b& M1 g8 x; C% {( [ 67     } while (0)( R% d; a% h' F( N
68
' k' b6 U8 e& H, I% P 69 #define LOG_FATAL(format, ...)     \0 V  E4 r% A, W7 W1 n# i6 G
70     do {                           \
! J7 H* O# y7 f7 B6 w" K 71         OUTPUT("[%s|%s@%s,%d] " format "\n", "FATAL", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
) ^! P1 n5 r( H7 m 72         exit(1);                   \" {0 x6 J1 W: s9 o
73     } while (0)
( u7 m! E, n) W4 @- v! C+ i2 q 74 0 P8 G: a" M9 m6 D; ~, m
75 /* Assert */$ @  y/ m. Y0 }2 M/ x
76 #define ASSERT(EXP)                \6 A; Q3 T! d0 ~3 |0 e
77     do{                            \
+ M3 o- x, m7 R3 w( l% t 78         if (!(EXP)) {              \' ^! E! r+ I! F( B" e! ]
79             OUTPUT("[%s@%s,%d] ASSERT: " #EXP "\n", __func__, __FILE__, __LINE__ );                  \
2 i. O' F5 K3 M2 V8 R 80             exit(1);               \- S+ r' m& ?% f
81         }                          \# k; C& v) R; \- u6 l
82     } while(0)9 q* V% ~7 I0 M5 D9 S
83
6 t  h  a2 g, d5 _% L 84 #endif
' p$ B! e* C! V6 V+ |( m  `
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
板凳
发表于 2014-12-4 14:03:10 | 只看该作者
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏6 J/ o) t8 L( N# b$ O7 Y3 q' e
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
地板
 楼主| 发表于 2014-12-4 15:21:54 | 只看该作者
tenny 发表于 2014-12-4 14:03+ x) p" j/ O8 ?& E
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏

0 |+ q- i0 S3 ^" _+ s你好,是arm这一端的app5 @4 m: e( ^* _; ~  m
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
5#
 楼主| 发表于 2014-12-4 15:40:21 | 只看该作者
tenny 发表于 2014-12-4 14:03
2 s$ W5 ~  w' g8 l修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏
. F  O3 f$ r/ S
你好,你是不是将host/app下的log.h和dsp/driver下的log.h和到一块啦,怎么说下你的思路
% B/ t8 b- d# U# \0 w
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
6#
发表于 2014-12-4 15:59:03 | 只看该作者
arm 端的 log 并没有用到 uart1
0 i& X+ w$ U9 D  zdsp 端的 log 才使用了 uart1
, [; @. k5 s5 S所以,你需要也只需要修改的是 dsp 子工程的 log.h(新版本的代码 是在 dsp/app/log.h,旧的是在 dsp/driver/log.h)
$ S8 I7 ~7 Z! s) b8 w
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
7#
 楼主| 发表于 2014-12-4 17:19:24 | 只看该作者
tenny 发表于 2014-12-4 15:59
. S9 K' m2 @) h* P" H' K2 {arm 端的 log 并没有用到 uart1
/ b2 j2 u0 v. Xdsp 端的 log 才使用了 uart1
, l4 i3 E" Q- K; t1 q所以,你需要也只需要修改的是 dsp 子工程的  ...

, Z6 L- ?6 E& M" ^$ X% N那我是不是将你贴出的那段代码,替换DSP/driver下的log.h就可以是吧,5 O, x$ l( Z, g; }
然后将#define OUTPUT_TO_UART1 1 换成
, E7 S1 D( m6 O6 }( y! c+ Q#define OUTPUT_TO_UART1 0
, E( Y* b; y* F( A3 Z0 ^$ J  是不是这样
. {0 `9 d3 U) A- z6 O/ |. S7 m$ ^- M& x9 T. j+ e
; J  B" i7 Q: M6 l1 A# y& Y0 S( L

5 s+ \6 J3 u* z. D3 R& E# l9 J; o
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
8#
发表于 2014-12-5 09:25:09 | 只看该作者
& V0 ^/ h* `. f( W! A4 \' z
回复

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2026-2-21 07:09 , Processed in 0.043244 second(s), 25 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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