请问怎样可以解除DSP端输出信息对占用串口1的占用 - OMAP-L138 - 嵌入式开发者社区 - 51ele.net
设为首页收藏本站
点击跳转“创龙科技服务通”

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

8

主题

30

帖子

150

积分

注册会员

Rank: 2

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

8 P) C" ?% D; n( r$ U
, x# D$ I& a& c% k# \; e谢谢2 a( L2 G* @3 f. I6 I. L

8 C8 F; f* L# w& I; c
6 s0 ~3 I( m+ ?) d9 `7 p6 Y' s+ t: k1 V
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
沙发
发表于 2014-12-4 14:01:26 | 只看该作者
  1 #ifndef _LOG_H_
1 V3 C& R  w. P" ~1 r& Q  2 #define _LOG_H_- Y+ p5 w# \  V2 }- A7 K; N' p) {
  3
: ?% a- K2 g3 L0 `& y6 }; E( M* {  4 /* 0: printf; 1: UART1 */
7 \  K; f5 m6 T( r) W4 m  5 #define OUTPUT_TO_UART1 1
. M+ l8 {% A% `( e: T% W
  6
2 [8 U1 I  v! l5 {8 c0 U  7 /* Switch Log Output */
+ A: F8 I: T' D3 J. e  8 #if OUTPUT_TO_UART1' _/ {0 @# x: L- ~) b4 W
  9     /* For UART1 Initial */
$ X& _# x. s- I4 n* C8 D 10     #include <stdlib.h>
/ r* C& P1 [' R8 p1 `5 } 11     #include "hw_types.h"  / `4 o! H0 n3 {) Y" n1 n- K" G0 k+ |
12     #include "hw_syscfg0_C6748.h"
; m! J& S2 K- c8 ]5 I! i6 T) [ 13     #include "soc_C6748.h"2 _3 W5 h4 U! v! b
14     #include "psc.h"               9 `) `; O$ X* y( J  m4 b
15     #include "gpio.h"               
6 i( S2 i( C# A. x 16     #include "uart.h"
7 {' w5 x7 P$ n6 X; G$ W5 |4 _% O 17     #include "uartStdio.h"
4 J8 Z$ L% f  S) b: E$ v) P 18 ! l8 Y5 n' |( J- ]6 I
19     #define OUTPUT UARTprintf
: |: l; A" n6 A& R 20 #else( K& J, }1 s& w. U. |
21     #include <stdio.h>
9 U# z) z1 k, z" q1 `9 n9 Z 22     #include <stdbool.h>% ^8 U$ Y: C: n, P
23 - D; ]. p  V9 S, ~3 p8 F) A
24     #define OUTPUT printf
  b2 v0 I" I) \, i 25 #endif  P/ S9 M6 u  a
