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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
跳转到指定楼层
楼主
发表于 2014-12-4 11:08:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
你好我现在用的你们的omapl138开发板,跑的双核通信的程序,我现在需要通过串口一向外部发信息,但是串口一被DSP占用了,我怎样才能解除DSP占用呢
/ a8 A) L2 u" i. v6 K7 E
" U  b. A& P0 x3 ~* c$ t1 M( n, z$ V2 D
谢谢4 H( b8 t1 p/ X, C" s0 a- Z
1 E; B+ S3 \4 x
4 t/ n/ w1 S( L- a1 x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
沙发
发表于 2014-12-4 14:01:26 | 只看该作者
  1 #ifndef _LOG_H_1 h& B, \) Z! L
  2 #define _LOG_H_% C& q! P8 E. O3 Y* g: I( q
  3
( R0 n0 z. q$ `, q! \  4 /* 0: printf; 1: UART1 */
$ U1 q0 n1 }9 q" o' p. s  5 #define OUTPUT_TO_UART1 1" G6 j" t) {' `- _& N* s
  6   ~$ L: g3 j0 g6 I
  7 /* Switch Log Output */
8 f. a2 q0 l1 l  8 #if OUTPUT_TO_UART1, m, p0 M. J+ U# r- `
  9     /* For UART1 Initial */6 |+ f: U1 p  i
10     #include <stdlib.h>
# Z  N; K8 X* g: T0 X 11     #include "hw_types.h"  
  s8 x! a" w% |6 g2 Y5 t 12     #include "hw_syscfg0_C6748.h"
" ], C. [% {% E& ?; z/ o' @+ B 13     #include "soc_C6748.h"0 g+ B9 V' V) _* k0 C: e
14     #include "psc.h"               3 @6 k: K- Z6 a0 t
15     #include "gpio.h"               
( E: {2 E3 L) z 16     #include "uart.h"0 H' a, t8 R+ y" O" x! l. `3 ?+ C2 V
17     #include "uartStdio.h"
- X% b# d; q: T( O' a: ^3 q+ x 18 9 L& I+ d  @7 h* n
19     #define OUTPUT UARTprintf2 ~. m# S$ W3 E5 p) ~. B1 V- l
20 #else
6 N* _: L7 p2 a% R 21     #include <stdio.h>* R4 W$ l. c) S4 h3 {- z
22     #include <stdbool.h>
$ a9 Y- K1 t: B4 i6 V6 {/ j 23 ' X4 `4 w( a# r6 s1 d9 z6 ~
24     #define OUTPUT printf
7 C8 q6 x( [, i$ e. K 25 #endif
' j3 @8 V. Q3 G: ^0 y- c 26
8 w5 v7 I1 [  c  X) G8 B 27 /* Log init */- Z: [* `# T2 L& D( _
28 #if OUTPUT_TO_UART1
% ?* l3 z6 V+ I# x& r/ l: ` 29     #define LOG_INIT() do {                                     \
3 m2 f0 Z, `5 y- m1 N 30         PSCModuleControl(SOC_PSC_1_REGS, HW_PSC_GPIO,           \% R( v0 a- l+ K6 C& i2 @8 \9 v
31                          PSC_POWERDOMAIN_ALWAYS_ON,             \
4 y3 ?/ |- I0 E% X. _: h 32                          PSC_MDCTL_NEXT_ENABLE);                \- h) x3 a- J9 G' S, c+ t
33         GPIOBank6Pin12PinMuxSetup();                            \
/ C7 n$ M/ K, K+ Z$ v7 F* _ 34         GPIOBank6Pin13PinMuxSetup();                            \, C/ A9 F$ ]5 X$ d* C: `8 F
35         GPIODirModeSet(SOC_GPIO_0_REGS, 109, GPIO_DIR_OUTPUT);  \
4 U: l2 ^" G' U9 q2 g4 l 36         GPIODirModeSet(SOC_GPIO_0_REGS, 110, GPIO_DIR_OUTPUT);  \
( W7 H: {# g- `# j  ~! S5 ~ 37         UARTStdioInit();                                        \8 u5 S( W% F1 S0 K& n9 J3 J4 e& f8 v/ ]( n
38     } while (0)
" K- F# l/ U5 ^4 U9 G; x/ @ 39 #else
! m4 m7 `0 k# I+ J9 p 40     #define LOG_INIT() do { } while (0)+ _2 ~% ~, o5 v& A( t2 q8 x: w% s% c' p
41 #endif# n* s3 m  {' x+ n
42
' k& S) p) X4 c' p) }3 j 43 /* Log Output */
0 @5 S  C# d- c 44 #define LOG_INFO(format, ...)      \
/ G) W3 }' E0 O) }$ Y0 H; X) k 45     do {                           \
, G2 Z! V! h2 u 46         OUTPUT("[%s|%s@%s,%d] " format "\n", "INFO ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \6 r2 x* P. H" P6 \" W/ [; m
47     } while (0)5 ^( I$ v. m6 r1 M: t6 Q$ ?" J2 W
48 6 w5 `" J, I0 [& y0 n
49 #define LOG_ERROR(format, ...)     \
3 b9 O1 U8 O3 H' k+ w; q( ~5 S 50     do {                           \
( J: k% s1 @8 [2 \3 Q, V 51         OUTPUT("[%s|%s@%s,%d] " format "\n", "ERROR", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \) |7 D2 K6 Z: I  f
52     } while (0)
1 \) P  z( E; B8 R6 V& t6 b 53 ' S3 Y4 P, h$ n2 d4 y
54 #define LOG_DEBUG(format, ...)     \
- G( S0 w7 z; V7 V" T# v7 k- q 55     do {                           \
# U( I! z% I* L9 _ 56         OUTPUT("[%s|%s@%s,%d] " format "\n", "DEBUG", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
; ?" y! o: p- H 57     } while (0)  D, |4 i1 S# r* c8 O  v  W3 Y
58
% R( L+ O0 P0 K* D1 i$ ^  J 59 #define LOG_WARN(format, ...)      \
' B% ?# C$ _# g  {4 q9 s8 T; S 60     do {                           \# M. Y# O' [2 C8 [' J6 y8 Q5 c" b( x
61         OUTPUT("[%s|%s@%s,%d] " format "\n", "WRAN ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
. R+ U: s- b2 q8 I3 G# r 62     } while (0)8 \, @* S- p2 A) ]: M, b
63
$ t6 W! S9 x4 g) f+ }3 Y8 q1 d 64 #define LOG_TRACE(format, ...)     \. S7 ~* v* s; e/ ]% P
65     do {                           \
9 M+ x  X. j* ^" p0 O5 R" J 66         OUTPUT("[%s|%s@%s,%d] " format "\n", "TRACE", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
7 p' y& t& s% w* P. i' q- f6 s 67     } while (0)
1 U8 _$ z) f/ e& ~! W 68
# i5 |) x- @1 { 69 #define LOG_FATAL(format, ...)     \0 Q4 V1 U) }' \- U
70     do {                           \5 j0 h$ I2 A- l$ A1 D8 y8 q
71         OUTPUT("[%s|%s@%s,%d] " format "\n", "FATAL", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \2 Q( x- @$ g6 N: u3 g8 q  i
72         exit(1);                   \
4 _  ?2 R+ `% U1 F! ?) E  S1 v 73     } while (0)
4 r6 U$ j$ X! w9 V' a' t 74
7 ~& e2 n" s" p, ]9 W% v- O 75 /* Assert */7 z) g1 N2 u5 L9 O
76 #define ASSERT(EXP)                \
' }, E! o+ A# ^3 z' m/ S5 P* h 77     do{                            \
3 ^- A, G! y1 T8 G: k1 x 78         if (!(EXP)) {              \9 m8 _, h5 w, ?9 g! s
79             OUTPUT("[%s@%s,%d] ASSERT: " #EXP "\n", __func__, __FILE__, __LINE__ );                  \
" [: X& s$ W9 o8 R  A 80             exit(1);               \( X- t: D+ w4 T! `; K$ K" K
81         }                          \7 O4 E* z: o9 ]% b* B1 w& G+ x
82     } while(0)+ J5 Z; i1 F: {& A
83 : i9 y% Y4 c: D
84 #endif
! t  x! q& k( z
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
板凳
发表于 2014-12-4 14:03:10 | 只看该作者
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏% _5 ~2 e) r& D! R: x! @6 `& P
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
地板
 楼主| 发表于 2014-12-4 15:21:54 | 只看该作者
tenny 发表于 2014-12-4 14:03
6 y  ]5 ]1 L' y7 m& g修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏
- v. Q" z( j7 D
你好,是arm这一端的app4 z" I% @7 O9 L& M" C9 ^
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
5#
 楼主| 发表于 2014-12-4 15:40:21 | 只看该作者
tenny 发表于 2014-12-4 14:03. ?; [" ~# R5 V' F/ t
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏

$ e2 F7 e7 \3 ?# l" D4 a% }你好,你是不是将host/app下的log.h和dsp/driver下的log.h和到一块啦,怎么说下你的思路( H1 F8 K  w. q8 k! G7 b3 l1 m3 B
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
6#
发表于 2014-12-4 15:59:03 | 只看该作者
arm 端的 log 并没有用到 uart1
9 ~3 [* a6 y, @4 G6 e) u6 Jdsp 端的 log 才使用了 uart1
  s$ n, Z4 y1 M' x所以,你需要也只需要修改的是 dsp 子工程的 log.h(新版本的代码 是在 dsp/app/log.h,旧的是在 dsp/driver/log.h)
2 ]; l2 ]/ }1 B5 y; U7 |
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
7#
 楼主| 发表于 2014-12-4 17:19:24 | 只看该作者
tenny 发表于 2014-12-4 15:593 U; p  L$ x8 @4 W9 N
arm 端的 log 并没有用到 uart1
5 @0 D5 {+ l% R; g' `dsp 端的 log 才使用了 uart12 j' S3 A; S$ b+ L. [2 I
所以,你需要也只需要修改的是 dsp 子工程的  ...
2 d. r. b- X1 D; Z; n7 `& O
那我是不是将你贴出的那段代码,替换DSP/driver下的log.h就可以是吧,
2 I1 i7 E8 B/ f$ D6 W然后将#define OUTPUT_TO_UART1 1 换成" _8 O+ k3 p" r. G
#define OUTPUT_TO_UART1 0
$ i9 _' b, n: K, n" C  是不是这样2 R; x) }3 T, X9 F1 {, }7 z
9 U* s- a* u" W7 q8 T$ _0 Q
* ~4 U& `: T, q5 v7 d
# `, b: c8 l8 y+ e* C# S  X
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

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

' ?+ K4 i( [7 b; ~
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-8-4 15:57 , Processed in 0.050257 second(s), 23 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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