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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
跳转到指定楼层
楼主
发表于 2014-12-4 11:08:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
你好我现在用的你们的omapl138开发板,跑的双核通信的程序,我现在需要通过串口一向外部发信息,但是串口一被DSP占用了,我怎样才能解除DSP占用呢. F: g9 z- c# f) r% Z7 v$ t7 C: L# C
3 |2 H( G/ ?+ `1 u, x' g
4 A. f' X6 L" r4 j( `* K, e+ r
谢谢. O/ N0 C2 C( C
* \, C! ~1 r( t. M

7 `! y4 ]; N2 `; s, P
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
沙发
发表于 2014-12-4 14:01:26 | 只看该作者
  1 #ifndef _LOG_H_
/ B- Y+ Z( a4 g  2 #define _LOG_H_1 w7 ]' }4 U: S% O
  3
2 C7 N% W, W  ~4 }- V  4 /* 0: printf; 1: UART1 */
9 Q2 _# C, K+ u/ _  5 #define OUTPUT_TO_UART1 18 N. T1 r8 \$ A6 x& A. k
  6 & p' C, s/ u  a
  7 /* Switch Log Output */
! t, @% o0 c7 ]3 |' G6 O  8 #if OUTPUT_TO_UART1- f/ B- n4 l; L" L" x8 r3 q
  9     /* For UART1 Initial */  h: j8 K2 X. n) |  i* a' Z- P0 f
10     #include <stdlib.h>
# W$ @3 Q9 D( ]% x/ ~# L 11     #include "hw_types.h"  
7 L0 O5 F, s, |# C; H7 R0 w 12     #include "hw_syscfg0_C6748.h"
3 e( r6 U* _2 C0 a4 Y# v! w 13     #include "soc_C6748.h"+ e( d6 s' \  t- X
14     #include "psc.h"               6 u4 P. `! n5 `  [' ~) L
15     #include "gpio.h"               . }7 h8 X) D9 N% `! S. \/ }
16     #include "uart.h"2 E. J4 D8 x4 ?0 B! B
17     #include "uartStdio.h"! L7 K' X) H' N9 d: v
18
. E- _) O7 `- Z( H 19     #define OUTPUT UARTprintf6 j! t  u( [  ]! |
20 #else
) H) v" u7 r, Q1 D" r. T1 l& ? 21     #include <stdio.h>$ W5 ?+ K2 P* ]/ G9 |' _1 Q, R; X
22     #include <stdbool.h>' r, R) f1 L% l4 O; _) i/ ?
23
: _0 M1 {. U* d5 H; z, U  f 24     #define OUTPUT printf
. v1 t9 w+ {- I" w 25 #endif% d5 c& R3 h0 o
26 ; y# ]0 J& B. N- c
27 /* Log init */
* k' U# I' r( H  R 28 #if OUTPUT_TO_UART1
7 h; N. Z" R3 q+ `2 { 29     #define LOG_INIT() do {                                     \
: S6 Q4 w. U# X 30         PSCModuleControl(SOC_PSC_1_REGS, HW_PSC_GPIO,           \% E% K4 Y' q% r* O! @) M
31                          PSC_POWERDOMAIN_ALWAYS_ON,             \
: h* D: {5 C- a# O4 G! w: Z% b 32                          PSC_MDCTL_NEXT_ENABLE);                \' a5 G  E  ~% J- n! C
33         GPIOBank6Pin12PinMuxSetup();                            \0 {9 E0 A6 j" D' k1 O" a
34         GPIOBank6Pin13PinMuxSetup();                            \
5 R: S; D- Y8 J% {1 U 35         GPIODirModeSet(SOC_GPIO_0_REGS, 109, GPIO_DIR_OUTPUT);  \
) M- q/ {4 D. ^* Z 36         GPIODirModeSet(SOC_GPIO_0_REGS, 110, GPIO_DIR_OUTPUT);  \, ~' C- q1 s* b
37         UARTStdioInit();                                        \
$ F/ C9 h7 s6 k 38     } while (0)" U( A  W& V$ N! U+ \; P8 T
39 #else
6 a. G! W+ Z0 Q. X3 P2 l& M0 X: y 40     #define LOG_INIT() do { } while (0)
- X/ p+ }3 [1 F' S 41 #endif
8 E- J7 A/ _  r, U- G( g! { 42
/ c! @+ s5 u7 A7 e6 J 43 /* Log Output */
) e, z& i3 M; Z1 |1 k 44 #define LOG_INFO(format, ...)      \
: E  k1 ~0 H8 i9 o5 p 45     do {                           \! E7 I+ f- O( F2 E# S* E# ^
46         OUTPUT("[%s|%s@%s,%d] " format "\n", "INFO ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \5 T2 a% u* _4 p$ p
47     } while (0)
$ e; C; g% g) Q& w9 i9 x9 s" Z 48
, W5 @6 e' u) g! P  ~+ j+ M 49 #define LOG_ERROR(format, ...)     \) G8 w% H9 V; S! m
50     do {                           \
4 `7 R4 e; K! @! W 51         OUTPUT("[%s|%s@%s,%d] " format "\n", "ERROR", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
. a" i) D# L% Q 52     } while (0)6 t1 ?! X/ |$ n1 E7 R" f, |/ M
53 ; x8 y9 u8 U1 D+ L
54 #define LOG_DEBUG(format, ...)     \8 I1 [2 j0 W3 f
55     do {                           \( ?4 T5 ?% w  e5 P; S
56         OUTPUT("[%s|%s@%s,%d] " format "\n", "DEBUG", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \9 J. y/ @# t! J; n$ I. c' \
57     } while (0)1 ]5 B- a1 X8 T) B! ^& Q3 M+ b) q
58 ( x% t1 O7 O( m! P1 r& \
59 #define LOG_WARN(format, ...)      \
6 ~: u. F$ m6 X8 d( h 60     do {                           \6 s- R* A  U$ Z( m: S6 Z. W! K+ [
61         OUTPUT("[%s|%s@%s,%d] " format "\n", "WRAN ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \  z# g3 Z! B3 m8 d% }0 @* y
62     } while (0)* \1 V8 ^' _" U0 {
63 % L: e5 K2 m0 o( W  E
64 #define LOG_TRACE(format, ...)     \, z' [* Z1 a8 t7 F
65     do {                           \
9 \; A8 B3 a/ N9 b( A5 f) M7 e 66         OUTPUT("[%s|%s@%s,%d] " format "\n", "TRACE", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \7 R& N& G. O8 n& ]. v$ t, D& ]
67     } while (0)- ?- c0 O/ o5 P' E7 r
68
. W& O4 f- M' E; v5 h9 H 69 #define LOG_FATAL(format, ...)     \# y, Y; x6 p% E; a) @) F/ ~
70     do {                           \
3 ^8 T6 G* L; l 71         OUTPUT("[%s|%s@%s,%d] " format "\n", "FATAL", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
5 V: O$ q& Z7 ? 72         exit(1);                   \4 B: Q, z9 X$ ?
73     } while (0)( U. F* x0 s5 H6 o. n
74 ' D! o  O7 X- C1 U! H
75 /* Assert */
' b% g- d# J9 l' P! T/ G' p2 N" s 76 #define ASSERT(EXP)                \
+ ?  N" Y6 G. y) w* t 77     do{                            \
5 L2 K$ u# |) ]  F% U2 q2 g 78         if (!(EXP)) {              \
) [3 B0 T; j. Q5 @  X3 A5 \* W 79             OUTPUT("[%s@%s,%d] ASSERT: " #EXP "\n", __func__, __FILE__, __LINE__ );                  \2 `3 `' u0 M3 r& [  ^+ j
80             exit(1);               \; C5 d! q- ^+ U5 Y
81         }                          \
$ b/ Q! V& B* N 82     } while(0)$ b4 n2 p1 p* O& c& e4 s6 `
83
. u6 r7 V& w0 P# G: a 84 #endif- R! O. s, S$ B# O7 z/ S
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
板凳
发表于 2014-12-4 14:03:10 | 只看该作者
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏
# m4 E7 r, }7 C: h$ ?' Q5 X
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
地板
 楼主| 发表于 2014-12-4 15:21:54 | 只看该作者
tenny 发表于 2014-12-4 14:03
5 v" l6 ?# H# u5 s' L* ?: D修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏

& K' j% C* o8 [% b9 f4 [' a: S你好,是arm这一端的app
) {! Q, ~, U) _6 o
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
5#
 楼主| 发表于 2014-12-4 15:40:21 | 只看该作者
tenny 发表于 2014-12-4 14:03
. h1 M9 O5 m4 Y5 G- `修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏

+ r3 D6 R- w8 @; i' E你好,你是不是将host/app下的log.h和dsp/driver下的log.h和到一块啦,怎么说下你的思路6 _  Y/ y! l! W& Z! v- o
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
6#
发表于 2014-12-4 15:59:03 | 只看该作者
arm 端的 log 并没有用到 uart17 t4 q5 ]8 t4 c2 t$ I: ^
dsp 端的 log 才使用了 uart1
; i+ m. d. I( A* [( b% }/ h- U% |所以,你需要也只需要修改的是 dsp 子工程的 log.h(新版本的代码 是在 dsp/app/log.h,旧的是在 dsp/driver/log.h), ]1 I: F4 r3 i
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
7#
 楼主| 发表于 2014-12-4 17:19:24 | 只看该作者
tenny 发表于 2014-12-4 15:59) Y6 c! q. ?4 N+ n" x% @- s& j2 b9 |( r
arm 端的 log 并没有用到 uart1; A% ], I! ^8 g) v/ P3 b
dsp 端的 log 才使用了 uart1: \' C( Q. o- D: h/ b* r
所以,你需要也只需要修改的是 dsp 子工程的  ...

# ^- i& X, C" B0 S# N. n  X那我是不是将你贴出的那段代码,替换DSP/driver下的log.h就可以是吧,
  ?" K# D( }! C+ E! b( E' U3 S/ ]/ E" @然后将#define OUTPUT_TO_UART1 1 换成2 f  x! X; l# _. {  h
#define OUTPUT_TO_UART1 0" t0 g7 A1 }! t9 t7 q
  是不是这样0 _: G9 `% `1 z
) v2 e9 Y  _+ l$ K6 R. ?6 t
2 H0 @  y& @/ w4 l, Z  N7 v/ m
6 i- q9 F- ^4 @3 B: ~' S
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

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

# Y, s% N1 x9 S+ ~1 s" v' P' d
回复

使用道具 举报

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

本版积分规则


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

GMT+8, 2026-1-9 23:33 , Processed in 0.044094 second(s), 25 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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