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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
跳转到指定楼层
楼主
发表于 2014-12-4 11:08:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
你好我现在用的你们的omapl138开发板,跑的双核通信的程序,我现在需要通过串口一向外部发信息,但是串口一被DSP占用了,我怎样才能解除DSP占用呢# v& c- t* N9 Y3 r1 M, H4 B/ a
: S& h8 `* E' C

' B! }' z! }' y谢谢1 K2 p! R+ d2 Y( G. C
3 _+ Q3 q; B: D! t1 @
8 o, t3 h0 W# z* P3 e2 i
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
沙发
发表于 2014-12-4 14:01:26 | 只看该作者
  1 #ifndef _LOG_H_1 {( E# @9 |* _: L7 ~* T( @
  2 #define _LOG_H_- k: s4 l. q6 z1 l  t- _! N
  3 7 j/ N2 l9 M" Y8 d  N- S" H
  4 /* 0: printf; 1: UART1 */7 c. M- j% B/ p2 @& s
  5 #define OUTPUT_TO_UART1 1
1 r9 I+ I* k/ W5 }
  6
' e: ~! \1 K. P( d8 Z  7 /* Switch Log Output */% W6 Z6 r/ K( n3 k  R
  8 #if OUTPUT_TO_UART1
5 D/ a4 V" `7 r: W1 c  9     /* For UART1 Initial */
- o2 r1 N/ A  h+ E" `% Q 10     #include <stdlib.h>& @$ `" ]9 J9 o, `* C
11     #include "hw_types.h"  + m3 I( h0 s5 A/ |0 R
12     #include "hw_syscfg0_C6748.h"- ?+ C6 Q7 R5 _; r- w: M  i
13     #include "soc_C6748.h"/ J7 N2 F  ?, B( Q+ v2 m2 n0 t
14     #include "psc.h"               
7 s- E. ?. o- l; |2 p9 h8 d 15     #include "gpio.h"               ' {) r% y+ T5 H3 {
16     #include "uart.h"
; h) E6 e$ x$ \0 E' O 17     #include "uartStdio.h"- ~  [6 |0 n% v) X* h
18 # O0 S/ Y. m; V1 L7 q& H9 U
19     #define OUTPUT UARTprintf
  y' j* E% e; q: M: @: H8 k; H 20 #else$ M( F) b4 B1 {$ \$ p/ L, D9 T
21     #include <stdio.h>8 b: Z- e% C% ]$ R* v9 g
22     #include <stdbool.h>8 g9 w' V$ V" K- ^, d
23
: {% \+ u8 X' r' I/ Q5 j3 G 24     #define OUTPUT printf5 \7 x, _. Z& m6 x4 m$ ]' o& R7 s
25 #endif2 U2 s$ d1 j; X' Q! A; E4 v% G
26
( m, o& v$ X8 r- C$ u+ e 27 /* Log init */
2 J, j* K/ y  A 28 #if OUTPUT_TO_UART1
: W; B3 |8 [. K6 w9 l* [ 29     #define LOG_INIT() do {                                     \; v2 R! ?) ?1 n- ]
30         PSCModuleControl(SOC_PSC_1_REGS, HW_PSC_GPIO,           \
: H2 e  Z$ Q  [8 g; D/ ^' _& g 31                          PSC_POWERDOMAIN_ALWAYS_ON,             \$ U9 P/ y2 M- U
32                          PSC_MDCTL_NEXT_ENABLE);                \
4 i3 H0 |" w0 o+ s 33         GPIOBank6Pin12PinMuxSetup();                            \
4 Z; V2 K( R/ j2 H 34         GPIOBank6Pin13PinMuxSetup();                            \& J" X- T. S9 W5 ~/ _; t- u% @/ z
35         GPIODirModeSet(SOC_GPIO_0_REGS, 109, GPIO_DIR_OUTPUT);  \
, \- [3 Z: D: J" h- I: c 36         GPIODirModeSet(SOC_GPIO_0_REGS, 110, GPIO_DIR_OUTPUT);  \" K/ j( z' M7 N0 \: ^
37         UARTStdioInit();                                        \
4 F$ F3 G" [/ H8 [3 n 38     } while (0)$ }7 ^. w) r8 B4 U
39 #else
( Q! n. ]7 F: f5 s4 j2 G 40     #define LOG_INIT() do { } while (0)
7 n; ~4 O' n  C' L$ Y+ n) O6 U 41 #endif
7 O- @9 S: i! q; ]1 P' t$ N 42 8 I" n% z: j9 x& T
43 /* Log Output */
' k+ [. B2 I0 n) c6 G" R 44 #define LOG_INFO(format, ...)      \
- ~' f5 R' L5 N% D 45     do {                           \
7 N" t( U- m5 p 46         OUTPUT("[%s|%s@%s,%d] " format "\n", "INFO ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
9 Q% C) z0 P& |/ Z 47     } while (0)
. c' Y9 [5 @* J' J( {& T& F  x 48
; H! _$ ]- o3 p% | 49 #define LOG_ERROR(format, ...)     \
( U: j5 L* Y4 R( B% M7 ? 50     do {                           \
5 P7 V0 G& E- A 51         OUTPUT("[%s|%s@%s,%d] " format "\n", "ERROR", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \, ~% L% X# k  @$ _# H$ v
52     } while (0)
# g: ]/ Q9 c- d; j6 A2 l! {1 D 53
; ?( J% o' g4 J/ ?, H 54 #define LOG_DEBUG(format, ...)     \
  B# s- S! P# {0 A 55     do {                           \
" M- f4 |- N# ^' T7 }& E 56         OUTPUT("[%s|%s@%s,%d] " format "\n", "DEBUG", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \; b) f' E8 t# p6 u6 i3 A
57     } while (0)( M& J, ]7 S, w( r6 p8 R
58
& Y  r0 m7 ~0 U 59 #define LOG_WARN(format, ...)      \
, }+ g4 x4 M! u6 t 60     do {                           \) Q2 r$ J! `( N9 t, U
61         OUTPUT("[%s|%s@%s,%d] " format "\n", "WRAN ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
4 C" ^" C- B0 V7 j 62     } while (0)
8 X  p/ V" J9 U6 Y 63 ' \9 b; Y3 B& D
64 #define LOG_TRACE(format, ...)     \- r% X/ U) c0 `9 y- H( j. R% w
65     do {                           \
4 F5 r/ ~  y1 Y  S* j! [! I 66         OUTPUT("[%s|%s@%s,%d] " format "\n", "TRACE", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \! q0 D& }0 }9 _8 R9 q6 j/ H
67     } while (0): [# b( r! a" ]- R1 Z
68
" j" _5 u3 A9 @5 A+ O, `# ~7 D$ R 69 #define LOG_FATAL(format, ...)     \
9 A" n! M' w& f* ~, V* I% x  u' B+ e 70     do {                           \
  ?1 P' J' F: H) O$ |* ^# l 71         OUTPUT("[%s|%s@%s,%d] " format "\n", "FATAL", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \) x" u8 K2 X5 X+ ^1 P. l) R# E6 g7 x
72         exit(1);                   \
8 P. Z: B7 w+ z) ~7 J. s- E+ R 73     } while (0)/ e" f0 E4 ?1 q/ D
74 6 f1 Y5 M- Q/ t8 ^  D' Z
75 /* Assert */
" u" E4 u  u$ i$ D" \% Z 76 #define ASSERT(EXP)                \9 G7 Z4 s3 m0 q9 L
77     do{                            \1 Z. H# C& A' W5 S
78         if (!(EXP)) {              \. r4 Y) C& ?3 a* R0 z+ M$ E
79             OUTPUT("[%s@%s,%d] ASSERT: " #EXP "\n", __func__, __FILE__, __LINE__ );                  \/ w% [' h' t& l& O, M6 r4 f
80             exit(1);               \
; M' r# I9 U, p# g! n 81         }                          \
/ C; i* U- x- I' V 82     } while(0)) i- r! Z4 r- Y! b# R4 ?( s
83
% A& v3 O+ o7 _$ t- E; V- [& a 84 #endif
# q' P6 C  B% |2 B3 b! i
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
板凳
发表于 2014-12-4 14:03:10 | 只看该作者
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏
0 P9 v9 x8 @6 L1 u( K
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
地板
 楼主| 发表于 2014-12-4 15:21:54 | 只看该作者
tenny 发表于 2014-12-4 14:03; |" @4 j: j3 j$ i# m
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏
' ?; m5 @$ i! \8 O
你好,是arm这一端的app" A2 I- }8 x  D7 }8 Y8 O
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
5#
 楼主| 发表于 2014-12-4 15:40:21 | 只看该作者
tenny 发表于 2014-12-4 14:034 F) h4 a  D& c8 l
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏

) c* J/ s+ d- i. l你好,你是不是将host/app下的log.h和dsp/driver下的log.h和到一块啦,怎么说下你的思路
: U) @# j: ]# `0 x7 ]* p
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
6#
发表于 2014-12-4 15:59:03 | 只看该作者
arm 端的 log 并没有用到 uart11 a8 m4 J! A5 n- A' o% R$ M
dsp 端的 log 才使用了 uart1
. u+ e8 V( R" Q5 b! ]4 j/ e0 A所以,你需要也只需要修改的是 dsp 子工程的 log.h(新版本的代码 是在 dsp/app/log.h,旧的是在 dsp/driver/log.h)' `+ X( z, ?/ r) ?9 m
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
7#
 楼主| 发表于 2014-12-4 17:19:24 | 只看该作者
tenny 发表于 2014-12-4 15:59  s3 b" |: e/ Z
arm 端的 log 并没有用到 uart1  n" W5 \& T! u1 l) w
dsp 端的 log 才使用了 uart1
% ?" D. ?( l3 ^/ N$ w) l4 B# p% r所以,你需要也只需要修改的是 dsp 子工程的  ...

& v& s2 ~( U8 H& R6 Y0 h那我是不是将你贴出的那段代码,替换DSP/driver下的log.h就可以是吧,
( l! f; J3 ]' v' z, D. V# }. }然后将#define OUTPUT_TO_UART1 1 换成
( t/ I9 N% E7 D4 I, B# V) f7 }3 v#define OUTPUT_TO_UART1 0
2 a) b# a" T5 T! M  是不是这样& B7 D' r8 ]# d; |# C1 X
) e1 p4 j! l6 F) l

- x) k' {! Q- o8 S
. x5 J7 `2 g8 ^0 x
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
8#
发表于 2014-12-5 09:25:09 | 只看该作者
5 o+ L% J4 D4 Z+ j: I- _0 z; A
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-9-18 21:40 , Processed in 0.041945 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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