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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
跳转到指定楼层
楼主
发表于 2014-12-4 11:08:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
你好我现在用的你们的omapl138开发板,跑的双核通信的程序,我现在需要通过串口一向外部发信息,但是串口一被DSP占用了,我怎样才能解除DSP占用呢
3 u) i% ?; R- ?9 _& d  Q5 t) d4 z: C2 y4 G

$ w! R* l* u3 L7 ?' v/ a谢谢
6 |5 E; l# l1 @1 i8 Q% N6 j
' k- \1 A$ ^1 j$ }
% u; c; n' c' b) z
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
沙发
发表于 2014-12-4 14:01:26 | 只看该作者
  1 #ifndef _LOG_H_9 g( Z  R6 R' w! B6 F/ G
  2 #define _LOG_H_& X  G7 k7 P& q
  3 4 h" f1 U' E( ^
  4 /* 0: printf; 1: UART1 */& E1 c, m5 s& ~2 _) ~$ f& L2 O
  5 #define OUTPUT_TO_UART1 1
+ o8 z; ^! m# X, E& k7 C
  6
& Q5 W+ _; w1 C  7 /* Switch Log Output */' i* \* u! Q: x1 D
  8 #if OUTPUT_TO_UART1
. e) g4 {! J8 b  X6 b: a, D  9     /* For UART1 Initial */
# l9 X4 t; E3 b# ?, s5 j 10     #include <stdlib.h>
/ t5 I* t% a% l% ] 11     #include "hw_types.h"  
' l% e2 `) z' O1 I6 {6 q- C 12     #include "hw_syscfg0_C6748.h"+ X% i) E, w6 s$ @" Q" ]3 m- c: j, p
13     #include "soc_C6748.h"( z! H8 M3 C% T4 h# h
14     #include "psc.h"               8 J; M% p5 I7 l8 r: @- U& X# k; h: E
15     #include "gpio.h"               8 D& N1 Z2 O( R- P5 J
16     #include "uart.h"% n/ Q  L$ ^5 P  [3 c+ x5 o* v. s: [
17     #include "uartStdio.h": J0 i8 q1 k+ {2 X0 {2 p
18
( \( B9 B, d0 z  C: ]& W1 ` 19     #define OUTPUT UARTprintf
$ y7 H" y  h5 K 20 #else/ W6 O7 J! P" D4 h8 @# H
21     #include <stdio.h>) v$ X. o9 C6 b* z
22     #include <stdbool.h>9 a7 O. S, f" K
23
9 N3 U- e- }4 T  k& F3 Y 24     #define OUTPUT printf
7 ]& Q$ }4 N9 | 25 #endif
' X" O: k2 {5 s% x 26 1 U, A8 Q2 p" Z& ^) O, D* p* k, B
27 /* Log init */$ ], x$ m, n/ S* R. i/ c" s4 R
28 #if OUTPUT_TO_UART1
( ]% N7 |) I' r( ^8 y5 Y 29     #define LOG_INIT() do {                                     \
/ x2 [" m( M/ ^3 H# i9 o5 p4 N 30         PSCModuleControl(SOC_PSC_1_REGS, HW_PSC_GPIO,           \" E1 @" y! s* r: X/ \- c
31                          PSC_POWERDOMAIN_ALWAYS_ON,             \! s9 ]- N$ ?. A, V. W4 X2 b9 x  L
32                          PSC_MDCTL_NEXT_ENABLE);                \
! }5 Y; u8 y# O. c2 P" P 33         GPIOBank6Pin12PinMuxSetup();                            \
# o8 `8 `: [- @; C9 y; D0 Z+ q 34         GPIOBank6Pin13PinMuxSetup();                            \  i6 L: a" ]% ^, j
35         GPIODirModeSet(SOC_GPIO_0_REGS, 109, GPIO_DIR_OUTPUT);  \. J1 `( L) W$ y! E% K# g$ w( }
36         GPIODirModeSet(SOC_GPIO_0_REGS, 110, GPIO_DIR_OUTPUT);  \
3 Q8 o* F$ a" u: G4 ~. K 37         UARTStdioInit();                                        \
, y" }: `" m0 X 38     } while (0), G7 k# Q) M) }  P/ {
39 #else+ j; n- K& k( i$ |! G9 I' ^( N
40     #define LOG_INIT() do { } while (0)  E7 n- r+ L2 ^
41 #endif
! l0 q0 l2 K; K8 V* p/ Y 42 1 u8 v& U3 d* u! n3 @; W( i
43 /* Log Output */
& Z, Z6 |7 D+ u# D# O1 Z 44 #define LOG_INFO(format, ...)      \, I( i. K; |) {2 Y9 j
45     do {                           \# g$ d: j: a# q
46         OUTPUT("[%s|%s@%s,%d] " format "\n", "INFO ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
; C- R( }. `4 R5 n" G/ j 47     } while (0)9 J, B5 R6 e3 |7 V) t0 O
48 ; F% k7 a; ?5 g' W' K2 }9 R
49 #define LOG_ERROR(format, ...)     \
8 o. p3 s+ F4 B 50     do {                           \
5 j6 n' P9 }- a8 g$ |; R+ W 51         OUTPUT("[%s|%s@%s,%d] " format "\n", "ERROR", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \/ B7 B2 U, }7 e: ~6 O' y1 o& ?
52     } while (0)$ ?7 P, S4 H' k# ^
53
4 r' G; D5 @# m  d 54 #define LOG_DEBUG(format, ...)     \
" Z  o; b$ J5 l: B6 C, | 55     do {                           \
; C9 N  `! F- | 56         OUTPUT("[%s|%s@%s,%d] " format "\n", "DEBUG", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \; w5 h9 T: D! @4 g( ~8 V
57     } while (0)
. U' v8 {) r% q3 t5 p* O% d* E 58 . z# Z7 W% M( t4 g5 U1 N
59 #define LOG_WARN(format, ...)      \1 j2 U. S) n: W* }$ f
60     do {                           \! ^! w2 c+ B+ ^' E
61         OUTPUT("[%s|%s@%s,%d] " format "\n", "WRAN ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
2 A5 z; G2 [( J# F; ?' F! H* n 62     } while (0)
( P1 Z/ f3 }; T: v5 x& {# h% _ 63
$ R' \/ P4 h% S9 }+ C6 C9 C 64 #define LOG_TRACE(format, ...)     \. U# A- ^7 ^- u
65     do {                           \
! C# @- T) _0 F0 X 66         OUTPUT("[%s|%s@%s,%d] " format "\n", "TRACE", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \/ Z3 j1 ]; q; g8 m1 y; l! a
67     } while (0)
7 x4 K1 u' B( Z4 T 68 : ?6 U  t- i+ G' E# w1 w2 c5 ]
69 #define LOG_FATAL(format, ...)     \. b2 k& W9 @* e
70     do {                           \
6 m" v; Y6 R% y7 I/ R' e0 j 71         OUTPUT("[%s|%s@%s,%d] " format "\n", "FATAL", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
) A& Y1 x( o, e8 M8 q 72         exit(1);                   \
. v# T$ f" v, x* p2 | 73     } while (0)7 x" j+ w* c6 a: Q; {4 m0 D$ [: l! c
74 0 ?" I( r% L, G5 G6 I
75 /* Assert */
0 q' j3 t$ r/ V+ c' r+ F0 E 76 #define ASSERT(EXP)                \
0 g- F, d4 P! o0 a 77     do{                            \, s1 v6 D' S* E" o- u$ R& x, E
78         if (!(EXP)) {              \, |8 X# B- C! S4 U( g) W7 u
79             OUTPUT("[%s@%s,%d] ASSERT: " #EXP "\n", __func__, __FILE__, __LINE__ );                  \
$ F; ?- k# u0 I" _4 }2 r 80             exit(1);               \
9 r4 K: c# {1 C8 C0 _ 81         }                          \
- B3 q6 v$ A$ a0 e; F 82     } while(0)
: _1 t4 F1 [( E2 y 83
# }0 g* `/ e5 Z, W0 E; k4 c6 [6 h 84 #endif
3 F  b; @) [9 A" \
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
板凳
发表于 2014-12-4 14:03:10 | 只看该作者
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏, t+ ^8 C0 i# i! m- B$ W
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
地板
 楼主| 发表于 2014-12-4 15:21:54 | 只看该作者
tenny 发表于 2014-12-4 14:03
1 o# d9 a+ X5 ]. O" A+ f修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏

% s5 s! e& l* d1 N你好,是arm这一端的app
/ p( n/ `( }6 N) ], q, x, i( g
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
5#
 楼主| 发表于 2014-12-4 15:40:21 | 只看该作者
tenny 发表于 2014-12-4 14:032 z: `% j( _5 |: u0 i: K' L
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏

: R- \) h3 c5 A2 M- R: B, u你好,你是不是将host/app下的log.h和dsp/driver下的log.h和到一块啦,怎么说下你的思路" q# r7 {" d( R! O/ _: K( P
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
6#
发表于 2014-12-4 15:59:03 | 只看该作者
arm 端的 log 并没有用到 uart13 d1 D4 ]$ h6 I! q8 r+ \& o: ~
dsp 端的 log 才使用了 uart12 B) H9 {+ N9 a  n6 v; E
所以,你需要也只需要修改的是 dsp 子工程的 log.h(新版本的代码 是在 dsp/app/log.h,旧的是在 dsp/driver/log.h)
% ?+ p( ?- l5 P% [0 a
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
7#
 楼主| 发表于 2014-12-4 17:19:24 | 只看该作者
tenny 发表于 2014-12-4 15:59
1 E5 A6 |' Z- Q6 q8 ]; m5 Carm 端的 log 并没有用到 uart1
/ X9 _3 E% c/ A6 udsp 端的 log 才使用了 uart19 j( l, o+ ?$ t# S
所以,你需要也只需要修改的是 dsp 子工程的  ...
  V) }/ H, N2 `1 x
那我是不是将你贴出的那段代码,替换DSP/driver下的log.h就可以是吧,# H: h- D! [; |1 e
然后将#define OUTPUT_TO_UART1 1 换成
# ^3 R- E2 c' l5 ~#define OUTPUT_TO_UART1 0
+ R8 s  h; V! T) s) z3 C: b  是不是这样
2 {# q2 U/ l% k) w1 M$ m4 ^& y2 D; C7 u* U( D$ ~  Y

: K6 W  C$ i9 K5 |5 I3 p
  g! H) E/ s9 ~+ s" q
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
8#
发表于 2014-12-5 09:25:09 | 只看该作者
$ X  y+ g. {+ D# ~1 Z
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-9 09:54 , Processed in 0.040621 second(s), 23 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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