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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
跳转到指定楼层
楼主
发表于 2014-12-4 11:08:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
你好我现在用的你们的omapl138开发板,跑的双核通信的程序,我现在需要通过串口一向外部发信息,但是串口一被DSP占用了,我怎样才能解除DSP占用呢
4 H* {  N# ~/ T* }3 M( W0 y( q  d# X* {9 d* c4 s

( {! `1 Q- Y& i/ z$ A谢谢
/ l5 a8 |  }2 u' x3 J" p
% W: G2 |' q  Y$ f, c2 t. K& s$ {$ z3 c" a1 L
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
沙发
发表于 2014-12-4 14:01:26 | 只看该作者
  1 #ifndef _LOG_H_
6 Z8 |( T* g! \, ^  2 #define _LOG_H_
+ G* _; I( ^2 j; l  3
6 W/ V* _1 @7 x  4 /* 0: printf; 1: UART1 */
  [+ N7 |+ X2 k1 r2 `  5 #define OUTPUT_TO_UART1 1
* l7 N* ~  M( V! y/ _$ a, Q
  6
- P3 i* z1 ]: n! x  7 /* Switch Log Output */; S+ o4 J: D! |9 z7 q2 U$ s! l+ }
  8 #if OUTPUT_TO_UART1( V. j! r7 j, u4 J1 w1 i$ n
  9     /* For UART1 Initial *// R  z& X! p, [
10     #include <stdlib.h>
4 \4 y4 T) y# X" Z1 k 11     #include "hw_types.h"  
$ r% K) A0 J) T& y' S 12     #include "hw_syscfg0_C6748.h"
) X! j, @: b* G 13     #include "soc_C6748.h"
: c) _' r" Q2 N6 \: y$ h1 N% T 14     #include "psc.h"               
( l) N4 A$ ]( w* _. Q' W# D 15     #include "gpio.h"               / T! j' q) ]/ L8 w- b, C# e
16     #include "uart.h": Q9 q5 s* ~' W: ]& S% n8 o6 q
17     #include "uartStdio.h"! {4 a$ O8 w- L% R1 K! [! g: j
18 $ o) g. D: N4 F0 H$ W1 M
19     #define OUTPUT UARTprintf
' K4 n' h9 l1 J/ ^% {6 Y, x 20 #else
# x6 j5 k8 F- f+ x1 ]# Q 21     #include <stdio.h>9 p- h7 `; b. C$ ?2 R+ Y( u
22     #include <stdbool.h>
/ h& a% e! v: j) P$ A/ r/ g1 b 23   S; H9 y1 o1 W0 c7 E, d
24     #define OUTPUT printf
% X6 y; F+ W' J6 H) i+ s 25 #endif
1 a$ {1 V% Y! F$ Z 26 7 Z9 o3 L3 f1 s4 ^; I
27 /* Log init */
  s) {2 T) M$ U. F2 M$ R 28 #if OUTPUT_TO_UART1
