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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

8

主题

30

帖子

150

积分

注册会员

Rank: 2

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

) L; z* }* V# j* U: g" D9 s
4 ]! H+ w9 K" ]: {2 L谢谢- f( B9 k' L" j4 N! ?# b
9 g6 g) T( |: r3 g: ^" s: z
' {3 a+ L- [4 o+ n/ F4 r' o
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
沙发
发表于 2014-12-4 14:01:26 | 只看该作者
  1 #ifndef _LOG_H_1 y9 Q$ f8 d( _" l
  2 #define _LOG_H_) P  A& L5 k' q5 G+ x1 p
  3
. F4 Y. g+ |% x3 r$ g3 u/ I/ u* W9 Y' r  4 /* 0: printf; 1: UART1 */& R; n- T" K, u
  5 #define OUTPUT_TO_UART1 1
: ^1 z% ?" k, Y; t
  6
" M: q4 q% f) T' G$ G. k3 ^! h9 A  7 /* Switch Log Output */  s, }/ X) j3 |
  8 #if OUTPUT_TO_UART1
7 Z9 n. b" n' t/ M0 }  9     /* For UART1 Initial */
, H2 ?' i+ P9 |, z 10     #include <stdlib.h>
( ^, S  d' u/ n0 w* ` 11     #include "hw_types.h"  
) p% }- u. G7 n# A 12     #include "hw_syscfg0_C6748.h"1 B8 w" o+ g  D. T" R
13     #include "soc_C6748.h"
4 c& _  z! z( e6 u9 i( m2 C 14     #include "psc.h"               
4 {. S- ^- B( e+ ~& w8 c1 [# s) s7 G 15     #include "gpio.h"               
  `6 ~/ \) d& ~$ U# A 16     #include "uart.h"* u- O, |5 b( L* G4 Y
17     #include "uartStdio.h"
5 s( H* z) J4 \4 Q9 S, n- r 18
, b. j& w" k' a8 \0 O 19     #define OUTPUT UARTprintf
6 {) L9 z- U! L2 Z* S 20 #else
0 ^. d: a$ U& {" l' e; H 21     #include <stdio.h>
$ i, J0 Q# u. @9 u4 B 22     #include <stdbool.h>4 J% q  U; |. a$ y- g$ O2 Q3 K) d3 A
23
2 R1 L/ |4 {+ r( O: w* @+ Z9 S 24     #define OUTPUT printf4 g- n$ S0 Q# l" f
25 #endif. g, R  V8 R2 t' x1 v# f
26
, I/ f" A4 T: g4 Y 27 /* Log init */- M7 @! W' k4 W4 E8 }$ G& b
28 #if OUTPUT_TO_UART1
& N1 n* ?, f0 b0 X5 t! T- a! h" u 29     #define LOG_INIT() do {                                     \6 a7 |' U+ @7 r8 x
30         PSCModuleControl(SOC_PSC_1_REGS, HW_PSC_GPIO,           \( @( q' o9 b3 [% E6 Z
31                          PSC_POWERDOMAIN_ALWAYS_ON,             \
. @' l* `7 m8 R0 }6 o  @ 32                          PSC_MDCTL_NEXT_ENABLE);                \+ j  h; @3 l$ L( l* A2 i. t
33         GPIOBank6Pin12PinMuxSetup();                            \8 Z0 ^/ ~; ^$ t* q
34         GPIOBank6Pin13PinMuxSetup();                            \
, ]2 m' }0 }/ Q 35         GPIODirModeSet(SOC_GPIO_0_REGS, 109, GPIO_DIR_OUTPUT);  \, v2 ~1 [  B2 G  Z
36         GPIODirModeSet(SOC_GPIO_0_REGS, 110, GPIO_DIR_OUTPUT);  \
+ k+ S( J3 D/ G3 L1 J4 J+ I 37         UARTStdioInit();                                        \  r% I' y' Y  p# c/ R
38     } while (0)& `* [! A. x# I* I  M: }" ^
39 #else2 G3 [7 }4 [  }* F2 r
40     #define LOG_INIT() do { } while (0)
3 J% G) j0 {, k* M8 c! D' k  ]( u. D 41 #endif: a- y5 z' M( c/ X; t
42 9 t5 b  Q  d/ H% z6 d' ?6 \" X
43 /* Log Output */
, m1 K. R( W6 r6 F 44 #define LOG_INFO(format, ...)      \! q, i6 g" [) e0 P' u2 M" g
45     do {                           \5 l: W) c9 i! z' V6 I7 D
46         OUTPUT("[%s|%s@%s,%d] " format "\n", "INFO ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
: f% r3 a) L& Z7 |* _, t 47     } while (0)& v* f& j% r3 N4 d$ G3 w3 z
48
# S" A* l7 Z) C* A7 \/ M 49 #define LOG_ERROR(format, ...)     \1 `. i- }5 d& _6 ]' v
50     do {                           \
! ]2 z6 q+ [& ^$ s 51         OUTPUT("[%s|%s@%s,%d] " format "\n", "ERROR", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \! w: m4 R( p: [8 H" Q2 A% Z: B
52     } while (0)
$ Q+ |8 ]9 y& ` 53
! ]; C; w% ^+ n. I& ~+ ]4 G 54 #define LOG_DEBUG(format, ...)     \* Z! L# m' B" D3 c
55     do {                           \
& ]* N1 c+ R$ g1 A 56         OUTPUT("[%s|%s@%s,%d] " format "\n", "DEBUG", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \. V$ v0 R" W# b( [- h% U# c* v/ ^1 S
57     } while (0)
% X; k7 A+ w4 f8 f1 P% G' G 58 2 {+ [) V# h' ~+ ?4 _
59 #define LOG_WARN(format, ...)      \% K6 ^  I" e9 J! Z0 k
60     do {                           \7 t2 r! R- ?4 M$ q# M
61         OUTPUT("[%s|%s@%s,%d] " format "\n", "WRAN ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
" F" S/ X6 s+ M& F' O! V# w, o; S 62     } while (0)
8 V& s& ~% W- `: I 63 9 C$ S2 J3 k5 n, s
64 #define LOG_TRACE(format, ...)     \; ]6 q- C" q" Q1 _% h
65     do {                           \
( m( }3 A$ u2 n: I  _; p 66         OUTPUT("[%s|%s@%s,%d] " format "\n", "TRACE", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \5 {  R/ V/ @! h, j9 S
67     } while (0)
+ U' O$ Q9 O5 v8 f 68
3 i$ F* |6 |& n' V 69 #define LOG_FATAL(format, ...)     \, @' u! W* ^! |
70     do {                           \
, I" N# v0 p+ S0 p 71         OUTPUT("[%s|%s@%s,%d] " format "\n", "FATAL", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \* O; n; K7 q# g, V
72         exit(1);                   \
) l; T! U2 Q+ y+ \  F( L 73     } while (0)
& ^0 a( M6 |9 U  T2 Q7 r9 b7 ~ 74
* q1 L. d& m' h2 C 75 /* Assert */
8 R6 C! Q9 L/ k% h7 S" F+ A9 A) ^. Y 76 #define ASSERT(EXP)                \
& E* E& r1 P3 A$ Q% G5 ?7 Q8 T 77     do{                            \
& N$ \4 p' L3 j% r& t 78         if (!(EXP)) {              \
3 [5 Q, c: _; M( s. v' Z2 r# ` 79             OUTPUT("[%s@%s,%d] ASSERT: " #EXP "\n", __func__, __FILE__, __LINE__ );                  \1 H" R: N5 F# ~& ~
80             exit(1);               \1 V) C2 s1 e, `. X6 y
81         }                          \
) G, v# U0 z+ S 82     } while(0)
8 A# K- k, _% W3 d 83
5 U3 m6 L; F$ X" N. \4 p5 @  | 84 #endif
3 T7 a) g8 _) O. ~- a% n
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
板凳
发表于 2014-12-4 14:03:10 | 只看该作者
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏4 T# L: l1 |' A% Y
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
地板
 楼主| 发表于 2014-12-4 15:21:54 | 只看该作者
tenny 发表于 2014-12-4 14:03
3 ^! g/ B8 [2 F修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏
5 s; m( x2 u1 W. z8 I) f
你好,是arm这一端的app; x0 z/ a% c; s( `  [- K' j! @
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
5#
 楼主| 发表于 2014-12-4 15:40:21 | 只看该作者
tenny 发表于 2014-12-4 14:03
3 B) F+ l3 _; e" e修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏
* n- O- u: g6 @- v# U
你好,你是不是将host/app下的log.h和dsp/driver下的log.h和到一块啦,怎么说下你的思路
6 z4 o; a5 X7 V! ]
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
6#
发表于 2014-12-4 15:59:03 | 只看该作者
arm 端的 log 并没有用到 uart1
% D1 k8 |, l* H) F% ]8 Jdsp 端的 log 才使用了 uart1+ T) x/ U+ s$ h( b. u
所以,你需要也只需要修改的是 dsp 子工程的 log.h(新版本的代码 是在 dsp/app/log.h,旧的是在 dsp/driver/log.h)8 `4 j, C! r3 }/ Y6 \; E( d
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
7#
 楼主| 发表于 2014-12-4 17:19:24 | 只看该作者
tenny 发表于 2014-12-4 15:59
9 v* [/ ]; ]. ], `1 I$ v# L/ k( `5 carm 端的 log 并没有用到 uart1
2 Q7 O: J" S8 ]6 }8 [dsp 端的 log 才使用了 uart1) N, c6 b  `8 `/ q1 Z3 o% {
所以,你需要也只需要修改的是 dsp 子工程的  ...
0 S# i9 z! H6 u& B# H& z  Y
那我是不是将你贴出的那段代码,替换DSP/driver下的log.h就可以是吧,
0 P8 ^) `5 G( n然后将#define OUTPUT_TO_UART1 1 换成! D, u( y/ d2 B( }; e/ f: l: M
#define OUTPUT_TO_UART1 09 d- N" I. V8 b& b
  是不是这样7 \+ u; ?; Y' H: q# f' W( c- F
* Z+ R) Z' y4 e6 ]" ]+ _

% Z! V$ k/ W# z+ u* u' `' [4 N! T; S. L, W) R# ]3 d
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

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

' @  h. E( p6 A
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-7-16 05:44 , Processed in 0.040250 second(s), 23 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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