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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
跳转到指定楼层
楼主
发表于 2014-12-4 11:08:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
你好我现在用的你们的omapl138开发板,跑的双核通信的程序,我现在需要通过串口一向外部发信息,但是串口一被DSP占用了,我怎样才能解除DSP占用呢6 h$ Y. T+ L( k/ K' n: @

+ o* A, x/ ~6 M. _3 j4 E7 K4 e8 u2 ?& n& N3 o# m9 K+ N
谢谢
3 p' C0 N9 I! ^+ `8 s9 ^1 ?" v7 n+ }& O1 j& M* P( o8 D
- E: I2 ?  P4 j# B$ K' T" |
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
沙发
发表于 2014-12-4 14:01:26 | 只看该作者
  1 #ifndef _LOG_H_" V2 J8 [$ H! x: N! q2 Q0 j7 G9 ]
  2 #define _LOG_H_
9 K- U/ @9 M5 v* @/ s2 C( n  3
$ F+ O6 f/ F' Y. n  4 /* 0: printf; 1: UART1 */
* a- ]& P/ {+ n1 {3 H7 O: E  5 #define OUTPUT_TO_UART1 1/ l& _& I1 @# M% r3 l
  6
" j: f" c3 k$ Z  S  7 /* Switch Log Output */! R- d  D& s9 w6 _* l+ n3 W1 [6 |
  8 #if OUTPUT_TO_UART16 B+ g' J* m/ X; s( ]
  9     /* For UART1 Initial */" E) {8 n- B; l  I6 d
10     #include <stdlib.h>% n2 t3 K: Z# H. f
11     #include "hw_types.h"  2 K7 X! _+ I9 ~) l4 k
12     #include "hw_syscfg0_C6748.h"2 Z( d$ S' m+ S6 n5 ?7 N0 s  ?0 T* G
13     #include "soc_C6748.h"* X% i; D: j- L/ w& a0 [5 ^
14     #include "psc.h"               + M$ \' w5 ~( E) H: k3 n
15     #include "gpio.h"               : K7 n/ G! K' ~) ~4 @* Y3 e8 l
16     #include "uart.h"7 D4 V( I% s: ]3 X# A" A1 p
17     #include "uartStdio.h"
% I6 S+ t/ u: P7 S! w( I* q. F 18 " U; Z& O/ k+ f) @1 |
19     #define OUTPUT UARTprintf
! R4 F( n: `' `6 n+ l  d) f 20 #else) m! a/ s/ q4 w
21     #include <stdio.h>
( f& J$ K& R' X. _( H 22     #include <stdbool.h>" O( q. Z  m" ^: x; v+ U
23 # H7 L: V6 t8 F: P% T
24     #define OUTPUT printf
5 @6 B% G3 j' P) k; h& `2 e5 S 25 #endif; `6 W% V% P: b& G/ u' u
26
% o. S/ `5 w" C* B 27 /* Log init */8 P2 V- H, P8 E, A$ J1 N
28 #if OUTPUT_TO_UART15 P" {# @1 J1 t" O/ Y" c  U% }( C
29     #define LOG_INIT() do {                                     \! _5 O" Z- G2 v
30         PSCModuleControl(SOC_PSC_1_REGS, HW_PSC_GPIO,           \/ v$ @) i1 R, u# p# Q( `: |
31                          PSC_POWERDOMAIN_ALWAYS_ON,             \
! q0 n6 |% l. Y+ |3 U 32                          PSC_MDCTL_NEXT_ENABLE);                \0 k! m/ d$ k. R
33         GPIOBank6Pin12PinMuxSetup();                            \
! \1 r" b! n2 N; L3 T) a5 L- C: A 34         GPIOBank6Pin13PinMuxSetup();                            \
+ S7 R% T% W! F' O0 B3 D 35         GPIODirModeSet(SOC_GPIO_0_REGS, 109, GPIO_DIR_OUTPUT);  \
: R. [7 a! ^1 I; N5 q1 e7 N 36         GPIODirModeSet(SOC_GPIO_0_REGS, 110, GPIO_DIR_OUTPUT);  \
3 L. y$ R( i: g2 L5 ^2 [1 L/ p 37         UARTStdioInit();                                        \: G/ Z1 c! `& ^: W2 I
38     } while (0)& I9 R3 N/ q8 r
39 #else1 d* Q4 P5 _& u  r$ W9 ~1 R
40     #define LOG_INIT() do { } while (0)
2 M/ ^) J3 \- F, X* r$ u( N 41 #endif
/ G+ Z4 r: p9 y 42
, e% n' F1 T* ]2 Q! f( U* ~0 | 43 /* Log Output */
  s. b% `0 f3 B  a& D5 _ 44 #define LOG_INFO(format, ...)      \
0 h9 b/ A$ C7 f$ l# T# T 45     do {                           \
8 u7 `% I: B9 f$ ~# T! K$ f/ g1 _ 46         OUTPUT("[%s|%s@%s,%d] " format "\n", "INFO ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
0 q& B# j: J. y, J# `1 v- D 47     } while (0)% J7 p$ @7 E* o3 T# M
48   i  [* i6 U1 t# j. H" F8 i
49 #define LOG_ERROR(format, ...)     \8 j  c" U5 p% l3 D- U# ~
50     do {                           \4 O8 X- F; _' A! t* Y+ W9 j2 J, A/ a
51         OUTPUT("[%s|%s@%s,%d] " format "\n", "ERROR", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
! S3 J6 O: o# f) y. G1 R  P 52     } while (0)
0 _7 _' C6 t% ^* o$ y 53
& Z& Z, W, n* ^& W 54 #define LOG_DEBUG(format, ...)     \$ H8 W% J7 v6 z  y. P5 |
55     do {                           \
" y  R0 r+ E+ a1 W 56         OUTPUT("[%s|%s@%s,%d] " format "\n", "DEBUG", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \& H& C5 ]* m% t4 F3 a0 y
57     } while (0)4 w& i! E: u& j& s) J/ K: `
58 ( w: u! f7 B  ]2 ~
59 #define LOG_WARN(format, ...)      \& v% R$ W) N2 t* K
60     do {                           \
: t1 I- g* |5 L: P 61         OUTPUT("[%s|%s@%s,%d] " format "\n", "WRAN ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \3 z4 t$ g$ w5 Y% P
62     } while (0)
2 E" y5 I  c: M 63 8 u  O/ r/ R0 A7 G# w+ F. O4 M
64 #define LOG_TRACE(format, ...)     \( N* [& r. M3 Y; c  n3 J0 A2 r( r- C
65     do {                           \! q; r; k' Q7 J4 E
66         OUTPUT("[%s|%s@%s,%d] " format "\n", "TRACE", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
4 ~+ J8 U1 h  Z3 d3 b 67     } while (0)
  f+ O& O& L3 N3 n1 P 68
* q7 c0 {3 a4 y& Z. T+ n 69 #define LOG_FATAL(format, ...)     \
9 z0 G, f7 H8 W% p& E  N 70     do {                           \
9 W5 g/ t' M9 G$ H/ u 71         OUTPUT("[%s|%s@%s,%d] " format "\n", "FATAL", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
* n/ ~& @7 i9 c  J 72         exit(1);                   \" ]7 h# R( j8 M/ L+ Y6 S
73     } while (0)  x9 o# H2 ]% _: Y. f. |- w
74 ) m1 L. E3 q% n
75 /* Assert */
5 [+ I+ C$ i; H+ E  e; F 76 #define ASSERT(EXP)                \
/ d5 t6 U2 E7 o 77     do{                            \* o1 K, k. D8 E# f; i% z
78         if (!(EXP)) {              \+ B+ x0 t* P3 ^6 f$ n
79             OUTPUT("[%s@%s,%d] ASSERT: " #EXP "\n", __func__, __FILE__, __LINE__ );                  \6 k; N6 @" r* X) Y
80             exit(1);               \
  x4 |$ X5 T! \: r3 T- ?4 V3 \ 81         }                          \
* m, k& l; O. z+ Y 82     } while(0)( O- v3 V! L/ [& y/ e. u& R
83
! E& G0 o- M- u 84 #endif
7 U! T% ^) J5 ^; \$ I
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
板凳
发表于 2014-12-4 14:03:10 | 只看该作者
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏
" F/ W/ T" B( |4 L$ P, h
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
地板
 楼主| 发表于 2014-12-4 15:21:54 | 只看该作者
tenny 发表于 2014-12-4 14:03! C0 N+ w( T$ E9 z$ D) q
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏

, V- C( Y6 g4 p& A% j5 |你好,是arm这一端的app
# F, f- h& J% @. n& @. [2 s4 N0 g
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
5#
 楼主| 发表于 2014-12-4 15:40:21 | 只看该作者
tenny 发表于 2014-12-4 14:03
* `5 Q/ _3 N3 I6 k) {修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏

7 X9 g, S+ Q5 s8 K7 R你好,你是不是将host/app下的log.h和dsp/driver下的log.h和到一块啦,怎么说下你的思路
. }$ o, s4 D* X
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
6#
发表于 2014-12-4 15:59:03 | 只看该作者
arm 端的 log 并没有用到 uart1" G. u: s% r2 d0 k0 M
dsp 端的 log 才使用了 uart1
& E. X" R4 k7 m所以,你需要也只需要修改的是 dsp 子工程的 log.h(新版本的代码 是在 dsp/app/log.h,旧的是在 dsp/driver/log.h)
" V) [# p- D0 ], v; h
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
7#
 楼主| 发表于 2014-12-4 17:19:24 | 只看该作者
tenny 发表于 2014-12-4 15:59% E( W8 T3 ~. o  v1 I& m! b& ~& b/ h
arm 端的 log 并没有用到 uart1
/ B( `6 U, h6 x' Y# c- s9 A7 W, Ndsp 端的 log 才使用了 uart1
! b( {8 t. {% Q; w- ]1 d所以,你需要也只需要修改的是 dsp 子工程的  ...
3 O/ j8 w1 L' [6 o- W$ J8 j- u
那我是不是将你贴出的那段代码,替换DSP/driver下的log.h就可以是吧,
( ~; X/ P. r2 n  T: i7 v8 p( M" I然后将#define OUTPUT_TO_UART1 1 换成( p; D* @6 ^4 g4 ~! e
#define OUTPUT_TO_UART1 0
6 Q. y% ]+ X/ D8 ]: B8 P  是不是这样0 h! l6 B! L- `! M# K# W4 a2 |
8 R8 O* p  X: o+ X9 }. R

" s$ L) g, a7 [# {3 I. f
6 R5 J4 r& x8 F$ x& L
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
8#
发表于 2014-12-5 09:25:09 | 只看该作者
( l/ g, d0 W$ p* u8 ^# p; `. k
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-11-25 15:30 , Processed in 0.043428 second(s), 23 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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