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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

8

主题

30

帖子

150

积分

注册会员

Rank: 2

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

  c. j9 n6 r, m
8 g* ^7 Y  c9 y2 H5 j5 N谢谢
, B+ D" T: m+ D# U$ y
, f. U6 p1 B: Y% g2 o# i
6 }; I- N* `3 r# O
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
沙发
发表于 2014-12-4 14:01:26 | 只看该作者
  1 #ifndef _LOG_H_' q& s$ ?8 {: R& v# X
  2 #define _LOG_H_
% _5 w8 Q2 A: F0 _8 O  Y  3
5 a  y" U5 w. K. J0 q, R2 F: N4 G  4 /* 0: printf; 1: UART1 */
! Y+ h$ |( H7 ?. o( b9 E  5 #define OUTPUT_TO_UART1 15 g" x" w) A2 a( b1 ~  o$ e
  6 ! U8 l$ f- g' s% W, H* A, e
  7 /* Switch Log Output */
5 h5 N( G( Q! b# J% ~  8 #if OUTPUT_TO_UART1
( a( K$ t; N* K( {8 I  9     /* For UART1 Initial */( C8 i6 S3 p' [, m1 a) ~4 ^
10     #include <stdlib.h>5 O, d% a- Z& l
11     #include "hw_types.h"  
5 J4 X0 |+ P$ ^  ~. v% a/ N 12     #include "hw_syscfg0_C6748.h"
% h) t% W, B+ H% `& S) N 13     #include "soc_C6748.h"
! t% z# m) d8 ]2 h) o  q 14     #include "psc.h"               
9 ~* z4 Q0 D: F  T3 f 15     #include "gpio.h"               
+ |  Z, I1 {, Z0 c- A" K 16     #include "uart.h"- v" U- A# H, N6 |6 }1 f
17     #include "uartStdio.h". H) o5 g9 D' k
18
; ?$ I' z: Q* | 19     #define OUTPUT UARTprintf
9 E+ |9 K7 A: N& f( e, {, L 20 #else
- T9 p% j: I7 U( P" Z  W  n. B2 M- h/ T 21     #include <stdio.h>
: I! f. N  E/ e/ Q( H: W 22     #include <stdbool.h>1 }! b8 f' e; a4 Q4 D6 f- e  S9 T
23
4 i4 P" v, Y4 _+ y6 x 24     #define OUTPUT printf3 v. i8 P. G: ]6 q+ B
25 #endif6 `5 O3 P) i  S# O, {/ k# Z) A! h
26
7 k. `/ G) U+ R  q8 a+ z( K 27 /* Log init */
* ]+ z; i8 O$ Q" h7 D6 J1 D  ? 28 #if OUTPUT_TO_UART1# b5 M/ t  w/ g6 j$ ]( j7 K/ x
29     #define LOG_INIT() do {                                     \
( v  v5 p# I  j- G 30         PSCModuleControl(SOC_PSC_1_REGS, HW_PSC_GPIO,           \7 G9 u' P0 j! @- Y* u
31                          PSC_POWERDOMAIN_ALWAYS_ON,             \
" A1 O- c8 ]1 b# B/ W5 r 32                          PSC_MDCTL_NEXT_ENABLE);                \2 b' y( F6 r, j6 H: M* K: f
33         GPIOBank6Pin12PinMuxSetup();                            \6 h. c! \1 o) j* K3 A( K$ Q
34         GPIOBank6Pin13PinMuxSetup();                            \
7 n$ a* k7 T  \" H 35         GPIODirModeSet(SOC_GPIO_0_REGS, 109, GPIO_DIR_OUTPUT);  \
) P9 ?; o5 s9 i; l4 ~- B/ {3 R$ M 36         GPIODirModeSet(SOC_GPIO_0_REGS, 110, GPIO_DIR_OUTPUT);  \1 P8 _6 B. N- v; R
37         UARTStdioInit();                                        \
) K5 E: ^- k0 Z 38     } while (0)4 n3 R/ i2 j3 a3 H; m
39 #else" z- D0 Z- o* N; v9 R- q
40     #define LOG_INIT() do { } while (0)0 w9 }. v5 E6 j" f
41 #endif
! R7 B: K4 ^8 V) u# L8 V7 O2 t4 Y 42 8 N' _3 M& l0 S; q" |
43 /* Log Output */
- \1 E6 R$ c; c; ]" t' u' d3 o0 V 44 #define LOG_INFO(format, ...)      \
5 i& ?0 B8 S4 |* C( Z5 o3 s( ^ 45     do {                           \4 M& c) I' L: p2 f+ p2 L
46         OUTPUT("[%s|%s@%s,%d] " format "\n", "INFO ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
' B/ M" r2 U! T7 M) Y" X 47     } while (0)
" e1 {/ Y; L+ P. C 48 . U3 M  I1 F) o8 J
49 #define LOG_ERROR(format, ...)     \
8 v) A$ g, {6 I, p- \. s+ u 50     do {                           \5 C7 y; g, N4 p
51         OUTPUT("[%s|%s@%s,%d] " format "\n", "ERROR", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
9 ?6 i* v6 y" ?5 k/ l: k 52     } while (0)  Q: `) T5 P4 B2 N0 @% T! e
53
- U3 n: q: F' Z/ c$ z) N. [3 ?# c) w 54 #define LOG_DEBUG(format, ...)     \
7 g" ], P/ b& I2 i) e 55     do {                           \$ [: o8 `; X  v
56         OUTPUT("[%s|%s@%s,%d] " format "\n", "DEBUG", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \0 v/ @9 M' v) t% g4 z4 Q/ M9 y
57     } while (0)
; ^$ i0 T/ n9 J- {5 U3 Z! M& m 58
& E# U1 s* ]" ?  w5 Y. P1 x( | 59 #define LOG_WARN(format, ...)      \
* p6 D+ ^$ r  x$ R 60     do {                           \; k% }  J* E' H, _# b" r
61         OUTPUT("[%s|%s@%s,%d] " format "\n", "WRAN ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
3 m$ b3 d2 G8 L0 |5 S 62     } while (0)7 x: V" M  B8 j- p
63 5 s2 T% g# P; Z/ O; d6 s: w0 \
64 #define LOG_TRACE(format, ...)     \  r- R! u. |% W/ a# O
65     do {                           \
# i! u* a" L# t% n: U$ Q+ i; C' v 66         OUTPUT("[%s|%s@%s,%d] " format "\n", "TRACE", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \7 {- R6 ]) ]9 {" a4 ~6 |7 R$ o
67     } while (0)+ L2 r% b5 n4 m! z8 ]
68
: ?+ r! T% G0 } 69 #define LOG_FATAL(format, ...)     \% o& |6 M$ r" c
70     do {                           \: ]9 P0 S6 J/ g" p
71         OUTPUT("[%s|%s@%s,%d] " format "\n", "FATAL", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
# U* w  F6 c4 s: m+ C! l5 A 72         exit(1);                   \
( I# n' {" W/ m4 u# I1 z+ y 73     } while (0)0 I$ H! U$ v5 p5 u% d! n) M8 M
74 : \5 d6 Q. a' B. W. J/ e9 I- J
75 /* Assert */! V9 F% L- Z* g2 n; c
76 #define ASSERT(EXP)                \
6 b4 t& R/ S+ R8 ^* e$ e0 _: N- w 77     do{                            \
9 n& R/ A  f  @  J& H: T: ` 78         if (!(EXP)) {              \
! ^4 \+ ~( n% D* v% K! t 79             OUTPUT("[%s@%s,%d] ASSERT: " #EXP "\n", __func__, __FILE__, __LINE__ );                  \
' S1 W! p3 Z+ e0 c 80             exit(1);               \# ]& l( g6 _( A. ?3 |* N8 G$ S
81         }                          \5 D% B1 E4 y; d  k
82     } while(0)( Z) X; Y/ D5 v9 a( o
83
! A5 e& _8 F$ @; k- `" l# | 84 #endif
+ @' n- t0 z% M8 ~! X. l
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
板凳
发表于 2014-12-4 14:03:10 | 只看该作者
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏# b+ ?+ p9 L3 f" i
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
地板
 楼主| 发表于 2014-12-4 15:21:54 | 只看该作者
tenny 发表于 2014-12-4 14:03
$ Q. }+ f0 @. B修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏

8 ^* G9 ~6 J% v7 l3 f+ x你好,是arm这一端的app; P9 O' x3 D4 y( ?/ Z5 `# ~
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
5#
 楼主| 发表于 2014-12-4 15:40:21 | 只看该作者
tenny 发表于 2014-12-4 14:03
6 V8 T  k1 y6 S. p( m修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏

  a/ n; Q( y) r' ~( R你好,你是不是将host/app下的log.h和dsp/driver下的log.h和到一块啦,怎么说下你的思路5 {3 W3 B4 O" s- A; U
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
6#
发表于 2014-12-4 15:59:03 | 只看该作者
arm 端的 log 并没有用到 uart1
1 r8 W/ D# G1 o8 _% j+ }8 w; U" Ldsp 端的 log 才使用了 uart1! E8 s( `" [' n1 t6 l
所以,你需要也只需要修改的是 dsp 子工程的 log.h(新版本的代码 是在 dsp/app/log.h,旧的是在 dsp/driver/log.h)9 o, M5 E% q1 ?$ V! z$ K6 k
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
7#
 楼主| 发表于 2014-12-4 17:19:24 | 只看该作者
tenny 发表于 2014-12-4 15:59
" y, v+ s3 u* Oarm 端的 log 并没有用到 uart1: W# p$ \( Z# ^/ d
dsp 端的 log 才使用了 uart1
# [- |; D! [3 w* |) t# |$ c所以,你需要也只需要修改的是 dsp 子工程的  ...
5 _. r2 B2 F5 C1 V
那我是不是将你贴出的那段代码,替换DSP/driver下的log.h就可以是吧,
7 a. y& o& u( {然后将#define OUTPUT_TO_UART1 1 换成
1 H+ E6 X  h4 r8 d3 a) Y2 {1 t7 I#define OUTPUT_TO_UART1 0
  a( D# G4 ^1 Z& [8 R8 c# g$ ~  是不是这样
4 p3 S' [4 Y& B/ @/ k6 `" M( A8 Q: g; l
7 ~" }, \& B( U. C% F+ Y. y

4 S7 w% R; n" W1 F
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

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

/ m7 e! h! h4 l0 b7 T- o
回复

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2026-3-5 05:06 , Processed in 0.041789 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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