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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

8

主题

30

帖子

150

积分

注册会员

Rank: 2

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

* X" g0 M* N7 f6 F3 F$ K! g( ^1 Z" ]4 u/ l+ N
谢谢6 D6 P$ }5 s- `
4 K& k# {  @; g1 h7 W1 S' {  m

2 k# D& I" g& y8 y2 }: ?
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
沙发
发表于 2014-12-4 14:01:26 | 只看该作者
  1 #ifndef _LOG_H_
# [. T% M( P8 f) z& w  2 #define _LOG_H_9 C( W8 L, l8 U
  3 ( R% \) X- m1 b# m9 M
  4 /* 0: printf; 1: UART1 */9 q4 |, y( I8 a
  5 #define OUTPUT_TO_UART1 1) E' ?5 M- p' h4 Y7 |3 R' p
  6
' y. m4 m/ \$ _4 m( R. s  7 /* Switch Log Output */
. V7 r5 Y$ m' e4 N  8 #if OUTPUT_TO_UART1
7 Z. e/ \9 D2 t7 K! t& t& I  9     /* For UART1 Initial */
1 w6 T- n. C7 Q; `% Z, m 10     #include <stdlib.h>( i9 |" o. m% K( ~4 w- t& j$ f# k. n
11     #include "hw_types.h"  
$ ]" v- K- n9 n 12     #include "hw_syscfg0_C6748.h"
! J( _7 k0 f3 p9 h4 L: B/ G( u 13     #include "soc_C6748.h"
$ H4 K- f; J- A" e6 i 14     #include "psc.h"               
5 S# H# T" N: V$ v) | 15     #include "gpio.h"               ; b' B; S/ H8 B  G  I0 n
16     #include "uart.h"
7 N1 E( a0 p( L$ h* j 17     #include "uartStdio.h"- k& D/ L. I( ~8 D0 v
18
0 c, C: c9 {4 U2 x4 l, _ 19     #define OUTPUT UARTprintf1 ?* K% e" S) g! D
20 #else
& H% o4 h+ z3 @! u5 h' e& h 21     #include <stdio.h>  U$ N8 S  {5 ?
22     #include <stdbool.h>" h% [" l7 @; J( w
23 # @- ~' R4 d: a% Z, t* H. [% c9 v
24     #define OUTPUT printf
! z) y, H, P; v* ~: `; l3 F 25 #endif
; L$ d8 S3 b: p, F4 A5 F6 f 26
* i6 `+ w" p% R- T 27 /* Log init */- ?. I9 {* A% e1 l/ p& A
28 #if OUTPUT_TO_UART1
7 F+ g6 ^% G1 N; a' ^5 J 29     #define LOG_INIT() do {                                     \' f8 @6 O$ H5 P& ^
30         PSCModuleControl(SOC_PSC_1_REGS, HW_PSC_GPIO,           \* _5 N0 x% J- z& Z1 F* g& v8 ^
31                          PSC_POWERDOMAIN_ALWAYS_ON,             \
: W& G' z! E$ e# T/ }- q" o 32                          PSC_MDCTL_NEXT_ENABLE);                \
$ f, m6 a0 R6 ~9 T  r7 i* _ 33         GPIOBank6Pin12PinMuxSetup();                            \
0 B% n, l0 s. W 34         GPIOBank6Pin13PinMuxSetup();                            \
! U" ?4 d7 H$ |! f, E0 t6 R  T 35         GPIODirModeSet(SOC_GPIO_0_REGS, 109, GPIO_DIR_OUTPUT);  \. G; T. o, X+ w/ E' j" v
36         GPIODirModeSet(SOC_GPIO_0_REGS, 110, GPIO_DIR_OUTPUT);  \8 {: a- \$ N# d1 l8 @2 L
37         UARTStdioInit();                                        \) J. L+ }2 b6 w0 I  e1 t0 \: E
38     } while (0)
, z6 ^2 {+ c4 {$ l; g 39 #else
% ?! J8 Q# `4 R 40     #define LOG_INIT() do { } while (0)
: k" G5 |/ s: r: E; m 41 #endif* Q5 v0 K/ H) x; y
42
6 B( T; u/ _1 L- J% l& r 43 /* Log Output */
; @0 S9 K* h- a 44 #define LOG_INFO(format, ...)      \5 \# Q0 W- M6 r& ~& ?
45     do {                           \/ }' o$ h! W' r0 K3 ^
46         OUTPUT("[%s|%s@%s,%d] " format "\n", "INFO ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \* x% ~. F0 {6 [( }2 W) n8 g
47     } while (0)
8 Y3 `$ w, x5 ]) L- q( B% A2 Y 48
( W4 e5 d1 G1 a- t+ u/ ~ 49 #define LOG_ERROR(format, ...)     \; B: t  j3 n, f8 D8 H% |6 g( h
50     do {                           \3 U% V; N2 w$ C
51         OUTPUT("[%s|%s@%s,%d] " format "\n", "ERROR", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \7 ^9 v6 A; [* }: ?
52     } while (0)- F! Q1 Q1 w! S& j- g! ?
53
0 f5 W1 d+ y6 N) _: P, R4 k6 d) W 54 #define LOG_DEBUG(format, ...)     \
$ ~; f: x4 v7 C 55     do {                           \- R8 Z) D* }  Y+ k6 s: c& g
56         OUTPUT("[%s|%s@%s,%d] " format "\n", "DEBUG", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
, f4 V6 m7 H2 M1 @ 57     } while (0)7 Z# m, j& n9 `! Z
58
, u( @" ~9 I1 u  Z$ V5 F 59 #define LOG_WARN(format, ...)      \
- L' _8 X' D+ k6 B1 l- @6 ? 60     do {                           \
2 I0 ^+ l4 P, k" [) Y& _' i 61         OUTPUT("[%s|%s@%s,%d] " format "\n", "WRAN ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
; ]9 {6 W$ R- A$ u. ?8 z 62     } while (0)
& g4 C$ i5 A( P4 u- W% l, n 63 ( G, ~( K" T2 X1 ~: }; w8 n
64 #define LOG_TRACE(format, ...)     \
! Q. I5 o, u; E 65     do {                           \4 J2 k' x1 y; x8 `3 H# A& `
66         OUTPUT("[%s|%s@%s,%d] " format "\n", "TRACE", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \4 k6 Y! p1 u: a4 t5 ~8 H5 W
67     } while (0)  B, V( z9 m! I2 t; s2 ~
68
4 _9 P2 _* {5 Q% ]8 M 69 #define LOG_FATAL(format, ...)     \1 m! a9 }9 q# r# i3 U4 z
70     do {                           \6 E0 ^6 u5 L: A+ |: j
71         OUTPUT("[%s|%s@%s,%d] " format "\n", "FATAL", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \& e. r+ j% Y, X/ v* S3 v8 j
72         exit(1);                   \/ K5 V% ?% `' g, b! L/ O6 |
73     } while (0)  ?2 \- y8 d3 R, m( Q7 B5 v
74 ! b1 I" n* }+ @" D! }! k
75 /* Assert */8 D- x0 }, c2 ?
76 #define ASSERT(EXP)                \
4 l( G. ]3 }! b# [# V2 G 77     do{                            \
8 p4 |. C* _/ `: X# s( I( n 78         if (!(EXP)) {              \9 f9 f9 f+ ^) X% w# }* s2 J; K
79             OUTPUT("[%s@%s,%d] ASSERT: " #EXP "\n", __func__, __FILE__, __LINE__ );                  \
* G: k! l/ \* S3 K# J 80             exit(1);               \
. V! K  ^- J& E# H' I& D! x; e 81         }                          \* W' P" k4 C. m1 T$ E0 o  y5 n
82     } while(0)8 R2 a. k) [+ g3 S8 P' g/ j
83 % r* Z# x" Y# W6 h% i
84 #endif' N5 _. b/ \* x- F' M0 k; b$ w- A
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
板凳
发表于 2014-12-4 14:03:10 | 只看该作者
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏$ E4 E, q. W$ p2 n9 Z
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
地板
 楼主| 发表于 2014-12-4 15:21:54 | 只看该作者
tenny 发表于 2014-12-4 14:03
) K$ p3 w; R% |修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏
& c3 l9 [, \$ U( n! F
你好,是arm这一端的app( X! J- f# V. b) a- z
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
5#
 楼主| 发表于 2014-12-4 15:40:21 | 只看该作者
tenny 发表于 2014-12-4 14:03
. S' R; d1 |. q5 P2 u修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏
5 T! V9 N: `' N
你好,你是不是将host/app下的log.h和dsp/driver下的log.h和到一块啦,怎么说下你的思路# L; G9 q" ~' g: [8 w8 {
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
6#
发表于 2014-12-4 15:59:03 | 只看该作者
arm 端的 log 并没有用到 uart1! a6 w( [/ n6 o/ J* P9 g
dsp 端的 log 才使用了 uart1
! A1 X) i, W4 `' L, }所以,你需要也只需要修改的是 dsp 子工程的 log.h(新版本的代码 是在 dsp/app/log.h,旧的是在 dsp/driver/log.h)3 G' i& m. m0 V# T
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
7#
 楼主| 发表于 2014-12-4 17:19:24 | 只看该作者
tenny 发表于 2014-12-4 15:59$ ?- c& f3 |" R7 Z4 b, F3 j
arm 端的 log 并没有用到 uart1
* A5 d: Y% H/ f7 w, zdsp 端的 log 才使用了 uart1
7 s( S0 c" i6 w/ C* V所以,你需要也只需要修改的是 dsp 子工程的  ...

& i0 P7 F* e$ o9 I& ~那我是不是将你贴出的那段代码,替换DSP/driver下的log.h就可以是吧,3 L% I& t* u& n8 A4 U! V* J
然后将#define OUTPUT_TO_UART1 1 换成9 H* m4 `( [" s3 i, \0 `4 d" t" }
#define OUTPUT_TO_UART1 0
$ i! q0 w( a8 p1 F" B" `. k7 I  是不是这样! U, M9 S6 U# L/ Z9 {5 \
1 O, i( Y+ D! e* ?$ u; ]
- j* q$ T1 D* {& t' t; g
9 T6 c1 K$ _% W$ W0 {0 P* E, u! v5 z
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
8#
发表于 2014-12-5 09:25:09 | 只看该作者
" x* B7 T- p- S+ k& [8 Q9 {  J
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-10-3 04:10 , Processed in 0.041104 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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