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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
跳转到指定楼层
楼主
发表于 2014-12-4 11:08:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
你好我现在用的你们的omapl138开发板,跑的双核通信的程序,我现在需要通过串口一向外部发信息,但是串口一被DSP占用了,我怎样才能解除DSP占用呢, f8 t9 W& a% ~4 n2 H9 e
& \+ v6 ^2 F$ X, r5 g8 b0 h

$ T- U+ v8 {% [1 `' f7 W谢谢$ U2 Q, V+ v$ x; k0 i
* J0 Q0 j& |" j+ v( \9 d, G

3 q2 l% t+ R' i% L
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
沙发
发表于 2014-12-4 14:01:26 | 只看该作者
  1 #ifndef _LOG_H_6 {7 j1 l+ E3 |! G0 J
  2 #define _LOG_H_- X$ k/ Q# V$ S+ e5 z/ J. Q  i
  3
8 O' S$ c( M  `' B% J- l  4 /* 0: printf; 1: UART1 */( H  ?) o, ^; a& G% s& r
  5 #define OUTPUT_TO_UART1 1- ~& m7 |- n, Y4 s4 e; p
  6
5 ?" L) R3 R( n. ?8 q  7 /* Switch Log Output *// z. K4 F. i- R0 y; J& e
  8 #if OUTPUT_TO_UART18 ]! u8 x8 P& Q
  9     /* For UART1 Initial */
  F* k0 h5 E; y( G- X- X 10     #include <stdlib.h>
! L. Z1 k/ R# m1 d4 ~ 11     #include "hw_types.h"  
3 |6 T0 s" S- o 12     #include "hw_syscfg0_C6748.h"5 y7 j& j1 X8 R5 [/ R- l
13     #include "soc_C6748.h"
* q  a& q. X9 X1 N8 P2 b! @ 14     #include "psc.h"               
, @8 N. A, |& k 15     #include "gpio.h"               ' c. W' X( }5 l( z
16     #include "uart.h"" _% E5 p+ m* o
17     #include "uartStdio.h"
2 i8 n8 B) j: U. E 18
. H! j' j0 s) Z! i+ Y 19     #define OUTPUT UARTprintf5 u8 n2 }2 G# j& c# }# _
20 #else3 ~. V" a2 E2 U) I8 ^
21     #include <stdio.h>" |" w0 t) ?8 E# {( F% V
22     #include <stdbool.h>
/ I3 y) z6 h' L 23 ' D( q, H! _# H- b2 n# K/ _$ @
24     #define OUTPUT printf( e4 }# h$ C! G9 N  n) d8 A
25 #endif
# b$ A# {' S( a/ Q/ e 26
6 W4 e( |0 G+ p1 ]4 @5 b8 ` 27 /* Log init */
' I4 K, s2 w6 [0 J5 l 28 #if OUTPUT_TO_UART1. |% c! \  }1 n9 U1 B3 e, B. I9 L; H
29     #define LOG_INIT() do {                                     \4 R$ H+ e2 v1 L& T+ A
30         PSCModuleControl(SOC_PSC_1_REGS, HW_PSC_GPIO,           \: B* {; p. r/ t% ]
31                          PSC_POWERDOMAIN_ALWAYS_ON,             \% d3 R* A9 x2 {) ]8 D/ o
32                          PSC_MDCTL_NEXT_ENABLE);                \
8 @2 b* T4 Y$ W+ c; i' k2 A% U 33         GPIOBank6Pin12PinMuxSetup();                            \/ p5 m* A9 ^' `" a
34         GPIOBank6Pin13PinMuxSetup();                            \
- R" J: ~# _6 q/ w 35         GPIODirModeSet(SOC_GPIO_0_REGS, 109, GPIO_DIR_OUTPUT);  \$ R" d* {8 n8 G6 q* X* S
36         GPIODirModeSet(SOC_GPIO_0_REGS, 110, GPIO_DIR_OUTPUT);  \
- w4 I# h! Q* _ 37         UARTStdioInit();                                        \. ~$ }' B! J9 @0 v, j0 A8 q
38     } while (0)9 }8 _, `- ]6 z; I0 u' c
39 #else: o8 g5 U/ t' s& R( f- U
40     #define LOG_INIT() do { } while (0)
$ T* A8 p% F* S8 w2 b 41 #endif* i9 _, J& Y4 P& h) z' [) w* a
42 % v0 f% l3 ?& C+ d/ ]
43 /* Log Output */
8 v8 e' t+ j; F0 l 44 #define LOG_INFO(format, ...)      \6 @5 S7 h' y) p% Y/ i
45     do {                           \3 T' {' H  \/ h9 T
46         OUTPUT("[%s|%s@%s,%d] " format "\n", "INFO ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \7 S+ X, Z6 X, f& m
47     } while (0)/ H" n! Z" N5 w0 K! v: r
48 2 z1 [' t' a  U6 v
49 #define LOG_ERROR(format, ...)     \9 ?$ A4 K4 v# G3 s
50     do {                           \
6 N6 I2 \. L6 N8 f+ e 51         OUTPUT("[%s|%s@%s,%d] " format "\n", "ERROR", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
# M, c7 l4 U4 i' ~( E( r' U 52     } while (0)# H0 r7 P$ x  Q7 K& m) j
53 $ a! S7 r; Y+ G, `( ^
54 #define LOG_DEBUG(format, ...)     \
# X- O( t  d$ z7 F 55     do {                           \
& \5 c: Y6 Y. T& Z9 a$ p  M* r 56         OUTPUT("[%s|%s@%s,%d] " format "\n", "DEBUG", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \# w: e, V# E- [# E
57     } while (0)
4 C  ~$ |) k  M6 Y 58 ' E7 j/ u* W9 ^9 ^, s/ u
59 #define LOG_WARN(format, ...)      \
. E2 _, }! q; D$ ~6 |6 w 60     do {                           \' q& U7 \' g  }- o$ i: F
61         OUTPUT("[%s|%s@%s,%d] " format "\n", "WRAN ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
4 {4 X) j/ H' K0 @* ^4 {9 ?. A$ T 62     } while (0)
' P8 c, T, U8 b% V, A 63
2 x- N$ L5 \9 i  o1 b& h 64 #define LOG_TRACE(format, ...)     \9 P0 X% O$ q6 \# j, [# S
65     do {                           \. C; v/ h6 X, [. w
66         OUTPUT("[%s|%s@%s,%d] " format "\n", "TRACE", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
# e! y) c- Y, b! y$ P 67     } while (0)
! s2 k) ]3 D* }6 C 68 ; i; t" c3 a2 \1 x7 h0 m
69 #define LOG_FATAL(format, ...)     \2 p% l7 V6 \/ I/ I" k3 J! o' s6 x
70     do {                           \( @  T9 y+ e4 T) T1 Z
71         OUTPUT("[%s|%s@%s,%d] " format "\n", "FATAL", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \6 N7 w1 c; N1 u" c: k# O  f+ T
72         exit(1);                   \9 q1 i1 r; k& @$ @
73     } while (0)4 U5 A9 Y2 U+ h5 E4 I4 W
74 * t! o' W7 }4 {1 `. c& `% p' S
75 /* Assert */
0 B7 a( s5 j; @+ e0 a" A% y 76 #define ASSERT(EXP)                \! J  U. ?; `8 d2 D
77     do{                            \- }: I6 ?: J# [" S8 I* T: c
78         if (!(EXP)) {              \
/ W: u! o' {9 t7 T% s 79             OUTPUT("[%s@%s,%d] ASSERT: " #EXP "\n", __func__, __FILE__, __LINE__ );                  \
) Y6 K% {( V/ J4 @- _9 Z+ F 80             exit(1);               \
! d8 j; m; U- s 81         }                          \
: K) X  g7 z  a$ Q+ H. i" S 82     } while(0)
5 g; M! h2 d$ [$ E8 I8 a  ] 83 # J. T: y2 T0 ?5 o' x
84 #endif
, v8 k7 r" i: p1 Z
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
板凳
发表于 2014-12-4 14:03:10 | 只看该作者
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏  V% L) V. Z2 z; R: ]* v# [
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
地板
 楼主| 发表于 2014-12-4 15:21:54 | 只看该作者
tenny 发表于 2014-12-4 14:03
" v, x! B8 n( i" P$ ?1 @- a% }/ C" Q修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏

/ U/ g- P# R  W* E4 y你好,是arm这一端的app7 ?+ d* ]( E, K0 W+ a3 G
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
5#
 楼主| 发表于 2014-12-4 15:40:21 | 只看该作者
tenny 发表于 2014-12-4 14:03$ V1 g! W4 I# q( m: i, }% e$ |
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏

: D+ I' I9 Q0 q你好,你是不是将host/app下的log.h和dsp/driver下的log.h和到一块啦,怎么说下你的思路0 q+ X& q+ }) k- c6 {3 X$ X
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
6#
发表于 2014-12-4 15:59:03 | 只看该作者
arm 端的 log 并没有用到 uart14 a' a- V* i5 J  Q6 [
dsp 端的 log 才使用了 uart1
' @& g6 g1 v  Z1 c8 S所以,你需要也只需要修改的是 dsp 子工程的 log.h(新版本的代码 是在 dsp/app/log.h,旧的是在 dsp/driver/log.h)
% ?3 ~) R8 ^6 f1 \6 X- w* A  N
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
7#
 楼主| 发表于 2014-12-4 17:19:24 | 只看该作者
tenny 发表于 2014-12-4 15:59
4 u" t; h* h: O& f' A- Z6 harm 端的 log 并没有用到 uart1* k5 {' I: W! j  T7 Y  b
dsp 端的 log 才使用了 uart1
3 t1 W5 \( C5 `6 t/ r9 j所以,你需要也只需要修改的是 dsp 子工程的  ...

3 F7 f4 J8 x) j  j  }6 \% ]那我是不是将你贴出的那段代码,替换DSP/driver下的log.h就可以是吧,
3 f6 \" |; S6 G' w8 `8 m- c2 R+ S' a4 M然后将#define OUTPUT_TO_UART1 1 换成
3 S( S) A5 n1 w4 i& D# A#define OUTPUT_TO_UART1 0
1 r' H6 e; w: H! U. \3 s6 U1 B  是不是这样
% C5 \' T* ^8 L) _
" U( @/ O% V6 H. g; m6 G/ Z
0 E2 w, N% w9 R# z, c3 V6 U* b& E5 s/ Y! c1 i
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
8#
发表于 2014-12-5 09:25:09 | 只看该作者
# I1 J1 `! a3 _" M. J
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-12-14 17:39 , Processed in 0.044042 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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