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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
跳转到指定楼层
楼主
发表于 2014-12-4 11:08:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
你好我现在用的你们的omapl138开发板,跑的双核通信的程序,我现在需要通过串口一向外部发信息,但是串口一被DSP占用了,我怎样才能解除DSP占用呢
$ J. k5 |6 ~4 B+ w3 K: J/ c( o; _3 [3 A% F* z9 ~5 @$ g4 P

4 U% ~6 z3 G2 X$ e# y谢谢
! K6 `6 B2 [3 ^, r8 `1 Z
0 T0 G/ }1 l, D4 y/ P: E
7 c4 L. Q( U& X7 }- |# x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
沙发
发表于 2014-12-4 14:01:26 | 只看该作者
  1 #ifndef _LOG_H_
) i' q# S& B. o+ C  2 #define _LOG_H_5 T- g+ l4 t) l, l- g  n
  3 - O! X, d, L  t" p+ H+ _; v
  4 /* 0: printf; 1: UART1 */
8 t: J0 W# l# d+ h, d  5 #define OUTPUT_TO_UART1 1
, @* e2 k4 q/ x$ n
  6
! l: A/ l  h* z  7 /* Switch Log Output */1 k7 C( ^+ q4 V& a1 O; z2 D
  8 #if OUTPUT_TO_UART1& Z+ i) s' z- w3 o7 C) _, I, @
  9     /* For UART1 Initial */
9 M2 m1 L" I: P" w# f6 [7 d 10     #include <stdlib.h>8 [. L5 B5 L' }
11     #include "hw_types.h"  8 H, b' ~; S% v/ @/ X
12     #include "hw_syscfg0_C6748.h"
- t8 K4 m8 `4 k) o# h 13     #include "soc_C6748.h"
* @( O" d: d' a2 t% x 14     #include "psc.h"               
0 }$ U* {7 O: ~* v, p- t 15     #include "gpio.h"               
4 @6 E) [* V7 a) ]  U/ U: h- f' A4 l 16     #include "uart.h"% k( Y- [4 B! ?2 K
17     #include "uartStdio.h"2 f, Y0 x) D# m0 x# p: R
18
7 t9 r7 o) x$ q$ T 19     #define OUTPUT UARTprintf
/ ~# A; U, G0 R; v& }2 V 20 #else
$ v: T  u8 A1 {7 y) `1 p* V 21     #include <stdio.h>
( D- N3 f& M( e- u6 K8 D3 F 22     #include <stdbool.h>- G& O, H( a: E- p& v+ W; k
23
% C4 p2 z- H) L( C 24     #define OUTPUT printf2 j' C* |1 r/ M" P
25 #endif
9 X: i+ v8 `! F5 D9 r; F  g 26
$ g2 X+ I  b2 O& C5 { 27 /* Log init */
; @, D2 @7 g9 S4 I$ ~9 _ 28 #if OUTPUT_TO_UART1. B8 A1 b6 M. e: U  \
29     #define LOG_INIT() do {                                     \
4 v0 |$ N4 C$ K* n 30         PSCModuleControl(SOC_PSC_1_REGS, HW_PSC_GPIO,           \; \5 E, g) @7 H: ~% w
31                          PSC_POWERDOMAIN_ALWAYS_ON,             \+ @8 T5 ^6 _! r  G& G. E. H4 B4 B
32                          PSC_MDCTL_NEXT_ENABLE);                \; _$ {& ]! k& I. N, x3 L/ ?+ R
33         GPIOBank6Pin12PinMuxSetup();                            \$ Q, c0 k1 T* g% K  X& _
34         GPIOBank6Pin13PinMuxSetup();                            \
# Z& S/ }5 E; o 35         GPIODirModeSet(SOC_GPIO_0_REGS, 109, GPIO_DIR_OUTPUT);  \
$ `! P6 G; B) @* D; j3 V4 y  Z; p 36         GPIODirModeSet(SOC_GPIO_0_REGS, 110, GPIO_DIR_OUTPUT);  \
& o6 n! p2 {2 {" }; T1 w( g 37         UARTStdioInit();                                        \0 `4 N2 m7 x& P, ~
38     } while (0)) M  Y2 R: S, }  i& h- }1 a
39 #else
9 }" x9 K4 _( r0 V$ ?, W 40     #define LOG_INIT() do { } while (0)
% p; z1 H1 Y' _  Q1 P 41 #endif3 m9 [" [8 c4 Y9 v& r
42 ) }3 J/ B+ v1 A9 j- }9 P# j, P
43 /* Log Output */9 K- c3 D5 m, z; h
44 #define LOG_INFO(format, ...)      \
- D2 u" t5 I1 v3 n) N7 ^# C 45     do {                           \5 z: I. |( S+ ]$ ]% P- o
46         OUTPUT("[%s|%s@%s,%d] " format "\n", "INFO ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
( p2 R. r  u% r/ H3 n- F2 F0 M 47     } while (0)
1 x5 {6 a( J8 G 48
: m) U+ E, W, s( e; N; P0 K9 j 49 #define LOG_ERROR(format, ...)     \0 Y8 C# ^* h  V' c. F
50     do {                           \7 l# [* P; P' x: o
51         OUTPUT("[%s|%s@%s,%d] " format "\n", "ERROR", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
$ m2 C, y0 u% R+ G: `3 B# w% F0 A 52     } while (0)" v" o5 v  s% Q; l
53 . g3 r3 a4 i5 h: k" X5 z8 x7 s/ \
54 #define LOG_DEBUG(format, ...)     \
- T* q; Y3 T2 `, m+ p 55     do {                           \
6 T; t% f5 Q2 t1 @ 56         OUTPUT("[%s|%s@%s,%d] " format "\n", "DEBUG", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \$ U6 O, M9 D# P% \. N6 E
57     } while (0)  U4 w" X5 K6 u8 m$ h
58
  R- P& L* M5 S 59 #define LOG_WARN(format, ...)      \
% ]. d' F- _: B6 o/ {" ] 60     do {                           \
+ |0 Y1 s# \' h; {) N" s* V. h6 J 61         OUTPUT("[%s|%s@%s,%d] " format "\n", "WRAN ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
" x) A; S5 v4 k& Q  r 62     } while (0)  F4 o$ R$ ]: b" P3 E" Y
63 + Q, L6 T  h( Q1 w! U
64 #define LOG_TRACE(format, ...)     \3 B( n6 ?9 x6 ?# S: x$ r
65     do {                           \
' ~* p8 n' r5 ]- F8 s3 u9 q' C( m 66         OUTPUT("[%s|%s@%s,%d] " format "\n", "TRACE", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \/ ^$ v& C: G4 a, n; I( B% a+ m
67     } while (0)/ D( G. ~, x+ F+ V* t
68 3 p  M8 o8 c& S8 t  h
69 #define LOG_FATAL(format, ...)     \+ Q" j1 b$ ]& j0 l
70     do {                           \# F! Z6 }; s4 l% \- }
71         OUTPUT("[%s|%s@%s,%d] " format "\n", "FATAL", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
9 f/ e3 g6 T  J0 F 72         exit(1);                   \
* g0 R3 U0 t- Y' X2 h 73     } while (0)
  ], W& t2 T) k 74   y3 e/ f2 T% C: ^, q3 L
75 /* Assert */
! |. ~) X% g# Q& q$ @0 `# E 76 #define ASSERT(EXP)                \
. m3 I: d& S# ]/ [2 e 77     do{                            \
2 v5 u- L! }% }, ` 78         if (!(EXP)) {              \( N3 t3 Q! d- t9 ~
79             OUTPUT("[%s@%s,%d] ASSERT: " #EXP "\n", __func__, __FILE__, __LINE__ );                  \
. W, y* h9 b2 m- P3 |% P' Z 80             exit(1);               \
4 O# e) A: x2 T 81         }                          \
% H' E1 A: m7 Q* C2 e0 J. F1 K 82     } while(0)* U* d+ F0 P, s2 x6 E; h/ J
83 ; N3 O! m9 Y/ a) j
84 #endif
, M' P) Y% u- H8 r; O
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
板凳
发表于 2014-12-4 14:03:10 | 只看该作者
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏
$ ?/ i( N( p- L( i5 U1 c; ^
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
地板
 楼主| 发表于 2014-12-4 15:21:54 | 只看该作者
tenny 发表于 2014-12-4 14:03- H: [: T% R+ t
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏
& ~3 ~+ W4 P2 z+ {
你好,是arm这一端的app% c# Q5 ~; ]1 C; G. j7 \# X- ?( {
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
5#
 楼主| 发表于 2014-12-4 15:40:21 | 只看该作者
tenny 发表于 2014-12-4 14:03
' H0 X' f. T% F. ~修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏
* \; C1 o2 H8 M/ \- K8 `
你好,你是不是将host/app下的log.h和dsp/driver下的log.h和到一块啦,怎么说下你的思路  K! M( ~5 l& |: O$ u
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
6#
发表于 2014-12-4 15:59:03 | 只看该作者
arm 端的 log 并没有用到 uart1- M' P+ d2 V" W
dsp 端的 log 才使用了 uart1: `. v; A( E! h% T( Q2 Q5 \/ |7 T
所以,你需要也只需要修改的是 dsp 子工程的 log.h(新版本的代码 是在 dsp/app/log.h,旧的是在 dsp/driver/log.h)) K6 a3 P3 j7 }; T" B
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
7#
 楼主| 发表于 2014-12-4 17:19:24 | 只看该作者
tenny 发表于 2014-12-4 15:59- P; F& Y5 G7 ]: O4 Q1 B4 j( ]4 x
arm 端的 log 并没有用到 uart19 a1 r/ M+ m, Q. q
dsp 端的 log 才使用了 uart1# s8 v! H$ y( i  H& e% n7 e2 a9 D% w, J
所以,你需要也只需要修改的是 dsp 子工程的  ...

9 f& I( h( Q1 J3 L) F( l8 c那我是不是将你贴出的那段代码,替换DSP/driver下的log.h就可以是吧,1 f1 F8 o3 R# s; K: k9 }& d
然后将#define OUTPUT_TO_UART1 1 换成3 D  \9 j2 _1 Y5 s! q2 @
#define OUTPUT_TO_UART1 0" c* w6 M7 M0 O* M( y! J$ \% Y9 o
  是不是这样
8 {2 ^/ H: G) K: _4 R- q# f
) y# z# ?0 C& G  v
2 O  q' c+ L" I, C, V7 l% Q$ n+ ~: b3 k( z% |
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
8#
发表于 2014-12-5 09:25:09 | 只看该作者
5 y1 f! g' d) e: W5 M7 J* c
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-9-17 05:33 , Processed in 0.042556 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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