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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
跳转到指定楼层
楼主
发表于 2014-12-4 11:08:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
你好我现在用的你们的omapl138开发板,跑的双核通信的程序,我现在需要通过串口一向外部发信息,但是串口一被DSP占用了,我怎样才能解除DSP占用呢
& T; P, ^2 D- H
, S2 W) B9 S& L2 `4 ~
7 \' I5 n; U( K谢谢
2 H' e: x4 N) P' J6 U5 S7 w  W8 Z: c6 H2 W

$ S' o+ d& i; Y: q! W" h
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
沙发
发表于 2014-12-4 14:01:26 | 只看该作者
  1 #ifndef _LOG_H_3 @: {* a: a9 G" y: G. ^
  2 #define _LOG_H_
2 W6 H& @. z5 m/ Y4 ]- k" }7 D  3
; z7 j# r1 |% ?( C( z4 b( m6 W  4 /* 0: printf; 1: UART1 */
( ~( x2 p3 g' W# u5 o$ W! e3 q: ?  5 #define OUTPUT_TO_UART1 1
9 a+ I: A2 y- [+ F0 W# o- u
  6
' ~$ ^6 R8 T8 @/ @7 j2 K$ Q7 w  7 /* Switch Log Output */
! y8 R) i6 I1 Q/ u0 t  8 #if OUTPUT_TO_UART13 b4 q2 ]% ?+ k  s7 _: H
  9     /* For UART1 Initial */
9 I) k/ g$ K4 M 10     #include <stdlib.h>' H1 }- t, d; K: ?
11     #include "hw_types.h"  4 s. A1 e0 K; d5 c8 b! C( p
12     #include "hw_syscfg0_C6748.h"
- l: z* d3 r6 n+ {# t+ [ 13     #include "soc_C6748.h"3 L* G0 j5 i" g9 X7 j+ m
14     #include "psc.h"               
4 j3 \8 u( _+ _% @+ F 15     #include "gpio.h"               
7 t/ m5 [# b% ~ 16     #include "uart.h"
8 J  L& A; E+ Z+ [ 17     #include "uartStdio.h"
, K2 r& b" ^. X, c5 x7 y0 e( E 18 + R! [. {1 B) Z
19     #define OUTPUT UARTprintf1 ~3 C6 Q% Y0 r. J: ~7 t/ W
20 #else) X% T' ^& D  a
21     #include <stdio.h>
; H" ]( w9 t: q, \, L- U 22     #include <stdbool.h>
9 u, |: L  |! G- c/ b 23
/ O2 p3 T5 ]; A- x5 y/ l1 q, b 24     #define OUTPUT printf
! p! m; m: D6 n+ a9 s 25 #endif" d9 S3 u1 q+ k9 D/ F! _4 f" D
26 : Q3 H" G1 x/ V
27 /* Log init */& x+ s6 P, _0 b) P+ m# I7 |) L
28 #if OUTPUT_TO_UART16 ^2 L7 _, R& Q5 z" M& ]# g
29     #define LOG_INIT() do {                                     \
$ ?0 p+ z2 \; l: D* X 30         PSCModuleControl(SOC_PSC_1_REGS, HW_PSC_GPIO,           \5 ?) r: a% l+ `. U8 p1 g
31                          PSC_POWERDOMAIN_ALWAYS_ON,             \( F; ?! f! C* ~4 ^& `5 b
32                          PSC_MDCTL_NEXT_ENABLE);                \3 C+ O2 v' y9 A
33         GPIOBank6Pin12PinMuxSetup();                            \( B8 y/ b3 P: ^) r7 {
34         GPIOBank6Pin13PinMuxSetup();                            \: {, U0 k$ y6 A4 a* ^( i
35         GPIODirModeSet(SOC_GPIO_0_REGS, 109, GPIO_DIR_OUTPUT);  \
. Z+ q0 C4 D/ A; H, O. C( S+ U 36         GPIODirModeSet(SOC_GPIO_0_REGS, 110, GPIO_DIR_OUTPUT);  \' ^7 c  V$ c7 `3 n, k- R  W& _
37         UARTStdioInit();                                        \
7 @( S$ X" Y+ Y" k, g% ~% k% T 38     } while (0)( \5 N& Q% @9 n9 ?
39 #else5 f" S4 A6 h6 D  k! B
40     #define LOG_INIT() do { } while (0)) o, p4 V1 `' m, p7 Q
41 #endif# h7 r  ^5 l$ F7 c
42 4 S7 z8 s4 V. E6 p* V7 {* B7 C
43 /* Log Output */2 i- s% G+ l& _0 N9 V' ~5 g
44 #define LOG_INFO(format, ...)      \) Y* C! L' S2 x2 v' z
45     do {                           \
+ ^0 g; Q" y% s) ]2 Q$ W0 V# r 46         OUTPUT("[%s|%s@%s,%d] " format "\n", "INFO ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
3 E5 {$ S8 h6 y- v 47     } while (0)( o  t; V6 j: N, I! l! U
48
. O4 \$ ]" Z! r5 C 49 #define LOG_ERROR(format, ...)     \
& Z9 P' w* v, _( f% Y+ r 50     do {                           \
5 o: @+ ^2 L% S; @5 ~3 p% n 51         OUTPUT("[%s|%s@%s,%d] " format "\n", "ERROR", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \4 U9 m( U$ V3 X6 M1 g
52     } while (0)
: ?7 T) O5 a! A! x3 P6 K3 V 53
+ v8 ~, ?" Y% N* E, n% T 54 #define LOG_DEBUG(format, ...)     \
) L1 Y' K$ h4 P- E' I1 O) i/ x 55     do {                           \8 q/ d3 b- e+ q* Q
56         OUTPUT("[%s|%s@%s,%d] " format "\n", "DEBUG", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \7 [0 k0 r7 W- D) A1 m/ b* K
57     } while (0)% r' |( y: G2 j6 q5 E! Y9 K# |, r
58 ) d: l9 z, c! j2 |4 i. X! H
59 #define LOG_WARN(format, ...)      \: K: @0 e! I$ Y+ _
60     do {                           \6 U3 I) z6 o1 V7 O
61         OUTPUT("[%s|%s@%s,%d] " format "\n", "WRAN ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \3 w. N; ^& g/ L) U4 q6 v
62     } while (0)
, ~, p9 a7 X1 {1 p 63
/ B) f! [' _3 D, T  N( L 64 #define LOG_TRACE(format, ...)     \
7 a* Z  l. z! ^ 65     do {                           \
3 G( W0 _5 Z6 G- [5 d1 T 66         OUTPUT("[%s|%s@%s,%d] " format "\n", "TRACE", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
$ R4 O: R: F: H3 t9 L 67     } while (0)2 V6 a, q( W% t
68
- r, X! w! R5 `1 i& ^) N" [ 69 #define LOG_FATAL(format, ...)     \
3 Z( k, Z4 E1 ]* ` 70     do {                           \
- E6 z' x9 w6 \; C 71         OUTPUT("[%s|%s@%s,%d] " format "\n", "FATAL", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
2 v' F( \' _3 ]* t 72         exit(1);                   \
( X) W4 A9 z/ ^: s. \( { 73     } while (0)' \( h' o3 S9 p) _
74
7 Q6 e' q0 U. r2 k, Y 75 /* Assert */) k  I% Z* M& _8 u) S
76 #define ASSERT(EXP)                \6 M; c2 f: o# ?! f! M
77     do{                            \2 }) C9 d( c9 v* C
78         if (!(EXP)) {              \
4 W8 j) L6 f, B2 k7 v 79             OUTPUT("[%s@%s,%d] ASSERT: " #EXP "\n", __func__, __FILE__, __LINE__ );                  \
; l! F: g/ I& _6 L5 Z! J1 z* U2 b 80             exit(1);               \: l' i: n( S4 |9 C: w
81         }                          \3 X! M2 l& I3 h! L: H  o
82     } while(0)1 r: b9 Z! h0 X, o- c
83 ' W- O  H3 `/ o5 K$ D: x
84 #endif8 V& r$ X' L  }6 r
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
板凳
发表于 2014-12-4 14:03:10 | 只看该作者
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏
  ?# Y0 i% X7 D+ C* h7 E
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
地板
 楼主| 发表于 2014-12-4 15:21:54 | 只看该作者
tenny 发表于 2014-12-4 14:03
! M% i3 S/ m$ K' e' n1 [  v修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏

* d: y  ^  S' f, p! R% Z9 p你好,是arm这一端的app
; G1 E/ d8 s1 l% V2 {7 j
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
5#
 楼主| 发表于 2014-12-4 15:40:21 | 只看该作者
tenny 发表于 2014-12-4 14:03
! b$ l* O, J, Q, G7 g; @修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏

6 j2 C# p% I" i* Y你好,你是不是将host/app下的log.h和dsp/driver下的log.h和到一块啦,怎么说下你的思路& y% Z* ^4 M. O+ {
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
6#
发表于 2014-12-4 15:59:03 | 只看该作者
arm 端的 log 并没有用到 uart1
. P* ]( U3 y# L+ }% fdsp 端的 log 才使用了 uart1
9 @. A( T: ], C! H所以,你需要也只需要修改的是 dsp 子工程的 log.h(新版本的代码 是在 dsp/app/log.h,旧的是在 dsp/driver/log.h)
# _( n3 M/ W/ ?2 h7 ~! Z2 H" T
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
7#
 楼主| 发表于 2014-12-4 17:19:24 | 只看该作者
tenny 发表于 2014-12-4 15:59
6 f& r; ]% v. @- T7 }* k: Rarm 端的 log 并没有用到 uart1
# [3 g  T8 x% ]$ D' A: e+ D, t. fdsp 端的 log 才使用了 uart14 g. R5 a4 H  o5 |
所以,你需要也只需要修改的是 dsp 子工程的  ...
# v. Z) \: Y; @9 {' X* j2 O5 ?
那我是不是将你贴出的那段代码,替换DSP/driver下的log.h就可以是吧,
: W/ N3 E) q8 b. `* C; v然后将#define OUTPUT_TO_UART1 1 换成4 b% y$ j3 S; @" r3 \1 j
#define OUTPUT_TO_UART1 0
1 s5 v' T6 ^# M7 q  Q9 F; }6 N  是不是这样% E- P/ N4 [. m9 X: W6 N
1 \: S0 R3 b7 w/ |/ x

% ]/ c7 k' G, Z& f( l# a* K5 Z; t/ j1 a; w4 m) E( ]/ O2 ?$ m
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
8#
发表于 2014-12-5 09:25:09 | 只看该作者
5 p7 q4 n3 T# p, S) J0 F
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-12-26 07:34 , Processed in 0.048338 second(s), 26 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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