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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
跳转到指定楼层
楼主
发表于 2014-12-4 11:08:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
你好我现在用的你们的omapl138开发板,跑的双核通信的程序,我现在需要通过串口一向外部发信息,但是串口一被DSP占用了,我怎样才能解除DSP占用呢. K7 ?. \/ H" v- m8 g. _  o8 G

/ Q9 N% x0 X( Q1 t2 J; f8 t3 ]. O
+ B$ }1 C! n6 J谢谢7 ~" f' V  Q& d' Q, U+ w/ \. C

+ s7 R" B3 ^1 S/ L$ U( a# h- `2 O4 R9 s4 Z  T# h
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
沙发
发表于 2014-12-4 14:01:26 | 只看该作者
  1 #ifndef _LOG_H_
* W1 P+ k% {9 y5 z# i) b  2 #define _LOG_H_
+ `$ }. r7 B+ Q9 ?) r- M) N, f  3 % K2 Q$ \3 i7 |: U
  4 /* 0: printf; 1: UART1 */. k% A: h! w0 x; P" m  U
  5 #define OUTPUT_TO_UART1 1
& P2 W) R9 j7 U2 l: f" n% O
  6 ( K' x7 x. n- Q0 U
  7 /* Switch Log Output */" z6 p. g2 f# u6 `3 @
  8 #if OUTPUT_TO_UART10 u" B# D( S# Y! a* p4 P
  9     /* For UART1 Initial */
4 h" \, j0 Y. L2 I 10     #include <stdlib.h>
. f( d8 H  K1 o9 o9 y 11     #include "hw_types.h"  : M& m! n  l1 ?- F$ |" A
12     #include "hw_syscfg0_C6748.h"
6 D* p" O! R' I7 O' F" r* g 13     #include "soc_C6748.h"3 u* [1 C4 |- r# g
14     #include "psc.h"               1 Q1 y! W, h; ^+ ^: g3 z3 q( s
15     #include "gpio.h"               
0 e8 I5 m% T. p) o1 [. w1 B6 ~ 16     #include "uart.h"9 j8 i- j6 [+ T; h1 f
17     #include "uartStdio.h"2 x* o) n/ P' d+ E
18 & ]7 z: r3 r1 J% |* x, {
19     #define OUTPUT UARTprintf
. @( x  t' m* [" N+ b) u3 p 20 #else
. E4 Y; |5 t/ C. j1 J1 R2 H 21     #include <stdio.h>
1 M; i! U% G! k 22     #include <stdbool.h>/ G) R  E3 O4 K, B
23
  j0 |4 K8 v  h9 N7 N) T1 O5 d& Q 24     #define OUTPUT printf8 z  Y4 m! P. J& s
25 #endif3 O. S' F- J8 {3 G' M
26
" U' w' a+ _$ G9 G 27 /* Log init */
2 u, f( ?0 a/ t6 |5 ~" }( K& W 28 #if OUTPUT_TO_UART1# L7 }. `5 G. p1 x% U# n% i9 L
29     #define LOG_INIT() do {                                     \
. b6 G, s& G& M6 t 30         PSCModuleControl(SOC_PSC_1_REGS, HW_PSC_GPIO,           \
5 l0 A6 ]- X. l; t4 c 31                          PSC_POWERDOMAIN_ALWAYS_ON,             \3 t5 Q8 D9 M' U: D4 z7 p0 r' C
32                          PSC_MDCTL_NEXT_ENABLE);                \
" g9 Q2 X) x) I6 \7 @7 F5 h 33         GPIOBank6Pin12PinMuxSetup();                            \
4 g6 [( P# _) x2 q( V 34         GPIOBank6Pin13PinMuxSetup();                            \
+ [# k* Q4 H( [' M 35         GPIODirModeSet(SOC_GPIO_0_REGS, 109, GPIO_DIR_OUTPUT);  \
* E. x0 f" I. b: A% |" D( A 36         GPIODirModeSet(SOC_GPIO_0_REGS, 110, GPIO_DIR_OUTPUT);  \( c3 h8 v4 Y# C
37         UARTStdioInit();                                        \
* |$ `+ P) F7 d9 T4 \* ^* W1 j 38     } while (0)
; \1 R, e- E) b9 ` 39 #else7 w9 O  |3 D( R2 h; f) a6 H
40     #define LOG_INIT() do { } while (0)
4 G% {( J/ \5 V( y# r; y 41 #endif
' |7 L, X2 _1 T7 C 42
, O* c! x) Y  j0 y 43 /* Log Output */. }9 ~& B! ]/ L' @* R
44 #define LOG_INFO(format, ...)      \
3 g" F5 T( r& @$ g3 J# ? 45     do {                           \/ w8 N6 L7 T: w% N  S
46         OUTPUT("[%s|%s@%s,%d] " format "\n", "INFO ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \% D! e/ X  l: ~
47     } while (0)0 u& _& w, q& X4 y" J+ C
48
- j$ C5 ]5 r" [+ _+ L9 O8 ]& @ 49 #define LOG_ERROR(format, ...)     \( I9 N" o$ d. [$ K/ ?& K
50     do {                           \/ h& G0 B; z  H5 k
51         OUTPUT("[%s|%s@%s,%d] " format "\n", "ERROR", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \. S/ u. S- S' E  Y! u2 h
52     } while (0)" r; F# j' `& b2 }7 \2 n% V
53
$ V9 j# p+ Y; c3 o4 M( U 54 #define LOG_DEBUG(format, ...)     \
( a- R  v8 y9 b* D# y! G! r 55     do {                           \. U+ U9 n, Z# l4 F/ b' t# K
56         OUTPUT("[%s|%s@%s,%d] " format "\n", "DEBUG", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \, L; m( B& X# q
57     } while (0)) B% ]! ~' r% g5 e( o2 L4 V
58
! ^3 A% E1 x3 s1 h4 D 59 #define LOG_WARN(format, ...)      \- c! k+ H, v; P3 V0 T' M
60     do {                           \
0 J: U0 b* }* J% k, i7 v 61         OUTPUT("[%s|%s@%s,%d] " format "\n", "WRAN ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \$ k$ _& T9 u8 j: g4 V" T
62     } while (0)
  {; o3 ^- [4 k4 |5 Z, @ 63
1 w! E8 ]' U# G- G" n$ ?* ~ 64 #define LOG_TRACE(format, ...)     \# n& r# T: v+ ~# n% `
65     do {                           \& P/ n. X: B# ]* |9 ^$ S
66         OUTPUT("[%s|%s@%s,%d] " format "\n", "TRACE", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
' {7 t9 k- y0 n6 ]% q% N 67     } while (0)
) T6 f- w4 x/ A) Q+ |0 k: [ 68
/ U/ j# p4 T. e) w 69 #define LOG_FATAL(format, ...)     \
% M$ @. ]# N+ a8 k6 ? 70     do {                           \" ~0 {; F/ I4 j
71         OUTPUT("[%s|%s@%s,%d] " format "\n", "FATAL", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \1 X1 y1 X0 p, x: _" G: }2 _
72         exit(1);                   \$ P) j8 f1 T/ `: B7 _! w0 l2 l* I
73     } while (0): @. `5 O3 z& Q. v: v) I
74 & F5 _; Z4 }! `+ Y- ?* h
75 /* Assert */* V& s' f0 L# o
76 #define ASSERT(EXP)                \
2 c. U( i1 p3 A4 H1 d 77     do{                            \6 |3 y9 }  E; @0 n5 t9 C
78         if (!(EXP)) {              \" ]9 f5 J, j2 V6 m
79             OUTPUT("[%s@%s,%d] ASSERT: " #EXP "\n", __func__, __FILE__, __LINE__ );                  \
% i+ ~5 @6 n* W* t% f  t% c 80             exit(1);               \
1 H  u, z& \9 P- l- g- P2 Z 81         }                          \
! a0 Q+ X  I# {" m% q( @3 P2 \ 82     } while(0)# Q% p3 t+ h6 A! g7 t9 p8 X- P
83 + m! p7 u2 t. K/ {
84 #endif7 f: E7 T8 D, {! G0 h' q
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
板凳
发表于 2014-12-4 14:03:10 | 只看该作者
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏; u' D' A) o5 \! K' G% Y* b0 R5 g6 w
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
地板
 楼主| 发表于 2014-12-4 15:21:54 | 只看该作者
tenny 发表于 2014-12-4 14:032 d: V4 H. @! A$ t, B* @# e0 K
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏
' s& y7 K+ Q. @
你好,是arm这一端的app3 e5 ~4 m2 a$ W% o+ c4 [
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
5#
 楼主| 发表于 2014-12-4 15:40:21 | 只看该作者
tenny 发表于 2014-12-4 14:03  B2 O5 c) ~/ Q( u% X
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏

7 C: A/ ?% V4 G0 }" l9 S你好,你是不是将host/app下的log.h和dsp/driver下的log.h和到一块啦,怎么说下你的思路
3 X" b' N! q; m- v
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
6#
发表于 2014-12-4 15:59:03 | 只看该作者
arm 端的 log 并没有用到 uart1$ I$ _. V, @7 `: s! n' U
dsp 端的 log 才使用了 uart19 M( H' l6 S. a# l3 N$ d  h# z
所以,你需要也只需要修改的是 dsp 子工程的 log.h(新版本的代码 是在 dsp/app/log.h,旧的是在 dsp/driver/log.h)5 |& G2 V9 m5 X- h- t( p) a
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
7#
 楼主| 发表于 2014-12-4 17:19:24 | 只看该作者
tenny 发表于 2014-12-4 15:596 c/ U& D' t; i8 r7 s
arm 端的 log 并没有用到 uart1
' G% R2 i+ U8 H5 odsp 端的 log 才使用了 uart1
  f/ B2 w% S  k/ K" T- X/ Z/ e0 ]所以,你需要也只需要修改的是 dsp 子工程的  ...

/ _# k1 c5 B7 D  X) X那我是不是将你贴出的那段代码,替换DSP/driver下的log.h就可以是吧,
9 D" l0 Z8 g  u7 G然后将#define OUTPUT_TO_UART1 1 换成- ^' g* V7 x0 \$ @
#define OUTPUT_TO_UART1 02 r! w) A1 X  ^. D
  是不是这样, a1 a$ W4 {1 s- A* q

& \* c0 u( Q" V2 _1 T0 Q# j, r- V
6 n$ K0 K7 M1 _- Q; T. S& @) u/ B; ]/ o+ g7 X) N
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

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

! y" A% w- J4 @' j
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-20 15:31 , Processed in 0.041977 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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