& n) ?5 s' T! X1 h# T' X- o 29     #define LOG_INIT() do {                                     \3 r7 r6 f8 ]9 S- I7 q& x) g
30         PSCModuleControl(SOC_PSC_1_REGS, HW_PSC_GPIO,           \4 W. t/ Z8 f; Y0 J2 T! B$ ^$ F
31                          PSC_POWERDOMAIN_ALWAYS_ON,             \
# r& c, W( x" `; t8 }( Y 32                          PSC_MDCTL_NEXT_ENABLE);                \+ p% z, L( L0 @: ?5 r; r) a
33         GPIOBank6Pin12PinMuxSetup();                            \
% c& u/ H- `$ V0 O/ `$ f8 r 34         GPIOBank6Pin13PinMuxSetup();                            \2 a- I3 x( y7 f, M' z, `8 I
35         GPIODirModeSet(SOC_GPIO_0_REGS, 109, GPIO_DIR_OUTPUT);  \4 Z$ L0 S3 r- A2 g1 i8 [
36         GPIODirModeSet(SOC_GPIO_0_REGS, 110, GPIO_DIR_OUTPUT);  \$ K7 {6 N3 p8 J& T0 y# a0 ~' I
37         UARTStdioInit();                                        \
+ E; m+ B5 l6 a 38     } while (0)
  H( E; F# K3 J/ s! S 39 #else
* D' w& ~( }$ a4 ~6 ] 40     #define LOG_INIT() do { } while (0): F# C: X' o/ A3 }$ K- [- {
41 #endif
7 I+ `7 z+ l8 J3 w6 v' ?, c* V6 } 42
3 D% D0 \; _; y# ]8 p 43 /* Log Output */
* L8 X& Y* w: V$ \, \+ ? 44 #define LOG_INFO(format, ...)      \* D5 k- ^5 a, s( \; L' F
45     do {                           \
* J; t  p. E$ f& V" C- k/ D 46         OUTPUT("[%s|%s@%s,%d] " format "\n", "INFO ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \8 u9 P$ B+ d" ^
47     } while (0)
3 w- Y+ ^; I: s! c& Y. A/ S/ x/ t 48 5 e3 D* C5 u7 J$ R9 C
49 #define LOG_ERROR(format, ...)     \
% c& |5 J! N) |8 y# _% n! E 50     do {                           \: O2 ], T# |- G9 |: q2 m, u1 f
51         OUTPUT("[%s|%s@%s,%d] " format "\n", "ERROR", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \1 z* i  s) [+ N9 b
52     } while (0)8 n+ v% g3 `& g; a8 }3 G6 E
53 9 E! Q! t& G3 Z/ Y8 c' P) I; T
54 #define LOG_DEBUG(format, ...)     \# a! }* j* c0 J, v2 ^
55     do {                           \# I, K) K1 M8 y. n2 D! E
56         OUTPUT("[%s|%s@%s,%d] " format "\n", "DEBUG", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
9 X$ e) K. P; h- {# s 57     } while (0)
8 g0 Q2 D5 T& N# |9 Z 58
) s- t4 |5 `1 _ 59 #define LOG_WARN(format, ...)      \; q8 Y; [% Q, t' S9 R# k3 o
60     do {                           \
' J8 ~' M/ }. j 61         OUTPUT("[%s|%s@%s,%d] " format "\n", "WRAN ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \! h, \) p/ y% u1 Y5 I
62     } while (0)
1 {- G4 r* g9 m. E 63   Z5 V$ W9 K# X; N5 r" i  O& [
64 #define LOG_TRACE(format, ...)     \% B( @) a6 `1 u2 R, }: \
65     do {                           \2 |; B9 ~* Q) `# N0 [
66         OUTPUT("[%s|%s@%s,%d] " format "\n", "TRACE", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
3 i$ F8 v2 W$ ` 67     } while (0)2 C4 {5 M8 m- J' q& D7 ]( d+ m
68 # J# O& j$ ]1 v6 s. P2 b
69 #define LOG_FATAL(format, ...)     \
2 s$ J7 _3 k% D 70     do {                           \
/ V* Y7 H. H' U( t# Y7 ?/ u" t 71         OUTPUT("[%s|%s@%s,%d] " format "\n", "FATAL", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
2 X* K4 D+ \' t4 Z' `; k 72         exit(1);                   \( f& x1 a% }  Y9 o) h+ L( `
73     } while (0). T) W+ A( _" L6 [' I3 {( X
74
8 N0 l7 p! [- z0 B3 _ 75 /* Assert */) t. u4 B; R$ P! K% w+ o7 X. P
76 #define ASSERT(EXP)                \; l3 [* c- h9 |/ \
77     do{                            \6 p1 N% z! R* v6 q# Y
78         if (!(EXP)) {              \
+ h* t9 ?- v; P  X% V) D3 J) W 79             OUTPUT("[%s@%s,%d] ASSERT: " #EXP "\n", __func__, __FILE__, __LINE__ );                  \
5 D' I% `5 u! {# v4 \7 V 80             exit(1);               \
7 h. c7 [5 g) v* A" p/ S1 f# o 81         }                          \
) N% K( c7 V7 e$ B 82     } while(0)) h' l) H- Z: l' T( p- J0 \& }
83 0 d! e) X+ M7 V2 w9 k; t
84 #endif
0 R9 K/ Z/ Z% ]7 S* B# [
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
板凳
发表于 2014-12-4 14:03:10 | 只看该作者
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏0 \0 G3 E; f- F
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
地板
 楼主| 发表于 2014-12-4 15:21:54 | 只看该作者
tenny 发表于 2014-12-4 14:03
* j$ ]. r* u$ |! @  P) {修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏

0 d# y; L9 T2 V8 r8 w& r你好,是arm这一端的app
  y* n) |0 x# ^; S( u, f
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
5#
 楼主| 发表于 2014-12-4 15:40:21 | 只看该作者
tenny 发表于 2014-12-4 14:03) m- `9 W7 g" R+ k2 Z
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏

& o4 l! e6 s; C% r( Z- O- h( Y你好,你是不是将host/app下的log.h和dsp/driver下的log.h和到一块啦,怎么说下你的思路
1 ?; d2 A; U( k# j- \; s; F
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
6#
发表于 2014-12-4 15:59:03 | 只看该作者
arm 端的 log 并没有用到 uart1$ ?* W$ W( d0 _/ z) m/ t
dsp 端的 log 才使用了 uart1
/ R5 q1 ~- _/ d  ?, A: R所以,你需要也只需要修改的是 dsp 子工程的 log.h(新版本的代码 是在 dsp/app/log.h,旧的是在 dsp/driver/log.h)9 I, e% \5 Z) l6 y+ L  Q& f
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
7#
 楼主| 发表于 2014-12-4 17:19:24 | 只看该作者
tenny 发表于 2014-12-4 15:59
1 O8 V! H) E  K. u# larm 端的 log 并没有用到 uart19 _" t, T8 @& V: Y0 X7 P9 S! ]0 m& V
dsp 端的 log 才使用了 uart1
: K$ }+ y/ Q6 a: ?& K8 g所以,你需要也只需要修改的是 dsp 子工程的  ...
# }9 ]( x+ w1 K5 ?7 a3 |. q/ @
那我是不是将你贴出的那段代码,替换DSP/driver下的log.h就可以是吧," `" m7 z) }' n3 B
然后将#define OUTPUT_TO_UART1 1 换成: ~. s" j* s0 a# t1 {
#define OUTPUT_TO_UART1 0& Q3 e/ S! q3 D$ v$ Y
  是不是这样
  b$ ~: [7 B4 R, n( u+ {" x0 }  R, ~' K& w5 @5 y0 p
- k- r7 t  P" r" v, a
( f& i8 l4 E- o( y# a2 k1 M
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
8#
发表于 2014-12-5 09:25:09 | 只看该作者
1 v- _$ o! C& _& V  M# p5 ?3 ^7 t! I, `
回复

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2026-2-7 23:54 , Processed in 0.044170 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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