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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
跳转到指定楼层
楼主
发表于 2014-12-4 11:08:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
你好我现在用的你们的omapl138开发板,跑的双核通信的程序,我现在需要通过串口一向外部发信息,但是串口一被DSP占用了,我怎样才能解除DSP占用呢( z. X* x6 o* W, [  |* t5 U

8 b0 c& s7 X3 s, i" P' ~( J9 S
8 U8 P, k( Z* H/ u" k谢谢% X) ~+ Q- U3 k! |

  z5 Y, c* T' z) _+ |; _! J" h
) G4 i* H, Q- p( Z
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
沙发
发表于 2014-12-4 14:01:26 | 只看该作者
  1 #ifndef _LOG_H_
; N/ ?( M6 `* e% T8 i0 z  2 #define _LOG_H_
, e3 f) m% P% V& V; l- w  3
6 ~$ Y: l. n* P  4 /* 0: printf; 1: UART1 */( G- A& ]  c" U% W, Z* X$ x
  5 #define OUTPUT_TO_UART1 1
, {- v( ]1 E! K* C1 w4 ~, J; r) E7 [, a
  6
- }2 @. ^% g0 ]7 l5 `  7 /* Switch Log Output */
6 h5 |2 v4 s# W; I& ]  8 #if OUTPUT_TO_UART19 t8 B1 @) ^7 @
  9     /* For UART1 Initial */: F( z  s, W( o8 Q( L7 l
10     #include <stdlib.h>
) r0 z) N9 N1 J4 J; ~& I 11     #include "hw_types.h"  
# ?+ P+ d# L$ l( ]; n; t& l6 ^0 [! H 12     #include "hw_syscfg0_C6748.h"
8 E% ^1 o* \: S' v' I 13     #include "soc_C6748.h"
$ W6 c: X% Y" X! N/ q 14     #include "psc.h"               
7 T$ _% w$ T% Z$ T6 ~ 15     #include "gpio.h"               
' L3 ?( R) s+ i/ J 16     #include "uart.h"
1 d; k8 ]0 i. [" C, Y1 T 17     #include "uartStdio.h"
% M+ ^3 @/ M* l 18 9 V0 Z+ f# e( \4 v8 h
19     #define OUTPUT UARTprintf
$ q/ @- C. r, C0 v3 S% | 20 #else
  v$ N* z2 i$ V$ r  k 21     #include <stdio.h>( o7 n) U8 k" K) n' Z
22     #include <stdbool.h>
4 @1 I) p' ]. U( P, L 23 * ?) w3 A+ I+ i: t
24     #define OUTPUT printf
/ T6 ^8 p/ u' B$ M* I# ~ 25 #endif7 x* ~1 G/ b. |3 w$ o6 S4 P! W! w3 [9 |
26 % _  @, I1 y  p% {( L
27 /* Log init */
( V2 j5 x* n% z, F1 B! u 28 #if OUTPUT_TO_UART1
6 }  P. D+ t4 E 29     #define LOG_INIT() do {                                     \
2 O9 K2 x# X% U4 P" e) G( e 30         PSCModuleControl(SOC_PSC_1_REGS, HW_PSC_GPIO,           \
2 }1 R; h2 a" p, Z, O2 N6 R 31                          PSC_POWERDOMAIN_ALWAYS_ON,             \
$ B) E0 i1 u1 N9 v- a 32                          PSC_MDCTL_NEXT_ENABLE);                \
* _. q/ Q/ K* w" R7 }3 w2 V 33         GPIOBank6Pin12PinMuxSetup();                            \0 U! |" M/ w- g
34         GPIOBank6Pin13PinMuxSetup();                            \: [9 Y6 y" f( u# U
35         GPIODirModeSet(SOC_GPIO_0_REGS, 109, GPIO_DIR_OUTPUT);  \9 a1 D& d9 i/ _2 R7 w- ]( l4 E
36         GPIODirModeSet(SOC_GPIO_0_REGS, 110, GPIO_DIR_OUTPUT);  \$ ]# H) e2 j; X6 s
37         UARTStdioInit();                                        \6 B9 J- f; W2 c* \* _
38     } while (0)
1 N0 x( L' M" v0 x6 |" B 39 #else
. V$ {8 M( N; z4 f' e 40     #define LOG_INIT() do { } while (0)
/ o- j& x, ~) f, f0 P) S. J 41 #endif
& A: U' ~# r5 f5 Y 42
6 e. z& j: w% t' G 43 /* Log Output */1 ?7 s- a( r, p$ |
44 #define LOG_INFO(format, ...)      \
# R- v$ S; i: _6 k" k& U0 n5 X 45     do {                           \
, a; l! B8 ?7 ~! r8 |6 Y: |0 ]6 K 46         OUTPUT("[%s|%s@%s,%d] " format "\n", "INFO ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
) s: r4 |' C( ~! }$ p9 |1 W( Z 47     } while (0)9 C, m) Q* }+ I% h. Y
48
5 b0 H% {/ t: t: m! D 49 #define LOG_ERROR(format, ...)     \
5 J( c7 f% U8 Y- X& [+ v' S" b 50     do {                           \; Q! O# |/ E  G  D. }# c
51         OUTPUT("[%s|%s@%s,%d] " format "\n", "ERROR", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
) O$ z: p5 N5 g, G) R( k3 J% G* M 52     } while (0); T9 M, H- U- d1 Q( ]& L
53 ! ^" i6 G! `2 y$ b0 h; y, n
54 #define LOG_DEBUG(format, ...)     \* A9 P. z/ \4 @+ v: {" T
55     do {                           \' |# b  y# Q7 l5 [& A: @) |
56         OUTPUT("[%s|%s@%s,%d] " format "\n", "DEBUG", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \) B3 \! f# M/ y; l. s
57     } while (0)
8 x# G& T& B7 Y5 Y, S$ h 58 6 m8 S, x$ A; {1 u( u
59 #define LOG_WARN(format, ...)      \0 H6 u& W: s+ n0 r% [! i
60     do {                           \1 ~8 f3 D) X, q/ t$ }
61         OUTPUT("[%s|%s@%s,%d] " format "\n", "WRAN ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
; C" F- Y& [  x, J 62     } while (0)6 u0 }5 @' X' X( F4 P3 Y- c( l, F
63 # Q0 Q; f/ N. F/ J5 |9 j7 x' s' U1 _8 Z
64 #define LOG_TRACE(format, ...)     \
& h( f/ E3 M1 G6 q: r4 p 65     do {                           \. n$ X  c) H$ \
66         OUTPUT("[%s|%s@%s,%d] " format "\n", "TRACE", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
" _6 ^3 s' F0 X2 c$ j+ T 67     } while (0)
) w2 r1 V% b/ ]% U. x 68 . i8 |* D3 B& J5 `" ?
69 #define LOG_FATAL(format, ...)     \
- W  L  p3 `3 Y+ s 70     do {                           \: k! J( M6 R3 B2 o$ l: L; o
71         OUTPUT("[%s|%s@%s,%d] " format "\n", "FATAL", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
; Z8 I2 K8 ~% ~4 _0 J 72         exit(1);                   \% e! F9 G: L8 V) {7 E
73     } while (0)7 Q& X  }5 V' _: }
74 ) u: p0 ]8 S, N
75 /* Assert */; G: V5 t+ U/ W; d6 h9 J
76 #define ASSERT(EXP)                \
$ {% Y( ^( M9 x- c3 N 77     do{                            \- n( Y3 g; ^9 j. b& ?2 N# U
78         if (!(EXP)) {              \$ l4 W: D( p7 k4 g3 p) l
79             OUTPUT("[%s@%s,%d] ASSERT: " #EXP "\n", __func__, __FILE__, __LINE__ );                  \
- w" s7 ]0 M6 ~+ Z  Y 80             exit(1);               \
# h- j3 Y6 C3 q( E9 u. v. V 81         }                          \
* z6 D7 N% m. Q0 e6 Z 82     } while(0)
6 ]% p$ u+ E. i: Z5 o# _' S 83
/ F; m1 I/ j$ H+ M; v 84 #endif$ y7 X1 }% D/ G' |5 C
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
板凳
发表于 2014-12-4 14:03:10 | 只看该作者
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏6 a9 ]  K& w1 \; k/ ^2 _; B& I
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
地板
 楼主| 发表于 2014-12-4 15:21:54 | 只看该作者
tenny 发表于 2014-12-4 14:03% k* @& @. y4 E% K' Y# K8 X9 K
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏

; c. T2 [! ]! p$ b6 ~9 x你好,是arm这一端的app
/ X: v2 W) Z+ w3 K: q4 K
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
5#
 楼主| 发表于 2014-12-4 15:40:21 | 只看该作者
tenny 发表于 2014-12-4 14:03
  ^. [1 v  Q( R  w修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏
3 `3 s2 ], c5 ~# ?3 [# v, g
你好,你是不是将host/app下的log.h和dsp/driver下的log.h和到一块啦,怎么说下你的思路: i9 [1 H7 c  j; C- g" G
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
6#
发表于 2014-12-4 15:59:03 | 只看该作者
arm 端的 log 并没有用到 uart1
. p: M$ U- d! P; K& k( o6 Udsp 端的 log 才使用了 uart1( A/ Y+ F2 _; p8 d4 M1 O
所以,你需要也只需要修改的是 dsp 子工程的 log.h(新版本的代码 是在 dsp/app/log.h,旧的是在 dsp/driver/log.h)
5 c- M( z+ F/ `$ ]5 u
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
7#
 楼主| 发表于 2014-12-4 17:19:24 | 只看该作者
tenny 发表于 2014-12-4 15:59
3 G% |% |# K/ l) E* k6 t3 Marm 端的 log 并没有用到 uart1/ \- u* l+ C6 e( n' q
dsp 端的 log 才使用了 uart1
" d" k+ e- Q) C' Z2 X- |所以,你需要也只需要修改的是 dsp 子工程的  ...

( H9 y. P* L3 V1 b0 X那我是不是将你贴出的那段代码,替换DSP/driver下的log.h就可以是吧,6 l8 K! j0 |% U! g: {: y! k
然后将#define OUTPUT_TO_UART1 1 换成
! Z7 m. i. W! S: r4 S  b#define OUTPUT_TO_UART1 0; T. }. o. U9 O1 X; R! J2 X
  是不是这样/ v* ~3 P) R. Q* F: L1 E8 q
0 Q! G+ a! E; X; z; ~9 i

% h, Y% [1 j; E- B2 j; |& N: q+ ]8 h2 r
0 x) u* d1 X; U3 r1 X( N
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
8#
发表于 2014-12-5 09:25:09 | 只看该作者

) b2 r, t' H6 l" f# g) k
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-20 15:30 , Processed in 0.041712 second(s), 23 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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