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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
跳转到指定楼层
楼主
发表于 2014-12-4 11:08:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
你好我现在用的你们的omapl138开发板,跑的双核通信的程序,我现在需要通过串口一向外部发信息,但是串口一被DSP占用了,我怎样才能解除DSP占用呢
! G3 O* k" f' J7 x2 E
( A# K" Z% U; ]* B+ z4 |- g2 T; a3 Q3 d' E# T, w
谢谢& i; M3 v6 n0 K3 u% [

& C& A8 q& i+ J5 x4 H! v& x4 c8 G- p3 G: N' i: F' i- {
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
沙发
发表于 2014-12-4 14:01:26 | 只看该作者
  1 #ifndef _LOG_H_
2 x% u! ^* M; w  2 #define _LOG_H_
" V! j$ O& s+ w- m& ?  3
! f: Z% b% v  r" L  4 /* 0: printf; 1: UART1 */! P% l- J2 W* e# S6 \' d3 L" m
  5 #define OUTPUT_TO_UART1 1
7 P3 @7 n9 v( R+ a
  6
) n- ^  d4 m" J% G3 y( _! V  7 /* Switch Log Output */
' d) o) Z+ h& ^( `  8 #if OUTPUT_TO_UART1) q: W/ ~6 e2 e$ Y
  9     /* For UART1 Initial */
' \- @$ U4 m# r/ R" O1 O 10     #include <stdlib.h>
7 d+ _+ f+ r% ~+ D. I 11     #include "hw_types.h"  
  P; h" i& e, s, C& g. e" V 12     #include "hw_syscfg0_C6748.h"2 |5 |  }* c  i
13     #include "soc_C6748.h"& A5 A1 q" y# b; B# g6 b, ?
14     #include "psc.h"               
4 [+ T% O- [4 y2 B$ L2 _ 15     #include "gpio.h"               " v  m4 Q1 A* \9 c
16     #include "uart.h"
, ^( v" E" n5 N% q2 | 17     #include "uartStdio.h"7 d  q3 Q/ J# Q) i. Z
18 , G4 p' y" C5 A$ m/ c% B
19     #define OUTPUT UARTprintf" Q& U/ o+ @. H8 \
20 #else
4 r+ }/ M( ^' T/ F. z; I8 e 21     #include <stdio.h>$ g: _6 I: U) B% f" S
22     #include <stdbool.h>2 U/ g' B( O: V% x& J- q
23 1 k9 z9 m$ I9 g$ a7 h# |4 @; b
24     #define OUTPUT printf
# ^. L' V7 v5 f5 h 25 #endif. x8 v( `9 J; W. p% {& d3 w( t, N
26
; U$ y9 y1 B$ C( M  J1 v/ T 27 /* Log init */3 K* I# ]( p9 d% ~
28 #if OUTPUT_TO_UART1% P8 y9 p, {- Q! g" x: F
29     #define LOG_INIT() do {                                     \
! C% `. ?+ H0 }3 B) ?. Q$ p4 d$ S 30         PSCModuleControl(SOC_PSC_1_REGS, HW_PSC_GPIO,           \
' R, b+ d: C* y1 l5 s 31                          PSC_POWERDOMAIN_ALWAYS_ON,             \# O. S7 e! i2 y* _4 o
32                          PSC_MDCTL_NEXT_ENABLE);                \
% I- i: ^1 W# d9 I# H7 ? 33         GPIOBank6Pin12PinMuxSetup();                            \+ E$ k* z& m$ A" e
34         GPIOBank6Pin13PinMuxSetup();                            \" _6 ]  b0 B; W% P5 s3 ~% q
35         GPIODirModeSet(SOC_GPIO_0_REGS, 109, GPIO_DIR_OUTPUT);  \
) h/ M3 K2 l  |% @. z% f  f 36         GPIODirModeSet(SOC_GPIO_0_REGS, 110, GPIO_DIR_OUTPUT);  \
8 U  P! W* [6 ], n) P4 a0 u2 X' N( e 37         UARTStdioInit();                                        \- w' s/ U* G! J3 Q
38     } while (0)  ?! N$ {2 o- g
39 #else6 U0 k$ {: t4 }0 E5 y4 Y$ g
40     #define LOG_INIT() do { } while (0)/ \/ U( Z2 n/ s9 J1 y- e
41 #endif* \' K! W! h) g' j! z
42
8 c: a/ x( Y- b 43 /* Log Output */% p: Z- v3 x! S0 \: e5 d
44 #define LOG_INFO(format, ...)      \
! m, g  c; v/ w+ f" i 45     do {                           \
1 S0 \9 p8 E7 q/ _- P5 r- G+ ` 46         OUTPUT("[%s|%s@%s,%d] " format "\n", "INFO ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
) J- D2 a- e2 j7 E 47     } while (0)# t1 [, n; l9 v- I% p) X
48
. R" m' b- m- \0 O; O5 [* R! U, k* U 49 #define LOG_ERROR(format, ...)     \4 F, ~! e" P# @% R5 ~; {
50     do {                           \
& v: ]- ^, A2 k0 s 51         OUTPUT("[%s|%s@%s,%d] " format "\n", "ERROR", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
. o9 k4 ^3 r- T' M 52     } while (0)
3 j/ x% f3 y/ Y9 w/ c 53 1 Q6 G: O$ r: w' @! V- \8 R
54 #define LOG_DEBUG(format, ...)     \
% h! H* D3 H- y) } 55     do {                           \
$ {% o' p( k- R6 J3 Y 56         OUTPUT("[%s|%s@%s,%d] " format "\n", "DEBUG", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \( ]2 a$ B4 I; B, r: V0 K
57     } while (0)
- o' w+ e$ C' d; Y 58 & o! ]/ A, Z2 X; R
59 #define LOG_WARN(format, ...)      \& S( v% |* Q; Q9 w
60     do {                           \
2 i/ X, o( q: t% R 61         OUTPUT("[%s|%s@%s,%d] " format "\n", "WRAN ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \! T! @2 v: G" k" N% [
62     } while (0)! s# ^* {6 O, M
63   m1 e7 E& |3 x( E
64 #define LOG_TRACE(format, ...)     \0 s& _* [, ?" w& p% s
65     do {                           \# A% H+ f7 b' j5 V
66         OUTPUT("[%s|%s@%s,%d] " format "\n", "TRACE", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
6 c+ S0 u1 g2 l 67     } while (0)
7 F' z  c% `! J! X. T7 o& ~" s( F 68
& _( ]  B, ]" s* s+ n 69 #define LOG_FATAL(format, ...)     \
+ ?( o( g0 L) x  q+ I; D 70     do {                           \
! y; [  h& B" O* [: p; A- z 71         OUTPUT("[%s|%s@%s,%d] " format "\n", "FATAL", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \3 [1 n* c3 C. l! i+ Z8 t2 n
72         exit(1);                   \
6 M) ^9 R7 |% ]2 q; @% Y 73     } while (0). G/ \: q: S$ u+ w4 ^% G
74
* g; m, F. v% {9 M. C 75 /* Assert */
5 k, }* x9 f6 u5 L- T4 o- I6 T 76 #define ASSERT(EXP)                \
7 E4 L' _& G3 B% T 77     do{                            \
5 `+ T. }. l( _: J7 F5 [0 W 78         if (!(EXP)) {              \! Q8 O- o. i4 J( g6 o
79             OUTPUT("[%s@%s,%d] ASSERT: " #EXP "\n", __func__, __FILE__, __LINE__ );                  \
) Y& i/ R/ ?6 X+ b( b( K2 j0 ?9 q1 S' r 80             exit(1);               \
- s, M+ U( @! q! A 81         }                          \/ y5 T% _* F; K3 h1 @- y6 J5 e5 x
82     } while(0)
3 V8 `6 ?5 Q3 s" v 83 ! n+ d/ a$ H9 x) `3 q  Z
84 #endif: P4 D7 ~# m, h( L; D- H  U' R
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

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

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
地板
 楼主| 发表于 2014-12-4 15:21:54 | 只看该作者
tenny 发表于 2014-12-4 14:03# \/ T+ b% ~$ \2 t4 c6 y4 w
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏

2 s! a9 v/ B! h- s/ ~/ d% a+ c+ o你好,是arm这一端的app
+ A& E, R1 X: K3 |7 B0 i
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
5#
 楼主| 发表于 2014-12-4 15:40:21 | 只看该作者
tenny 发表于 2014-12-4 14:03
9 P9 l/ G  p$ |0 I0 v8 ~修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏
& H5 L: P% N  o0 t
你好,你是不是将host/app下的log.h和dsp/driver下的log.h和到一块啦,怎么说下你的思路
8 s5 T: J6 P0 N) b
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
6#
发表于 2014-12-4 15:59:03 | 只看该作者
arm 端的 log 并没有用到 uart1
6 |8 U  p4 C$ [* Sdsp 端的 log 才使用了 uart1
! h" r' J& f* }, A所以,你需要也只需要修改的是 dsp 子工程的 log.h(新版本的代码 是在 dsp/app/log.h,旧的是在 dsp/driver/log.h)
) [0 y/ s6 w  A9 b  q
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
7#
 楼主| 发表于 2014-12-4 17:19:24 | 只看该作者
tenny 发表于 2014-12-4 15:59
3 `( l4 W6 l: c4 Zarm 端的 log 并没有用到 uart1
7 d1 S) ~8 G$ K% h5 @) vdsp 端的 log 才使用了 uart1  ^% }6 G  Z& {6 b/ G
所以,你需要也只需要修改的是 dsp 子工程的  ...

; Y9 V" k# o+ U, C, N8 \- K那我是不是将你贴出的那段代码,替换DSP/driver下的log.h就可以是吧,
5 M; z# F( t: l/ ~然后将#define OUTPUT_TO_UART1 1 换成
, }- b- F! B% ]. `#define OUTPUT_TO_UART1 0
" K* N6 n( _, s0 `7 x  是不是这样# ]. L2 o& X2 y+ y* u
# I& m2 [5 a: t# V, P2 d4 {
5 c: d  U9 z0 e

6 ]" W# G8 I* j9 v+ J
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

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

) p  e, N' E( B  Z7 W8 O
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-7-4 18:16 , Processed in 0.040930 second(s), 23 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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