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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
跳转到指定楼层
楼主
发表于 2014-12-4 11:08:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
你好我现在用的你们的omapl138开发板,跑的双核通信的程序,我现在需要通过串口一向外部发信息,但是串口一被DSP占用了,我怎样才能解除DSP占用呢& ~4 z5 K2 g; {- z% V4 T$ N

  x8 ^2 L/ e' d9 \+ c/ t0 T  I4 _
谢谢
) ?9 w0 ^! R- U6 O& a# q# z+ w
) ?$ E7 g9 G1 l9 W# l1 o  P
9 e% F. c+ X/ B8 S/ [
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
沙发
发表于 2014-12-4 14:01:26 | 只看该作者
  1 #ifndef _LOG_H_  R: O. e: G$ e# ]" y
  2 #define _LOG_H_6 S# T0 j# _/ [3 q7 L/ {
  3
! i0 ?$ c* L2 @1 V" k  4 /* 0: printf; 1: UART1 */2 I$ O+ J$ M) L  U( K8 }: ^& r
  5 #define OUTPUT_TO_UART1 1
# i9 r8 j6 z9 B0 f' h2 z6 U! W
  6 8 r/ P. W2 k  v6 K' }% q: Y
  7 /* Switch Log Output */
0 U+ O( A3 o6 g) I9 A$ ~$ w  8 #if OUTPUT_TO_UART1+ j. v* G  R, |9 k2 V6 _
  9     /* For UART1 Initial */  h5 |/ V, x: R
10     #include <stdlib.h>, g$ }! {6 c' `, p+ m6 w' X
11     #include "hw_types.h"  " w& L3 t$ s/ W" g# G8 C/ M
12     #include "hw_syscfg0_C6748.h"
* R3 r& Q/ L) O2 [; p+ u; \3 K* { 13     #include "soc_C6748.h"+ Y) d" V) T, R
14     #include "psc.h"               
1 a7 f% q  P6 M+ i 15     #include "gpio.h"               
& a' r2 |4 c5 M3 j7 f0 ?4 g' H1 p" N 16     #include "uart.h"
! z, v6 v9 G  w4 x9 ~/ b9 M 17     #include "uartStdio.h"7 T# O/ d6 W; V" x3 |
18 / [' S7 i# E% B" K0 ?( f* b$ F2 J" v
19     #define OUTPUT UARTprintf: |' H& h7 \; _& J( v3 X
20 #else' c2 v% W+ j& v$ S
21     #include <stdio.h>
3 H* P3 ]6 E- e5 k/ v4 b9 K2 F5 E+ { 22     #include <stdbool.h>
$ r' y: |; g! L: U6 X& Z: J 23
6 {  q9 x; x; s 24     #define OUTPUT printf
- Q/ [$ h/ s% M9 | 25 #endif6 B& x  Y/ i% i1 B2 M
26 ' o" D+ h5 f' y/ o
27 /* Log init */$ d+ K! h$ a" R" S& B1 @
28 #if OUTPUT_TO_UART1
5 V  N5 R8 i) a) H3 m5 P 29     #define LOG_INIT() do {                                     \. q9 u& F5 n3 I+ o* Z
30         PSCModuleControl(SOC_PSC_1_REGS, HW_PSC_GPIO,           \
# E1 f% i: X& b. D/ m/ ]/ [/ `5 p 31                          PSC_POWERDOMAIN_ALWAYS_ON,             \
' x* R8 n8 O5 n2 F 32                          PSC_MDCTL_NEXT_ENABLE);                \
+ b$ O. R9 |( u% @' M* w+ {0 I$ p 33         GPIOBank6Pin12PinMuxSetup();                            \0 ]2 M0 _  a0 ~' b# Z/ S
34         GPIOBank6Pin13PinMuxSetup();                            \
5 n8 o  g/ Y  P, ?9 Z 35         GPIODirModeSet(SOC_GPIO_0_REGS, 109, GPIO_DIR_OUTPUT);  \
4 J  M( d( d* _3 I& v 36         GPIODirModeSet(SOC_GPIO_0_REGS, 110, GPIO_DIR_OUTPUT);  \
" D* z* t0 o! |; J( M1 d 37         UARTStdioInit();                                        \7 f: F# n' z/ P" A
38     } while (0)
' \# f0 i% V: @3 b 39 #else
+ c$ ~9 V- e: _& v1 y9 y 40     #define LOG_INIT() do { } while (0), h! D# Y6 }. w  J" }2 G0 ~: `' C9 y* ~) P
41 #endif# [2 {6 x1 ^  y; @9 @$ y1 A
42
7 s# p+ s" O7 C2 q! n* w 43 /* Log Output */: D: o% O; m* T" i. {
44 #define LOG_INFO(format, ...)      \0 D; P8 L; x2 [1 [/ {
45     do {                           \
9 e  b) n  [! n% F" Q% K 46         OUTPUT("[%s|%s@%s,%d] " format "\n", "INFO ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
2 h' Z( R3 s8 ]6 J0 J. F0 V8 e$ }& X 47     } while (0)
, {/ O- J% w3 r- l 48
* f$ X3 {2 Q) r* G. f 49 #define LOG_ERROR(format, ...)     \0 l+ \1 |% |/ h
50     do {                           \
4 g7 {: H- Z. m7 v& | 51         OUTPUT("[%s|%s@%s,%d] " format "\n", "ERROR", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \9 `$ A# K1 ~5 i6 Y0 @
52     } while (0)
/ n% Z, n* d: Q9 D% q8 a1 C 53
3 U8 {+ i) c+ @( `# o% d) U- G 54 #define LOG_DEBUG(format, ...)     \* b4 v1 L7 r* t0 q, v
55     do {                           \
! M7 ~% B, j( U 56         OUTPUT("[%s|%s@%s,%d] " format "\n", "DEBUG", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
+ k3 R- H; e& ?8 j$ h; e 57     } while (0): D( s  Z4 n5 e& J, b8 C) u
58
- Y+ [- k3 \- I  h' E2 ] 59 #define LOG_WARN(format, ...)      \( p8 [: K+ e, d4 x7 b3 b
60     do {                           \
, w* T' g7 J2 ~: f 61         OUTPUT("[%s|%s@%s,%d] " format "\n", "WRAN ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \3 H. D8 p- [% r3 @; h% `! `
62     } while (0)1 G+ h% J% e! E; R( J$ J* O
63 3 H- S* B$ l' Q4 n
64 #define LOG_TRACE(format, ...)     \' H9 U+ b8 Y8 X7 I' I1 s
65     do {                           \$ `6 o8 s& M, m& i0 ~) r
66         OUTPUT("[%s|%s@%s,%d] " format "\n", "TRACE", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \# x, S, {& S5 H/ f
67     } while (0)5 G' e" m/ T$ @$ D
68
/ `+ W! G6 M6 `1 K, j 69 #define LOG_FATAL(format, ...)     \0 Q3 a* i, q; ^8 Y$ l/ |, T' \
70     do {                           \
/ _1 T9 Q; `/ N) M' ]" E+ g4 z% K3 g 71         OUTPUT("[%s|%s@%s,%d] " format "\n", "FATAL", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \" y. z# s0 o: n# E  a
72         exit(1);                   \
  E0 T* l, V& v- O) I$ Y 73     } while (0)
- M5 A9 D; o% a/ T( W% Q0 n 74
8 N& ?$ Y, W9 o& w: N" j 75 /* Assert */. B, r/ G8 [9 U$ y
76 #define ASSERT(EXP)                \% l" N- j; F  N1 W) g( j  j
77     do{                            \
! |' @0 |, t) h# U9 w 78         if (!(EXP)) {              \
" p* J: n" a8 p5 ? 79             OUTPUT("[%s@%s,%d] ASSERT: " #EXP "\n", __func__, __FILE__, __LINE__ );                  \
3 [* B, }0 D( `6 B 80             exit(1);               \
& h$ [3 M& z0 \; J4 u% y2 ] 81         }                          \! P2 v1 {! ?# j2 J4 `  Y
82     } while(0)
8 i' }2 M1 p; x1 Q6 S2 X 83
1 h& ^: k& Q; e; ~/ U5 Q 84 #endif9 P( ~& ]$ W8 k  Y9 A' A
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
板凳
发表于 2014-12-4 14:03:10 | 只看该作者
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏
- s! p! Z8 ~4 t# D  z/ ?
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
地板
 楼主| 发表于 2014-12-4 15:21:54 | 只看该作者
tenny 发表于 2014-12-4 14:03" d1 F( c# n* t; N/ x6 a  {" _/ o
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏

( X2 C& X1 Z5 O$ d" V( n& e5 I你好,是arm这一端的app
" K# C6 Q% Y3 ]5 a
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
5#
 楼主| 发表于 2014-12-4 15:40:21 | 只看该作者
tenny 发表于 2014-12-4 14:03
/ K2 w& ~* O7 }& X5 S3 [$ \" M修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏

7 f9 x" I; ]9 R. T你好,你是不是将host/app下的log.h和dsp/driver下的log.h和到一块啦,怎么说下你的思路
$ ]# X  |* W4 x0 w3 A
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
6#
发表于 2014-12-4 15:59:03 | 只看该作者
arm 端的 log 并没有用到 uart1  E+ J6 x) h6 }
dsp 端的 log 才使用了 uart1
/ {2 B- u, P  \: L' m所以,你需要也只需要修改的是 dsp 子工程的 log.h(新版本的代码 是在 dsp/app/log.h,旧的是在 dsp/driver/log.h)
4 W( t. N* \2 f/ m8 }
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
7#
 楼主| 发表于 2014-12-4 17:19:24 | 只看该作者
tenny 发表于 2014-12-4 15:59$ g9 `; a4 h9 H. R( S& L
arm 端的 log 并没有用到 uart1
" A4 s; I! c! z4 O  Qdsp 端的 log 才使用了 uart1
3 r4 `" _3 {, e7 e! N4 |4 V+ e所以,你需要也只需要修改的是 dsp 子工程的  ...
8 D8 V) G, q3 r# Z7 w/ p
那我是不是将你贴出的那段代码,替换DSP/driver下的log.h就可以是吧,, e# f2 U* m9 W. c$ o1 l
然后将#define OUTPUT_TO_UART1 1 换成/ V! Y- \  P2 @- M3 w
#define OUTPUT_TO_UART1 0
$ f; ]9 s, s- \6 O, A/ [6 S  是不是这样  ~- k9 e: o2 @- A9 u1 p
( T9 H# i# E: m/ C; o0 @1 Q

$ G1 X( K5 W- v  ]1 M7 I" p6 t& C3 C+ T  d1 Y. J
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

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

0 J) @) v. R8 c& O4 _3 x
回复

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2026-2-8 13:58 , Processed in 0.044358 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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