26
3 j7 s. X+ @, t6 `' Q( G; z* ]; ` 27 /* Log init *// `& t! \: f7 [! P/ h
28 #if OUTPUT_TO_UART1
& g; ~% I1 v$ Q* t9 Q 29     #define LOG_INIT() do {                                     \
3 Q5 J" O' y' W( k6 U$ \ 30         PSCModuleControl(SOC_PSC_1_REGS, HW_PSC_GPIO,           \
, n. B4 a9 I; u/ P& q% ^ 31                          PSC_POWERDOMAIN_ALWAYS_ON,             \
' S, ~% n" g8 `% z/ `( A4 ]/ V 32                          PSC_MDCTL_NEXT_ENABLE);                \- ~- i2 B; j. r
33         GPIOBank6Pin12PinMuxSetup();                            \
  O8 y5 I! |7 g! L 34         GPIOBank6Pin13PinMuxSetup();                            \' V3 t! W7 d+ P/ n9 I% y' O
35         GPIODirModeSet(SOC_GPIO_0_REGS, 109, GPIO_DIR_OUTPUT);  \
' Q2 \$ d- k( E* B; i 36         GPIODirModeSet(SOC_GPIO_0_REGS, 110, GPIO_DIR_OUTPUT);  \
* R; i4 N" i6 j# m3 J 37         UARTStdioInit();                                        \
% m, I+ T7 e( N* @ 38     } while (0)5 f5 H( i! ~- `  O
39 #else
3 }- V/ \; f, P4 _4 A1 `* d& Q 40     #define LOG_INIT() do { } while (0)
5 j7 }" D7 f- O+ D9 t6 V1 z. ^+ I 41 #endif: u! m+ G& e! D2 X: w  G( O8 w
42 , w* w7 n. X: t
43 /* Log Output */! p7 X4 \( S( C& Y# n
44 #define LOG_INFO(format, ...)      \
1 R! |' l8 a+ a% [- r+ V 45     do {                           \" d$ y) I2 n# ]! ?
46         OUTPUT("[%s|%s@%s,%d] " format "\n", "INFO ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
" x! b* u, z& e; m1 n% n+ E 47     } while (0): H; e6 S7 ?) b- z
48
8 {# w( p3 x7 u6 d* ~ 49 #define LOG_ERROR(format, ...)     \
$ W7 Y2 ^* K. L# H% D% f0 @ 50     do {                           \
  p( p) N/ k- f; a5 ~. D 51         OUTPUT("[%s|%s@%s,%d] " format "\n", "ERROR", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \" G- s$ j/ Y- ?+ f/ {7 P
52     } while (0), I( U( \- b0 v' I" e6 f
53
! ]/ E5 G, @& f0 d* M5 r2 }% j5 Z 54 #define LOG_DEBUG(format, ...)     \
  W" x' V8 Q0 A" E 55     do {                           \
% X) J8 k% t$ H5 \ 56         OUTPUT("[%s|%s@%s,%d] " format "\n", "DEBUG", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \. ?' c& Q, Q" z0 B6 Q4 r
57     } while (0)
- c7 m* j* i; j: Z& o/ l 58
" J8 }' [) n: `( r1 }! M" x2 [ 59 #define LOG_WARN(format, ...)      \& w8 @0 f- I0 G
60     do {                           \
$ t+ t: o! m% D0 h: X! S( A* I 61         OUTPUT("[%s|%s@%s,%d] " format "\n", "WRAN ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
; k/ m4 n+ @& `# i* e( {% ` 62     } while (0)1 I$ @$ A8 x& q2 Q9 O
63
; K  h0 d& L/ w% e7 \$ C 64 #define LOG_TRACE(format, ...)     \* L; Z% X2 f2 d8 w
65     do {                           \* ?5 p1 W3 G0 P# h& Y. N4 g  m
66         OUTPUT("[%s|%s@%s,%d] " format "\n", "TRACE", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \1 S$ W& t2 p  L  U# `7 w
67     } while (0)# N* D1 u% }0 Q6 d' x; d
68
2 w$ {* U2 L- q2 I- a) \ 69 #define LOG_FATAL(format, ...)     \$ s4 @( D, I/ h8 f3 X
70     do {                           \
& _- q; r; ?2 r; l  z 71         OUTPUT("[%s|%s@%s,%d] " format "\n", "FATAL", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
6 }7 w2 e+ T* t; _' { 72         exit(1);                   \
3 M' y, G& R0 N* \9 R4 S 73     } while (0)7 d6 _' ?* W! K6 V5 L. U4 N
74 / b& E- S; ~8 B% s3 K, k1 B, @
75 /* Assert */
# U$ ~+ z  d" t& l, B# D$ I0 Z 76 #define ASSERT(EXP)                \/ a- {( Q% ?. A3 y5 ]6 F( O3 f5 w3 P
77     do{                            \: l$ G9 {2 M5 n) |0 Q" r; {
78         if (!(EXP)) {              \
/ H7 y8 @% }1 P% I$ Q! x! q3 S0 q 79             OUTPUT("[%s@%s,%d] ASSERT: " #EXP "\n", __func__, __FILE__, __LINE__ );                  \9 }5 ?: u  E& g4 v1 b8 V6 Z
80             exit(1);               \* g/ \" f* v$ O; h$ {
81         }                          \( Z  h: n, C- s) Y8 T& M% s5 J
82     } while(0)
3 P( s* {7 B* x: r 83 ) d& P" G: `; F& M3 W) k, t- a$ |$ ~
84 #endif
  a" @# y. Y& \6 a4 s0 X7 E( V
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
板凳
发表于 2014-12-4 14:03:10 | 只看该作者
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏$ ]" L  Y" R4 J- T! `
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
地板
 楼主| 发表于 2014-12-4 15:21:54 | 只看该作者
tenny 发表于 2014-12-4 14:03  N* A& [) D# ]9 k+ A: g6 K; h
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏

8 i% _. E0 N# t/ `你好,是arm这一端的app
7 \, P9 f* j; E1 `+ Q
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
5#
 楼主| 发表于 2014-12-4 15:40:21 | 只看该作者
tenny 发表于 2014-12-4 14:03
, d5 R4 ^4 ]2 i) _6 {修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏

8 C0 T1 l% z5 S1 ~你好,你是不是将host/app下的log.h和dsp/driver下的log.h和到一块啦,怎么说下你的思路& s' o. ^/ ?) i& K% D+ B5 `
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
6#
发表于 2014-12-4 15:59:03 | 只看该作者
arm 端的 log 并没有用到 uart1" [$ Y, A% }9 F, o/ M; b) P' z
dsp 端的 log 才使用了 uart1
5 w5 G$ _+ f* m. R6 C8 `所以,你需要也只需要修改的是 dsp 子工程的 log.h(新版本的代码 是在 dsp/app/log.h,旧的是在 dsp/driver/log.h)
# h+ o" v; q+ W% D3 a
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
7#
 楼主| 发表于 2014-12-4 17:19:24 | 只看该作者
tenny 发表于 2014-12-4 15:59* `/ ~: m9 T: u* H
arm 端的 log 并没有用到 uart1
# y2 `) F1 {" S" |- L2 m6 `4 ddsp 端的 log 才使用了 uart1
- ^8 D% T7 ?' n4 k0 Z" ]所以,你需要也只需要修改的是 dsp 子工程的  ...
2 O6 J* J: s: e: ^5 I. Y# O1 m
那我是不是将你贴出的那段代码,替换DSP/driver下的log.h就可以是吧,8 M2 v" p. `$ P8 l
然后将#define OUTPUT_TO_UART1 1 换成
  r) J/ ~6 U( B# O1 G, v3 E, D#define OUTPUT_TO_UART1 0
/ a" B1 t+ \! F# \1 P  w# H3 f6 j  是不是这样! ?0 L9 J# I/ ^4 ]
# |- p9 {1 {+ X
. O: s2 o+ z4 v/ N

/ n; l: [6 A" }8 @
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
8#
发表于 2014-12-5 09:25:09 | 只看该作者
: X# C8 `* x- s4 Z; f& n" J
回复

使用道具 举报

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

本版积分规则

点击跳转“创龙科技服务通”

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

GMT+8, 2026-3-23 09:40 , Processed in 0.044774 second(s), 25 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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