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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
跳转到指定楼层
楼主
发表于 2014-12-4 11:08:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
你好我现在用的你们的omapl138开发板,跑的双核通信的程序,我现在需要通过串口一向外部发信息,但是串口一被DSP占用了,我怎样才能解除DSP占用呢, G4 r5 c# d: P/ J6 V
8 A8 {  H) }% b: @6 v. h3 U

' h# @( l4 ~+ D谢谢: r, I, D1 T5 ?, \* M( k& o) D

, U% @  I" d( X# l' Y1 W8 l" B: g$ V  k, q' F0 q
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
沙发
发表于 2014-12-4 14:01:26 | 只看该作者
  1 #ifndef _LOG_H_
2 y7 J3 N# x; b, @  2 #define _LOG_H_
, c8 t, ^3 R: q8 f$ g' V; O: r  3
# |1 N" P/ K& t  R5 N$ _/ u  4 /* 0: printf; 1: UART1 */) R( k1 p2 I; O% U. e& ~
  5 #define OUTPUT_TO_UART1 1
& d4 L$ J* {5 ~
  6 1 ~2 _) E8 k  Y+ c, `
  7 /* Switch Log Output */- B. Z7 ]' p$ n& ~# R
  8 #if OUTPUT_TO_UART1: B/ o4 a- P( ^4 n) F7 t
  9     /* For UART1 Initial */9 K' s' @( b5 ?5 b
10     #include <stdlib.h>
, ~8 n& ]& f8 e, ? 11     #include "hw_types.h"  9 T; k3 }. N7 g: F! a: w; d0 [$ o  |% c; s
12     #include "hw_syscfg0_C6748.h"- K- t8 }% m7 J7 U* s3 L
13     #include "soc_C6748.h"
2 b# ?5 |1 w8 A 14     #include "psc.h"               
  s' N: P3 O" t& d7 \; w 15     #include "gpio.h"               
: l  W; E) T4 s# a4 N, g7 r0 D) z 16     #include "uart.h"
* I3 F1 M; _+ Q8 a8 X# ]7 f( T1 i5 c 17     #include "uartStdio.h"
9 Q! E9 z8 ]6 R2 f1 Y 18
9 C8 a/ }( D6 }) c+ k) B 19     #define OUTPUT UARTprintf
' h* i& l9 k8 C8 U 20 #else
) g0 X  L: _! z5 }" f3 l 21     #include <stdio.h>. N4 U7 E9 j1 F2 P. w
22     #include <stdbool.h>7 \" J7 {2 i9 q6 c
23
0 }2 z! _* ~  ~; b5 N: u, } 24     #define OUTPUT printf) r/ B( t4 D" D& j/ ~2 }2 K
25 #endif& C# T: u- u" E8 t" U6 w" y$ U
26
: e9 k. j2 |: g4 j4 e 27 /* Log init *// j3 G4 k1 E8 M% o  s5 H
28 #if OUTPUT_TO_UART1$ l! w* {' @% W
29     #define LOG_INIT() do {                                     \
6 W: U  K  V- D 30         PSCModuleControl(SOC_PSC_1_REGS, HW_PSC_GPIO,           \
$ J4 S/ s) U, ]0 }! [# z2 _ 31                          PSC_POWERDOMAIN_ALWAYS_ON,             \
8 U6 G' z2 M6 Q1 v. s 32                          PSC_MDCTL_NEXT_ENABLE);                \1 a: {! H1 S0 \+ b, \3 Q* m
33         GPIOBank6Pin12PinMuxSetup();                            \% U" q5 n; i& ?$ ~& B/ |- I
34         GPIOBank6Pin13PinMuxSetup();                            \
- d0 U, T' }% k. k. v4 l, D9 r 35         GPIODirModeSet(SOC_GPIO_0_REGS, 109, GPIO_DIR_OUTPUT);  \) ~) s( T  J2 d1 i5 }0 p
36         GPIODirModeSet(SOC_GPIO_0_REGS, 110, GPIO_DIR_OUTPUT);  \
% Z) y0 ?) A# [7 _( p; d5 i/ i 37         UARTStdioInit();                                        \
  w/ D) s+ H# z1 m7 m) |* J9 { 38     } while (0). e+ _. e' d; R9 Z
39 #else
' W3 H1 H) n# m9 O* y& k 40     #define LOG_INIT() do { } while (0)
4 X. Y. O& y2 P$ S, r5 e8 ]3 g 41 #endif
4 L' }6 p5 s9 J 42
' B1 \7 [. O5 e5 S+ l7 U0 S 43 /* Log Output */' |" i4 I  H' K# T: E) j6 l6 M
44 #define LOG_INFO(format, ...)      \, I8 P9 B6 m. l  D8 ?( J( U! w
45     do {                           \
7 Q1 g  Y4 `/ v. B4 R) y: Y 46         OUTPUT("[%s|%s@%s,%d] " format "\n", "INFO ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
( a! l: J( C- L* Y3 K 47     } while (0)7 V% p$ I  K3 D9 w
48 ( N! i8 e' x( K! y6 v' f( v  `
49 #define LOG_ERROR(format, ...)     \  k; |! {; Y$ |! x6 @$ w: A3 M
50     do {                           \# u) P- S% u* \7 X9 Q0 Y" k& ^
51         OUTPUT("[%s|%s@%s,%d] " format "\n", "ERROR", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
* W! ^) v0 {+ n  [8 r, i6 s" p 52     } while (0): a* U$ ~" [- x. B
53
9 `* V, D3 b$ E( f, X! L 54 #define LOG_DEBUG(format, ...)     \- K+ G! [! o" F+ f
55     do {                           \: Z* M: z  y4 [6 h+ w5 b1 N% ?
56         OUTPUT("[%s|%s@%s,%d] " format "\n", "DEBUG", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \( e; P, p- r, O, g4 a
57     } while (0)' C, B) \( {4 m% I& e/ [& `1 F
58 # r6 m  |" K) ^6 D; E& R, x
59 #define LOG_WARN(format, ...)      \5 B: @, X- ~& v$ N/ B
60     do {                           \# H% e$ n# n2 p* s3 u4 i
61         OUTPUT("[%s|%s@%s,%d] " format "\n", "WRAN ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
0 I4 o3 I6 w3 [8 D8 ? 62     } while (0)
" S/ H1 M1 N0 g0 O 63
* |' t: \4 n! f4 a 64 #define LOG_TRACE(format, ...)     \2 P! Q/ h! p0 J' u' N
65     do {                           \
; K2 D7 N! C$ @8 X; l2 V5 ~ 66         OUTPUT("[%s|%s@%s,%d] " format "\n", "TRACE", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \! L. j# L9 e( ]4 ~  P
67     } while (0)% j, S/ L( Y$ l) I
68 $ w# L* V, B8 V. q
69 #define LOG_FATAL(format, ...)     \! @, o9 c& ]4 ~" ^3 [/ x
70     do {                           \4 `6 r& s( l2 ^% s# |6 y. H+ G) {
71         OUTPUT("[%s|%s@%s,%d] " format "\n", "FATAL", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \2 S' p( Y6 J$ n* L- h- h) [4 @
72         exit(1);                   \
1 ~! j' v) u- y+ q( ^% D6 z 73     } while (0)
: M( N' Z: ]' y* @  g 74
4 w5 |- i8 ]. V. B- g2 n 75 /* Assert */
" X* Q" O6 N8 N8 o 76 #define ASSERT(EXP)                \
3 Y( K. b: Q6 O' e 77     do{                            \
0 u# B3 L  V% e' O0 V! U8 W 78         if (!(EXP)) {              \
- ^% C$ c; D& _/ h 79             OUTPUT("[%s@%s,%d] ASSERT: " #EXP "\n", __func__, __FILE__, __LINE__ );                  \% w; M4 ~9 `) G( c* W/ _" W# ^8 T
80             exit(1);               \
) A2 U# z3 V2 |. j0 j/ C1 j 81         }                          \' l1 Y/ |& v  K  `: W
82     } while(0)" S2 r; q( P: T
83
" O1 g( G6 Z( B' B3 ^* f& h9 v8 S 84 #endif5 I7 {% }& ^; b+ T
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
板凳
发表于 2014-12-4 14:03:10 | 只看该作者
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏
% `4 x3 H* j7 |6 L: J
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
地板
 楼主| 发表于 2014-12-4 15:21:54 | 只看该作者
tenny 发表于 2014-12-4 14:03$ D7 B- n. P1 ?3 }
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏

. P7 D8 h1 Z2 w0 S4 w你好,是arm这一端的app
% N8 f8 n! B! t* F; q! u
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
5#
 楼主| 发表于 2014-12-4 15:40:21 | 只看该作者
tenny 发表于 2014-12-4 14:03+ |, V+ p8 v4 E" ^
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏
7 O$ |; U9 j* ]
你好,你是不是将host/app下的log.h和dsp/driver下的log.h和到一块啦,怎么说下你的思路
  L- ^" q; M+ d
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
6#
发表于 2014-12-4 15:59:03 | 只看该作者
arm 端的 log 并没有用到 uart16 m3 M8 g7 i4 o
dsp 端的 log 才使用了 uart1
1 h' |$ u0 j4 c( Q& c所以,你需要也只需要修改的是 dsp 子工程的 log.h(新版本的代码 是在 dsp/app/log.h,旧的是在 dsp/driver/log.h): c' s. T) j6 o$ i! Z
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
7#
 楼主| 发表于 2014-12-4 17:19:24 | 只看该作者
tenny 发表于 2014-12-4 15:593 t' S0 m" l8 x8 J
arm 端的 log 并没有用到 uart1" `9 ~% P1 J( d0 m/ h7 U
dsp 端的 log 才使用了 uart11 ?+ j( D. Z2 M+ G' K7 v
所以,你需要也只需要修改的是 dsp 子工程的  ...
' Q( L5 n0 T; ?6 a' [: M
那我是不是将你贴出的那段代码,替换DSP/driver下的log.h就可以是吧,1 b% Q+ d3 i. R# W6 G
然后将#define OUTPUT_TO_UART1 1 换成4 ?1 I" f8 v8 P- c3 q
#define OUTPUT_TO_UART1 0
2 C& q. A+ \& N' I" l5 L  是不是这样
& x# t& D# M0 N7 Q/ U5 R( {
6 n7 ~: x9 O8 Q% X8 o$ Q. A: p" x" h& B3 M" X6 L! F1 w% I7 n
# C5 g- D+ X" X9 K, |
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

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

! T/ d; w" T% r! c6 J% R3 z) U
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-9-19 09:32 , Processed in 0.046928 second(s), 26 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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