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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
跳转到指定楼层
楼主
发表于 2014-12-4 11:08:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
你好我现在用的你们的omapl138开发板,跑的双核通信的程序,我现在需要通过串口一向外部发信息,但是串口一被DSP占用了,我怎样才能解除DSP占用呢
2 I$ X# D( `% w( ~0 [* y0 @* j* x4 U: j# @  d0 O8 k; Q$ \
, P. O& T# {6 y; r7 g, i2 c
谢谢
/ v. g3 W1 m% A5 S- O9 A
' u) L3 W  g4 t9 d, K
: x+ v- u. [5 ^% C: G4 j- ^
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
沙发
发表于 2014-12-4 14:01:26 | 只看该作者
  1 #ifndef _LOG_H_
3 |8 M9 a/ [9 J- g  2 #define _LOG_H_% ]0 V3 M0 u) m" I  J$ J0 N
  3 3 U$ @1 t, d# B# j
  4 /* 0: printf; 1: UART1 */
: I3 D. m0 Q$ B- x  5 #define OUTPUT_TO_UART1 1
  L! c1 D3 t+ j' |1 [+ I5 Z# I' U
  6
+ K/ i6 }* ^/ _  7 /* Switch Log Output */& ?2 _: M! B  `" ]& n
  8 #if OUTPUT_TO_UART1! K% o  ^! v: Z2 }3 v, Q$ B& }% ~
  9     /* For UART1 Initial */
9 k& u* d9 t5 \* u5 q 10     #include <stdlib.h>* p1 j, g  N3 v  g6 o
11     #include "hw_types.h"  
" t  u" _9 X+ J# | 12     #include "hw_syscfg0_C6748.h"/ {# \* k8 G# i* @8 l" a( j
13     #include "soc_C6748.h"
$ L3 {) f$ x6 x2 r7 A! I# Q1 I9 @ 14     #include "psc.h"               4 j' V1 G3 ^5 [& ]2 X' I) m: q) a
15     #include "gpio.h"               
3 r! h  H& ^+ }0 v; x0 M 16     #include "uart.h": T' x6 H# A8 o. }
17     #include "uartStdio.h"/ x+ y2 N( C7 t
18 2 V, P8 A0 |  A$ @( h
19     #define OUTPUT UARTprintf
: u3 U2 j/ E! M3 E9 B: t 20 #else
7 S  E, |0 n" g4 h% E 21     #include <stdio.h>* c! ^( n5 h; i+ v  I3 S/ ?
22     #include <stdbool.h>3 w. e8 k- v6 j; z2 q  v
23 1 Y* Z% b, o7 X& |- G1 X7 P/ N
24     #define OUTPUT printf6 ^1 M/ U& b. O9 n! ~  O5 w
25 #endif
4 l# O# J% V0 n" p% c 26   ^6 i% ]: K1 s" [1 X
27 /* Log init */
1 G9 I. u% u/ B9 |! R) }2 Y8 f- e 28 #if OUTPUT_TO_UART1
7 T2 _8 G7 l' ]' r7 Y. D$ W 29     #define LOG_INIT() do {                                     \# U1 m- f. p- k- F+ a
30         PSCModuleControl(SOC_PSC_1_REGS, HW_PSC_GPIO,           \" p) B2 h- G2 W/ P2 f. ~% K
31                          PSC_POWERDOMAIN_ALWAYS_ON,             \1 o" E3 k: j( ?7 Y- n/ n2 S! }
32                          PSC_MDCTL_NEXT_ENABLE);                \
+ k! M. Z6 x/ \: c% _/ C 33         GPIOBank6Pin12PinMuxSetup();                            \
7 e6 ]4 q# T- n1 E 34         GPIOBank6Pin13PinMuxSetup();                            \: G! s0 r% D0 a! T" Y
35         GPIODirModeSet(SOC_GPIO_0_REGS, 109, GPIO_DIR_OUTPUT);  \
- A. z  i* H4 F4 `$ b' E 36         GPIODirModeSet(SOC_GPIO_0_REGS, 110, GPIO_DIR_OUTPUT);  \2 {# E  A7 W$ Q6 g: T% y# ]; ]8 I
37         UARTStdioInit();                                        \; a) Q6 ?7 f$ C( M! s
38     } while (0). a1 m+ k3 `2 o. B8 O, N
39 #else
) a0 g; N0 c% o$ k  L5 h0 l$ ]: P 40     #define LOG_INIT() do { } while (0)
9 }/ |0 N% x- L  y. H 41 #endif) @1 F( t+ K2 I2 v/ Z/ _& O+ [
42
# _3 P1 P) k5 [- ~ 43 /* Log Output */6 P1 U/ ?5 |+ B: h1 A3 k: n. o! ?
44 #define LOG_INFO(format, ...)      \
3 ^/ ~4 O$ N( @0 k1 Z6 ] 45     do {                           \
2 X4 U7 x+ Q( K" K 46         OUTPUT("[%s|%s@%s,%d] " format "\n", "INFO ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
6 y, z$ C8 v5 t( q* N: c, e% R 47     } while (0), R' o& `+ _" X
48
3 N6 e9 x" S- B& l) [) w: t 49 #define LOG_ERROR(format, ...)     \
9 h! C& p$ D. Z5 j% Y5 s 50     do {                           \
- A, u  E, G. D( W 51         OUTPUT("[%s|%s@%s,%d] " format "\n", "ERROR", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \3 x3 X. T$ h" b
52     } while (0)
4 Y" s; G9 K4 M9 F 53 6 j: V& g# w* ^& T# s. x
54 #define LOG_DEBUG(format, ...)     \
* G  y  c9 R8 z* `' @; M8 y 55     do {                           \
. H6 H9 y, l: D 56         OUTPUT("[%s|%s@%s,%d] " format "\n", "DEBUG", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \% L8 y$ r' S- n. m/ W- M- M
57     } while (0)
" @4 |/ S7 S" a 58 ! W: W0 D9 X7 w7 [! [
59 #define LOG_WARN(format, ...)      \( W& p. _# d" d* o
60     do {                           \- n8 @- f; Y9 I8 I, K
61         OUTPUT("[%s|%s@%s,%d] " format "\n", "WRAN ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
8 }3 a! h7 I& a* w+ g 62     } while (0)1 j+ X/ y4 U. L; W3 u( h% I
63
+ Y6 @* Q: Z* v6 D 64 #define LOG_TRACE(format, ...)     \
  S7 t# Y# B; Y0 \4 K 65     do {                           \
$ m" G3 g# t" Y+ { 66         OUTPUT("[%s|%s@%s,%d] " format "\n", "TRACE", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
* ~/ u" s! l6 H8 w 67     } while (0)! f/ M  z# v. v; ^% L, y
68 5 m( J' g5 N& i) M# y" o" A
69 #define LOG_FATAL(format, ...)     \$ u7 j0 ^* J4 U
70     do {                           \
+ X* _: O3 b, j* F0 F 71         OUTPUT("[%s|%s@%s,%d] " format "\n", "FATAL", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
6 B" d& c9 `3 N. q" }' ] 72         exit(1);                   \
7 s% s# q! c! A+ r 73     } while (0)
: e7 A3 q0 D0 J0 k 74
% u5 t3 N- K: Q$ S# {7 l+ S 75 /* Assert */" y, V1 _7 H. Q# N$ d, z( V
76 #define ASSERT(EXP)                \: g9 G" i/ I6 G$ l! O* l& _' Y4 i
77     do{                            \7 P1 ~5 {3 V( H/ N0 g
78         if (!(EXP)) {              \% S, V; ?2 \1 l" O+ I: O
79             OUTPUT("[%s@%s,%d] ASSERT: " #EXP "\n", __func__, __FILE__, __LINE__ );                  \
' e( L3 s4 `: C: }2 x, V) } 80             exit(1);               \
' @, U% l# l3 ~- A 81         }                          \
3 u! u( e) p; C 82     } while(0)
$ k5 I. A7 S, P4 { 83 $ e9 y% |! F, ~4 l
84 #endif3 _+ q; l$ \7 ~( r  v
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

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

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
地板
 楼主| 发表于 2014-12-4 15:21:54 | 只看该作者
tenny 发表于 2014-12-4 14:03
) a4 c7 W7 @+ p, v+ u: G. |: o修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏
% @) O# Y8 X' N! v
你好,是arm这一端的app
/ {9 I, u  S0 B" _  s# f% X
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
5#
 楼主| 发表于 2014-12-4 15:40:21 | 只看该作者
tenny 发表于 2014-12-4 14:03& z! S8 @  B5 J1 N
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏
8 R9 j+ w. \+ K. B
你好,你是不是将host/app下的log.h和dsp/driver下的log.h和到一块啦,怎么说下你的思路6 h, j8 y! {. ~7 m  Z, m5 L( {, k
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
6#
发表于 2014-12-4 15:59:03 | 只看该作者
arm 端的 log 并没有用到 uart1  p# H4 X! K4 q" z9 @  ?
dsp 端的 log 才使用了 uart1
/ m- [( ]& ^5 E& X$ R2 ^; U所以,你需要也只需要修改的是 dsp 子工程的 log.h(新版本的代码 是在 dsp/app/log.h,旧的是在 dsp/driver/log.h)
6 \6 i( O9 W6 H% Z& {( A
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
7#
 楼主| 发表于 2014-12-4 17:19:24 | 只看该作者
tenny 发表于 2014-12-4 15:592 n. U+ b6 i6 m& x
arm 端的 log 并没有用到 uart1
/ k1 C0 C( p- D+ o0 I0 j/ Cdsp 端的 log 才使用了 uart12 S/ C% o) L, K+ o: H$ z
所以,你需要也只需要修改的是 dsp 子工程的  ...
- E$ n" p! g$ A& |" J  T4 ^
那我是不是将你贴出的那段代码,替换DSP/driver下的log.h就可以是吧,+ \) `7 Q$ Z% D) V7 {8 ?/ T# Y
然后将#define OUTPUT_TO_UART1 1 换成
: [$ @4 l' o( d* ^' V- Q' ?+ U#define OUTPUT_TO_UART1 07 z' m0 V  L& r  M; T8 [! P
  是不是这样8 ]3 h  U$ |) V$ z

$ G3 N" T  U6 I7 `. B) m/ ?" H7 u5 B5 P1 m. I4 }1 Q4 j+ E
4 i5 d$ [8 _: H1 H* g
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
8#
发表于 2014-12-5 09:25:09 | 只看该作者
# t' \8 C- z! e, `  u  O
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-6 09:00 , Processed in 0.040896 second(s), 23 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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