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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
跳转到指定楼层
楼主
发表于 2014-12-4 11:08:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
你好我现在用的你们的omapl138开发板,跑的双核通信的程序,我现在需要通过串口一向外部发信息,但是串口一被DSP占用了,我怎样才能解除DSP占用呢
/ ]# C. ?  W: D% a' q
( H( L4 D1 J! l3 [9 x1 v3 N
! k" G8 h& E/ R4 `5 a: ^谢谢
1 a( B4 O: f7 o* a3 G5 \. k2 {; o, F0 O3 u
- F! D' Z+ v1 z; B
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
沙发
发表于 2014-12-4 14:01:26 | 只看该作者
  1 #ifndef _LOG_H_
+ o: m: O, z2 z2 A' N2 }( c$ Q0 m  2 #define _LOG_H_* J+ a3 J- x0 t5 s- \, L
  3 . k) e) R: V+ h, G% I9 A0 W* ~
  4 /* 0: printf; 1: UART1 */
. |$ |5 m* }9 f  5 #define OUTPUT_TO_UART1 1, r3 I* ~9 w7 h
  6 8 }; _4 p6 i2 p5 y
  7 /* Switch Log Output */
- m  I# E, [! g3 b+ _  8 #if OUTPUT_TO_UART1: D1 ~9 r9 ~* H! }
  9     /* For UART1 Initial */
. y5 x1 h+ P& Y! n; K4 t 10     #include <stdlib.h>9 c) i/ s/ i! _9 a) N, {$ Y
11     #include "hw_types.h"  
% h; Z: ^+ ~4 A1 i" A 12     #include "hw_syscfg0_C6748.h"
; T4 F! R! N- q  | 13     #include "soc_C6748.h"
# _, O& z7 m1 l 14     #include "psc.h"               9 S8 [: h  A- E) Y
15     #include "gpio.h"               
  L% c2 Q/ g  ]( K7 K" t! C, N) G 16     #include "uart.h"" [% H6 e" }. m( U
17     #include "uartStdio.h"
6 m; p' ]+ z0 B8 r) l, P/ A 18 & O  ^; @2 c2 b; q0 ?  s/ q
19     #define OUTPUT UARTprintf
' H( w) {& d9 N 20 #else5 Q% {' ^+ U) N, L6 \; Y. G
21     #include <stdio.h>! l, K  x. y9 F8 t1 M5 ~
22     #include <stdbool.h>4 R; y8 @% [" _! W& s2 J. O
23 " v) D) K7 K8 t! f! r0 p! z" E
24     #define OUTPUT printf( K. s. C/ k, {' D2 F0 _; `" V
25 #endif
3 ?% S& O- o# V! v- t 26 9 q. Y9 W8 B' \) Y# G
27 /* Log init */* f  B' D- N" f$ s7 Z1 U
28 #if OUTPUT_TO_UART1
1 D- k3 n0 `8 m& l- _ 29     #define LOG_INIT() do {                                     \
! e- |7 F; ?+ q+ Q5 g$ c6 D7 p 30         PSCModuleControl(SOC_PSC_1_REGS, HW_PSC_GPIO,           \' C) {# I3 g; n) V- o( q
31                          PSC_POWERDOMAIN_ALWAYS_ON,             \
; F' j# v  C1 C* p  I; k& N 32                          PSC_MDCTL_NEXT_ENABLE);                \1 B) `+ w3 K3 a
33         GPIOBank6Pin12PinMuxSetup();                            \9 X0 O% y2 v. s1 L" I/ T
34         GPIOBank6Pin13PinMuxSetup();                            \4 O0 W* U8 ~. i3 x( b; n2 }
35         GPIODirModeSet(SOC_GPIO_0_REGS, 109, GPIO_DIR_OUTPUT);  \' C( _# |+ `3 L* Q7 o/ L2 w) ^
36         GPIODirModeSet(SOC_GPIO_0_REGS, 110, GPIO_DIR_OUTPUT);  \- G0 ?% P8 C0 @- z
37         UARTStdioInit();                                        \8 L1 \: \2 O6 H3 d' }  l8 Y2 M
38     } while (0)
* J2 E( q) z# G2 V/ y$ m( x8 [1 m 39 #else: s6 @' D/ T$ p: }% _
40     #define LOG_INIT() do { } while (0)6 F& d) m9 P# m% @/ Z
41 #endif
# d- v: c7 G4 R( k! m1 G4 w2 a4 p# p 42
: d! \& C; S9 K* G; u9 M: l5 t6 U 43 /* Log Output */( t4 _0 z0 c7 V: v1 w  }! A
44 #define LOG_INFO(format, ...)      \5 F; W  x4 ^5 l& L4 F5 |
45     do {                           \5 c" l1 h/ a# c, L+ R
46         OUTPUT("[%s|%s@%s,%d] " format "\n", "INFO ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \- a7 G- h/ \* ^$ W9 ^
47     } while (0), v: U/ h5 t4 F, Q( E
48 ; I- F$ X  U% v# {: L
49 #define LOG_ERROR(format, ...)     \
/ p" D+ {+ c0 M" b1 r' D$ \9 W/ { 50     do {                           \
. n+ \, ], i" T 51         OUTPUT("[%s|%s@%s,%d] " format "\n", "ERROR", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \& _  ?& S6 R; }8 k
52     } while (0)
/ X. n7 M% P& P. @$ g: G 53
6 t' I, G4 f, A# d 54 #define LOG_DEBUG(format, ...)     \, g1 \+ [) L" ~8 [+ |/ k/ @
55     do {                           \+ y- `1 b6 W# g* O' W; B, Q% a) ]
56         OUTPUT("[%s|%s@%s,%d] " format "\n", "DEBUG", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \0 r2 o. ?, u+ J- y8 d! A" a
57     } while (0)
8 @4 a9 |% E8 S6 r4 C 58 . K$ N' g# P* n! f2 k' k
59 #define LOG_WARN(format, ...)      \) s7 l; J7 T. Y, x0 C+ B8 m
60     do {                           \
7 L  Z7 g( L, _ 61         OUTPUT("[%s|%s@%s,%d] " format "\n", "WRAN ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
0 b: o7 C0 @" ^. n# s# J0 ] 62     } while (0)
/ j% t' z1 {) j  H0 Q' J1 g$ S 63 * [  J- v* r* M9 O8 N2 [1 l
64 #define LOG_TRACE(format, ...)     \7 m7 n; O# s6 F# V
65     do {                           \
/ I# l% K4 d9 x, {& w 66         OUTPUT("[%s|%s@%s,%d] " format "\n", "TRACE", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \$ U+ i! M/ Q& `
67     } while (0)
$ n% _5 P$ Z- r  T' e9 _: { 68 0 }) L- R* h+ ?) e/ _
69 #define LOG_FATAL(format, ...)     \+ l& G" ?0 o7 e  Q
70     do {                           \
  x3 H% @- t- |/ G 71         OUTPUT("[%s|%s@%s,%d] " format "\n", "FATAL", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \4 _! y1 L3 P* i
72         exit(1);                   \
% _! @; M) j, s5 I* \1 ?# c+ e 73     } while (0)
0 l( b7 `% V3 S% p8 b5 ^ 74 : T# U1 g4 S/ v9 Z/ i: E) a- b3 c
75 /* Assert */
# L) m% L' c- ` 76 #define ASSERT(EXP)                \& s: [  ^) I% D$ A" r9 F6 Q9 R
77     do{                            \- l1 ?9 G9 ~5 [; F$ ?
78         if (!(EXP)) {              \0 j- s  u( f! s2 r: |
79             OUTPUT("[%s@%s,%d] ASSERT: " #EXP "\n", __func__, __FILE__, __LINE__ );                  \! d/ i. S, z& E& B9 [
80             exit(1);               \
" P) M2 Y, V. s 81         }                          \
+ q, i, Y( x: m& A% _ 82     } while(0)
3 o5 u) f+ X' W/ q 83 ' _, ~: I+ z% k3 Q# y9 a% k$ k  r
84 #endif- ~% Q& ~5 |5 |* N" a
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
板凳
发表于 2014-12-4 14:03:10 | 只看该作者
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏/ \6 w2 K1 V( E' r; K
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
地板
 楼主| 发表于 2014-12-4 15:21:54 | 只看该作者
tenny 发表于 2014-12-4 14:030 C9 k( ]( |2 m1 b
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏

8 z& f" _0 Z/ E6 R% ]" e0 C你好,是arm这一端的app
+ l8 k( |( q+ ^" Y( A6 [) V4 T" _
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
5#
 楼主| 发表于 2014-12-4 15:40:21 | 只看该作者
tenny 发表于 2014-12-4 14:03( Z3 @/ Y3 D' V" v
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏

! d' n7 J1 O6 j" N% d2 a) I& v你好,你是不是将host/app下的log.h和dsp/driver下的log.h和到一块啦,怎么说下你的思路# [/ d) B0 i( s  ?
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
6#
发表于 2014-12-4 15:59:03 | 只看该作者
arm 端的 log 并没有用到 uart1! q' C2 y  z" G# u7 T* a
dsp 端的 log 才使用了 uart1
( ?* w9 y6 ]; o9 f+ I! {所以,你需要也只需要修改的是 dsp 子工程的 log.h(新版本的代码 是在 dsp/app/log.h,旧的是在 dsp/driver/log.h)9 c! w; m; R" u& G0 @; ~( n
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
7#
 楼主| 发表于 2014-12-4 17:19:24 | 只看该作者
tenny 发表于 2014-12-4 15:59
1 ?" w2 w  z5 d8 r- narm 端的 log 并没有用到 uart14 Z' _& Z( ~6 D8 p# w( `
dsp 端的 log 才使用了 uart1; \) Z) A. _' O
所以,你需要也只需要修改的是 dsp 子工程的  ...
# ~$ r; Z4 o( r6 H# M& K
那我是不是将你贴出的那段代码,替换DSP/driver下的log.h就可以是吧,
3 k" \+ m" Y3 c然后将#define OUTPUT_TO_UART1 1 换成
2 {& W. _) P0 R! l#define OUTPUT_TO_UART1 0
& m. i" {/ P: j0 s$ J& V1 M  是不是这样) b  w) }2 _2 S# l! m/ z* [6 I+ {

# s% |# l+ A7 a& z0 d$ S! q1 K1 w, R! E4 n' w4 y* h/ K8 O/ W
1 _6 a  y8 g) y
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
8#
发表于 2014-12-5 09:25:09 | 只看该作者
! q$ [1 _4 H. @$ I% v6 x. Y' G
回复

使用道具 举报

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

本版积分规则


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

GMT+8, 2026-1-8 17:27 , Processed in 0.174751 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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