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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
跳转到指定楼层
楼主
发表于 2014-12-4 11:08:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
你好我现在用的你们的omapl138开发板,跑的双核通信的程序,我现在需要通过串口一向外部发信息,但是串口一被DSP占用了,我怎样才能解除DSP占用呢
8 J5 u$ m5 X! C  J: P
5 K; s* H5 h; W+ J0 Q5 g8 A9 |- U7 A9 {1 g0 ^# {3 O) N) r, v4 z
谢谢
, x! |2 `; y% V; b6 @" m2 j3 T  A1 D  {  ?* e! Z

% b- o0 M0 b" l# C$ s6 `
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
沙发
发表于 2014-12-4 14:01:26 | 只看该作者
  1 #ifndef _LOG_H_3 ^% `) C  X+ I8 a) Z
  2 #define _LOG_H_) l! G. B- L7 m3 b+ w4 I7 Y
  3 6 K$ ?; h: e9 Y
  4 /* 0: printf; 1: UART1 */
, E, }2 i, T! n7 V  5 #define OUTPUT_TO_UART1 1
$ o, H, @$ f- ^9 h+ y, `8 m8 n
  6
% k; t$ b1 h' P: p; w  7 /* Switch Log Output */
1 O+ x  K6 L2 E/ C# R  8 #if OUTPUT_TO_UART1
, }: f' w8 z% T4 b2 k) V5 v  9     /* For UART1 Initial */
8 e2 d  j* x- ?( w) c6 W. N 10     #include <stdlib.h>
8 H% W9 w% [! p# } 11     #include "hw_types.h"  
/ ~; H" a  I! g7 |- w 12     #include "hw_syscfg0_C6748.h"9 f4 [, r$ v" M2 b( L/ q
13     #include "soc_C6748.h"
6 }1 Q  u; }& Y" N' O% T1 W 14     #include "psc.h"               
/ h& y0 p  k7 e) u 15     #include "gpio.h"               , g: |: p1 m$ m9 ~; q9 a- n* L0 O
16     #include "uart.h"- {) M! v6 X. @- d! Z; T
17     #include "uartStdio.h"5 m! |4 ?+ \3 o+ Z+ ^. G; `
18
  f1 j; a9 {# c8 N7 k 19     #define OUTPUT UARTprintf7 a  m0 `* ]1 C. E
20 #else
2 [: b* I" j9 s/ l( | 21     #include <stdio.h>
+ I5 [* j+ W, @ 22     #include <stdbool.h>
8 T, @( I. X' X( M7 C$ G 23
4 a5 Q6 Y% o6 t' j 24     #define OUTPUT printf- s1 U( E/ p- A. D2 w
25 #endif) I7 {& i) N/ |
26 9 Z( w4 r  o' ]# O9 j
27 /* Log init */
; |9 f( c+ r' s  c# y! w6 e3 n 28 #if OUTPUT_TO_UART1
( A2 N7 V: x% i1 |9 u' y 29     #define LOG_INIT() do {                                     \8 G' t$ ^8 k( t- [) ^- l9 g# F
30         PSCModuleControl(SOC_PSC_1_REGS, HW_PSC_GPIO,           \$ B# ?+ R5 H* |
31                          PSC_POWERDOMAIN_ALWAYS_ON,             \
' B$ n# w. y3 `) V& I: { 32                          PSC_MDCTL_NEXT_ENABLE);                \
9 w! X+ l/ S: X5 r, a4 r3 n 33         GPIOBank6Pin12PinMuxSetup();                            \  W8 A) q5 K  v" b" ?7 p
34         GPIOBank6Pin13PinMuxSetup();                            \
. |% x# n. v1 H6 f* W; ]8 C" B6 M" Y 35         GPIODirModeSet(SOC_GPIO_0_REGS, 109, GPIO_DIR_OUTPUT);  \
' D1 p+ U0 \; E& W 36         GPIODirModeSet(SOC_GPIO_0_REGS, 110, GPIO_DIR_OUTPUT);  \3 g; S( p) ]9 ?4 K/ L- M& G6 y
37         UARTStdioInit();                                        \
# e8 X! m" q$ b: _1 u- R+ J 38     } while (0)
0 J6 Z% u; c  J( Z/ R& o6 I 39 #else$ U% v! G  w# ?+ `7 ^3 J: k9 @
40     #define LOG_INIT() do { } while (0)
- M0 C% m  E3 M; _, g  j! J 41 #endif
+ ]9 m+ P/ K- K3 d! w7 R 42 ! g) d! l" N8 u, K
43 /* Log Output */
! u2 k* i7 r  c 44 #define LOG_INFO(format, ...)      \0 }: L% `% ]1 X* p, a
45     do {                           \2 ?* v( r- \! ~' B; [* y
46         OUTPUT("[%s|%s@%s,%d] " format "\n", "INFO ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
7 Y0 }* ]6 K: \! [ 47     } while (0)
& \2 j3 V+ e  y/ T 48 8 R- n' T$ a  x
49 #define LOG_ERROR(format, ...)     \
, N4 n. @$ a' D, m5 h 50     do {                           \
5 k- s' h$ w: o. I 51         OUTPUT("[%s|%s@%s,%d] " format "\n", "ERROR", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \$ y1 T6 ]/ M; @# U2 n
52     } while (0)
2 D3 F# r2 u( w5 x" r 53 5 o- z! H0 _- B: Z/ M
54 #define LOG_DEBUG(format, ...)     \
! b9 N  y0 s$ Y) C$ |2 k3 ^ 55     do {                           \
; U+ V, h4 D) @ 56         OUTPUT("[%s|%s@%s,%d] " format "\n", "DEBUG", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
1 b$ y: {8 I1 r 57     } while (0)) Y% |$ {! M2 H* h+ ]4 {! t
58 + \. p4 l1 O9 k
59 #define LOG_WARN(format, ...)      \
+ Z# L+ k* V9 R8 A 60     do {                           \
1 c) b* m( d) @5 E5 ` 61         OUTPUT("[%s|%s@%s,%d] " format "\n", "WRAN ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
9 E( q, \6 y: O5 X9 [ 62     } while (0)( ^) W  e( z3 `; Y7 W6 t! |
63
, X7 o* n+ \+ v$ e" |7 Z# s$ z 64 #define LOG_TRACE(format, ...)     \
+ T5 T" Z  W' t( E3 N8 W 65     do {                           \' C. o2 w! N! G
66         OUTPUT("[%s|%s@%s,%d] " format "\n", "TRACE", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \8 [/ L: k1 H* N" A9 D8 Z" C2 l& A' q
67     } while (0)+ u0 z3 i' Z+ P' g! b
68
! s7 J6 e6 J- f" ]* d7 ], \ 69 #define LOG_FATAL(format, ...)     \
/ o0 r+ ^# i6 `% F6 \, k9 n 70     do {                           \
4 m1 \* Q, u4 O* U/ w& @7 ~ 71         OUTPUT("[%s|%s@%s,%d] " format "\n", "FATAL", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \0 g7 `2 w- [; Z7 l/ |3 `5 t9 T
72         exit(1);                   \' m! E8 O: D7 W% d" b% U
73     } while (0)- F5 a' V. v& M( \) O
74 6 @6 _( ?& w+ k' P# j
75 /* Assert */
! v7 J% M7 M  z5 H- B2 A0 k 76 #define ASSERT(EXP)                \' G9 w2 P: ^! E/ X% c- b
77     do{                            \6 \( u( u' b) d& m* v
78         if (!(EXP)) {              \# Z# G: l7 H5 L
79             OUTPUT("[%s@%s,%d] ASSERT: " #EXP "\n", __func__, __FILE__, __LINE__ );                  \4 q+ \/ v0 J9 y! [" I1 |; @% K& B
80             exit(1);               \- t. K8 ?; O* q- u9 X
81         }                          \
9 G2 O" e7 S& N! f0 y 82     } while(0)1 k/ L; L+ F- ]; B
83 ( c( Z3 s  o1 E2 E' P! V8 P
84 #endif/ @7 H* u) W2 h/ g2 V3 t) {
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
板凳
发表于 2014-12-4 14:03:10 | 只看该作者
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏
9 P% z/ S. ^* G; l, u; }
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
地板
 楼主| 发表于 2014-12-4 15:21:54 | 只看该作者
tenny 发表于 2014-12-4 14:03
+ h# p3 w2 o3 r4 d7 W修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏
) A6 I& K6 Y/ a/ N1 n0 Z
你好,是arm这一端的app$ V$ R7 c; J* z; Q2 Y" o) w/ o& k
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
5#
 楼主| 发表于 2014-12-4 15:40:21 | 只看该作者
tenny 发表于 2014-12-4 14:03
9 A! e: B; v+ q! o9 Z1 h修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏

* z& E1 u7 N; |. c& m你好,你是不是将host/app下的log.h和dsp/driver下的log.h和到一块啦,怎么说下你的思路2 h' v7 d. ]# [) O( D, N2 |
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
6#
发表于 2014-12-4 15:59:03 | 只看该作者
arm 端的 log 并没有用到 uart1' K+ r9 f0 v1 |3 F
dsp 端的 log 才使用了 uart1
4 ^3 u* g: v  ~; R. v% G- b. x所以,你需要也只需要修改的是 dsp 子工程的 log.h(新版本的代码 是在 dsp/app/log.h,旧的是在 dsp/driver/log.h)
' w0 K: k: p3 i
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
7#
 楼主| 发表于 2014-12-4 17:19:24 | 只看该作者
tenny 发表于 2014-12-4 15:59& j0 e# X, A3 i2 F& O1 m) s
arm 端的 log 并没有用到 uart1: C) S# I/ q( Q" n! f# d/ E
dsp 端的 log 才使用了 uart1
, S! F2 X5 s* A& c所以,你需要也只需要修改的是 dsp 子工程的  ...
# O) t. U* P1 [6 u
那我是不是将你贴出的那段代码,替换DSP/driver下的log.h就可以是吧,: [7 f% a2 _# S: o7 e# q
然后将#define OUTPUT_TO_UART1 1 换成# z3 A* H+ c9 ?$ E: M! e% e
#define OUTPUT_TO_UART1 0
! s5 [6 H. T3 |2 S, O) N  是不是这样
3 L' \$ R9 _  b6 H
; W% y( u6 ~. c8 g/ B
1 a8 m2 z) Q4 \% T# \9 E, _# _4 a% H5 B# c
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
8#
发表于 2014-12-5 09:25:09 | 只看该作者
. J! B% _; F; Y
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-11-4 17:05 , Processed in 0.041693 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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