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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
跳转到指定楼层
楼主
发表于 2014-12-4 11:08:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
你好我现在用的你们的omapl138开发板,跑的双核通信的程序,我现在需要通过串口一向外部发信息,但是串口一被DSP占用了,我怎样才能解除DSP占用呢
: {& k% ?+ o2 q) G, C0 c7 W; z/ ?7 c
. ?% [4 j* ^. c& o3 T% f1 g& t1 E
谢谢% n4 b+ ]3 x# Y) }+ _- e4 }4 p. P

0 C% c1 R, P4 h+ P! a
: Q  ?: y0 V8 _5 C5 t
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
沙发
发表于 2014-12-4 14:01:26 | 只看该作者
  1 #ifndef _LOG_H_
6 Z1 N* y' h3 D; K! h! e  2 #define _LOG_H_( ~, u& i/ k% `6 n5 Y
  3 9 j6 d) Z. y5 G* v7 t" f+ |% J
  4 /* 0: printf; 1: UART1 */0 B( \, C! g0 H! W8 c
  5 #define OUTPUT_TO_UART1 14 y1 A; E, w0 K4 \, R* `
  6 / V' k. F. v) u' H
  7 /* Switch Log Output */! ~* o2 T. _0 t( P) @4 ?
  8 #if OUTPUT_TO_UART1
" E9 S6 s' R9 a9 `  9     /* For UART1 Initial */
( @, {7 i4 `1 L+ q$ J7 V 10     #include <stdlib.h>
. [) D+ b' |& j- @- U8 _! U8 s 11     #include "hw_types.h"    h$ p: v+ D& y0 I# ^5 ?/ q& J
12     #include "hw_syscfg0_C6748.h"7 G7 z( j& Z, B8 l9 T9 @& Z( Q
13     #include "soc_C6748.h"
8 U; C; F7 q$ H' n& A 14     #include "psc.h"               6 S7 J( b8 T/ n, F- S
15     #include "gpio.h"               
- H( X3 h+ X) O& { 16     #include "uart.h"
. z$ J1 }0 u4 M2 c" V3 ^! m 17     #include "uartStdio.h": m( S# T2 A9 [( x
18
, [1 }  E* f$ Z; c  m, V3 Z 19     #define OUTPUT UARTprintf# G# {; I, i: I9 K" h. y" M
20 #else0 c/ b& Z/ c; X4 w" G# z
21     #include <stdio.h>; {# v  t9 _( [9 a  s( i/ \
22     #include <stdbool.h>
" \( o' s4 _3 ?* k3 ] 23
* `8 G$ k# V, A$ V6 _: H 24     #define OUTPUT printf
" C: h3 Z% Q6 @& \' @ 25 #endif0 E0 X! [8 H/ u7 w
26 . ~; A8 q/ e; \/ |9 [( t, h7 w* j
27 /* Log init */( x4 }$ G/ b9 T3 ?3 F
28 #if OUTPUT_TO_UART1
1 o5 @2 {0 `, c 29     #define LOG_INIT() do {                                     \9 I0 V3 n4 q; T/ ~- o7 I
30         PSCModuleControl(SOC_PSC_1_REGS, HW_PSC_GPIO,           \9 }+ ~% E0 n& |( h5 P" {! _
31                          PSC_POWERDOMAIN_ALWAYS_ON,             \
& \2 D6 W- Q6 E! p0 v 32                          PSC_MDCTL_NEXT_ENABLE);                \
+ D8 s+ u) [# G5 ?* E 33         GPIOBank6Pin12PinMuxSetup();                            \' }9 _: c0 v( h; V' b+ y. E& l9 y
34         GPIOBank6Pin13PinMuxSetup();                            \
+ N5 ~1 o7 ]* r' U 35         GPIODirModeSet(SOC_GPIO_0_REGS, 109, GPIO_DIR_OUTPUT);  \# _! I) x$ i* r! M6 z. v
36         GPIODirModeSet(SOC_GPIO_0_REGS, 110, GPIO_DIR_OUTPUT);  \+ I% @6 T  R4 E3 q
37         UARTStdioInit();                                        \( S4 Z9 F. J6 U, z
38     } while (0)
9 S2 A" d& a" `$ f1 A" h 39 #else5 G- l: u: F0 ^+ d! T4 M; ]0 G! X
40     #define LOG_INIT() do { } while (0)% u* v) i6 ^; v6 W5 ~
41 #endif1 u( u5 k0 x( x6 J( x; C) k
42 ( M- M6 m3 ~/ f5 T
43 /* Log Output */% v( a9 V$ h. z5 C5 l  c* h; ~
44 #define LOG_INFO(format, ...)      \
- @9 u% w2 G5 e) u0 ^& f' `* M 45     do {                           \. r0 C& {3 j+ n) {  k9 b' }
46         OUTPUT("[%s|%s@%s,%d] " format "\n", "INFO ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \6 p, ^7 \8 `+ M2 g3 M3 Y! [  P
47     } while (0)
) o# E% j5 k1 c8 u" Z0 H 48 $ u! H7 [% s0 D$ J' `; J! j
49 #define LOG_ERROR(format, ...)     \
! t' k: j# X3 `8 m 50     do {                           \* l4 r2 p6 p: |) T+ H+ x
51         OUTPUT("[%s|%s@%s,%d] " format "\n", "ERROR", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \& Q( p0 Q* p1 w5 S* A+ y6 D  I
52     } while (0)
  p8 F* _4 |( X1 w8 J 53 4 R' m. C" E2 l9 x0 w' |( G- z
54 #define LOG_DEBUG(format, ...)     \
: U& {4 S  ]& W! m. e' F: i 55     do {                           \) l! X+ q8 U- n
56         OUTPUT("[%s|%s@%s,%d] " format "\n", "DEBUG", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \' y# ?; t" Z/ A* l
57     } while (0); r% I. U1 P" a- I, ~% R- U
58 , g) r8 L  m# f# a' L
59 #define LOG_WARN(format, ...)      \- t6 k" t! p/ l- P
60     do {                           \
& s$ h$ p+ e, H( V 61         OUTPUT("[%s|%s@%s,%d] " format "\n", "WRAN ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \+ G3 q, }5 k; Q. n# u( x3 n7 F. E8 ?
62     } while (0)
) c+ o3 l1 v9 T4 U 63 ; p3 o6 n' g+ o6 I0 ]
64 #define LOG_TRACE(format, ...)     \) d7 h/ T, B% u
65     do {                           \( R9 Z7 K* e- A
66         OUTPUT("[%s|%s@%s,%d] " format "\n", "TRACE", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
9 Z+ a% I$ |6 j' ?* L! W 67     } while (0)& T! w$ I, Y/ l( }* \, @
68
8 k/ R% J7 h  J. ]& x 69 #define LOG_FATAL(format, ...)     \
( i5 G* O+ c5 l; J) s 70     do {                           \
! j) ]7 G% ]3 f, {1 s; h 71         OUTPUT("[%s|%s@%s,%d] " format "\n", "FATAL", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \+ Z! ]9 ~  P7 h0 _& z5 L1 ?. P  ^
72         exit(1);                   \
" e1 N  `* D+ B1 u 73     } while (0)% w& R2 Q* g! |5 \
74
' X% q+ T0 V# s, e$ G6 O 75 /* Assert *// x3 D+ E' U' O
76 #define ASSERT(EXP)                \
" R( ?- w$ K" `7 V 77     do{                            \* L- f  x- H; \* p+ v
78         if (!(EXP)) {              \/ Y5 h8 o% t" h2 a' A4 K% U* i0 G
79             OUTPUT("[%s@%s,%d] ASSERT: " #EXP "\n", __func__, __FILE__, __LINE__ );                  \
5 N4 j$ R( n8 |  w# Q! c, T) b4 M; g 80             exit(1);               \% `, a. P& k3 R
81         }                          \
# J* P0 m% e+ U  k 82     } while(0)6 l" m/ m; J+ n8 I1 Z( o
83 " O( x  s0 R* y1 M2 c+ i9 h
84 #endif
4 s3 [( Q" D8 F, v% h& q. `/ G  U
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
板凳
发表于 2014-12-4 14:03:10 | 只看该作者
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏
& \# I+ i/ y; R, ~( P
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
地板
 楼主| 发表于 2014-12-4 15:21:54 | 只看该作者
tenny 发表于 2014-12-4 14:03+ B6 @# K" u5 ~7 |0 {
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏
5 A  c" }2 n; y: k
你好,是arm这一端的app+ L/ f$ E* e* k, o$ E2 \: k
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
5#
 楼主| 发表于 2014-12-4 15:40:21 | 只看该作者
tenny 发表于 2014-12-4 14:03
3 K. }! w/ [9 e. K/ H修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏

! Z# J! F% Z8 k& I' j你好,你是不是将host/app下的log.h和dsp/driver下的log.h和到一块啦,怎么说下你的思路
1 ]1 n# O1 t4 K: a0 T
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
6#
发表于 2014-12-4 15:59:03 | 只看该作者
arm 端的 log 并没有用到 uart1
- m4 m" ^) B9 tdsp 端的 log 才使用了 uart14 K% j0 [8 n2 R* i+ W6 G
所以,你需要也只需要修改的是 dsp 子工程的 log.h(新版本的代码 是在 dsp/app/log.h,旧的是在 dsp/driver/log.h)8 I- v4 b+ \8 o1 ]
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
7#
 楼主| 发表于 2014-12-4 17:19:24 | 只看该作者
tenny 发表于 2014-12-4 15:595 L( ]7 t1 g' y
arm 端的 log 并没有用到 uart1) n  [5 U- x3 F& m6 D+ f8 m
dsp 端的 log 才使用了 uart1
7 A. ]+ S/ `6 |0 d& B9 b+ |& G所以,你需要也只需要修改的是 dsp 子工程的  ...

7 x) f$ i7 p; Z5 i4 m: P那我是不是将你贴出的那段代码,替换DSP/driver下的log.h就可以是吧,2 |1 d* R1 {8 s8 b' }
然后将#define OUTPUT_TO_UART1 1 换成
3 ^$ y7 }# R7 Z; U2 z/ A#define OUTPUT_TO_UART1 0- N: K- e: w0 \( F' n
  是不是这样* z! i8 h$ j$ n0 h! T3 }6 H9 W
& ?( P, S! Z6 j+ ]" K1 z2 b

, a$ R' ~' }* z( T1 w$ j5 D9 D+ E  a5 Y) k! X$ F; ~& m: w# ^
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
8#
发表于 2014-12-5 09:25:09 | 只看该作者
$ ?4 U6 h$ a0 Q9 k" }
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-7-1 07:44 , Processed in 0.043670 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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