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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
跳转到指定楼层
楼主
发表于 2014-12-4 11:08:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
你好我现在用的你们的omapl138开发板,跑的双核通信的程序,我现在需要通过串口一向外部发信息,但是串口一被DSP占用了,我怎样才能解除DSP占用呢
, ~% D& S/ |  @  l
/ {0 n+ j" H4 W/ ?9 T
0 {0 @- W# G4 h* c; ~谢谢
+ _1 H- I! E5 Y% r; y
) G% ]) s- V5 `
: r# U9 e+ g) V* P; x: F$ t. _
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
沙发
发表于 2014-12-4 14:01:26 | 只看该作者
  1 #ifndef _LOG_H_* A  F" L$ _9 r/ e& Z
  2 #define _LOG_H_. q9 K' J* G% c3 k8 n
  3
  S5 D/ x0 ^1 i3 X0 z' P  4 /* 0: printf; 1: UART1 */
; X8 j' H- }  G5 m' y4 X4 Q3 L/ h  5 #define OUTPUT_TO_UART1 1
: O- w0 C2 T* j4 |
  6 ' _+ k- ^4 I7 r; _' c' c7 Y
  7 /* Switch Log Output */
1 i& L* ^% h- u2 {1 \  8 #if OUTPUT_TO_UART17 n2 ]" V# H1 ?. s
  9     /* For UART1 Initial */
2 A. l  i3 B6 w& {! b 10     #include <stdlib.h>; ]  x$ u0 R8 U! Y
11     #include "hw_types.h"  0 b9 e) g/ F+ i0 @9 v
12     #include "hw_syscfg0_C6748.h"7 [/ d' L! X, [9 v
13     #include "soc_C6748.h"
' ~! A* L" ~+ v  l" W8 i4 r3 T5 ~ 14     #include "psc.h"               
1 d7 L# f# _, K8 x& w7 X 15     #include "gpio.h"               
4 v# r/ X( i: \$ S 16     #include "uart.h"
+ s! r( }, r3 A# d& m  k' z1 M 17     #include "uartStdio.h"
5 Q% O/ W' E! {/ F 18 $ p: C2 h; }* B( y
19     #define OUTPUT UARTprintf; U4 h% ]! f5 @8 @  m
20 #else- d: y& o$ G& [  R& p2 p/ }
21     #include <stdio.h>
! J3 a/ ]& {+ u+ M, x' y 22     #include <stdbool.h>
0 p% W; v/ Z# P8 `3 q/ g 23
0 Z; i  q& S, e$ [ 24     #define OUTPUT printf* V  Z( m+ T( g. n! W% \
25 #endif
" i& S5 G" U, R5 H" p# K/ L2 z 26   l* C5 Q. `$ J0 X! n$ A
27 /* Log init */
+ v# q6 {' r6 K) `# z 28 #if OUTPUT_TO_UART12 W' e1 x3 j9 d) @5 T# y
29     #define LOG_INIT() do {                                     \7 f* E( K5 V4 s" Y( v
30         PSCModuleControl(SOC_PSC_1_REGS, HW_PSC_GPIO,           \
: i- [! w/ x/ b+ M 31                          PSC_POWERDOMAIN_ALWAYS_ON,             \
" z& q4 c. V! ~ 32                          PSC_MDCTL_NEXT_ENABLE);                \4 h1 R  ^% ?1 D5 F
33         GPIOBank6Pin12PinMuxSetup();                            \
5 K" Q2 j0 I$ k1 s 34         GPIOBank6Pin13PinMuxSetup();                            \
0 F, W$ Q7 l! G% N2 [/ W6 L 35         GPIODirModeSet(SOC_GPIO_0_REGS, 109, GPIO_DIR_OUTPUT);  \
. p4 P( }- G5 q7 f2 H" a5 v, q 36         GPIODirModeSet(SOC_GPIO_0_REGS, 110, GPIO_DIR_OUTPUT);  \8 h9 I* _7 c  i2 k( W
37         UARTStdioInit();                                        \9 ~% _, ~4 v3 q. g4 H9 ?! D
38     } while (0)
) K6 j7 b+ ^( }3 G* r 39 #else& E( D7 m6 _7 ~9 X
40     #define LOG_INIT() do { } while (0)9 a4 c" e, p; ]' l
41 #endif
' L' g, D. }/ P9 ]1 ~ 42
: o2 u  W& @" D* S+ s4 U; ` 43 /* Log Output */
4 e: \3 M4 Y( G( I  a2 G+ B* v& w 44 #define LOG_INFO(format, ...)      \' C; Q; N6 _7 R7 W. s$ _
45     do {                           \9 g# K. A, b2 a
46         OUTPUT("[%s|%s@%s,%d] " format "\n", "INFO ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \8 c$ ?/ [: H) {
47     } while (0)
; N0 f8 l; w  A4 K3 D  q+ Q- h 48 8 r; a# N6 M9 _0 }9 T* _% \  T' \
49 #define LOG_ERROR(format, ...)     \
# g& F) }$ @+ y: A5 O4 K 50     do {                           \
6 ]9 O; k( `7 k: H 51         OUTPUT("[%s|%s@%s,%d] " format "\n", "ERROR", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
5 W+ \% M: j3 Z$ ~5 h" |* A5 w 52     } while (0)
( v+ j+ {' B' H3 @ 53
  P* L7 l9 |* [7 W3 Y; t' F 54 #define LOG_DEBUG(format, ...)     \; P. |, G5 X# [5 u$ y7 m; z
55     do {                           \
$ ~: }' E/ k5 t8 P; g* w- G 56         OUTPUT("[%s|%s@%s,%d] " format "\n", "DEBUG", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
# H( d! e: y1 M" t- J4 \) ~1 D 57     } while (0)
) H6 q# X. L' N8 b/ I5 n) V9 V& M3 e1 n 58
9 t& N1 J( d/ j% E) r9 ?3 x 59 #define LOG_WARN(format, ...)      \0 D2 @7 y9 R/ e7 u
60     do {                           \  [3 \; D" y3 k5 p+ P. w; }
61         OUTPUT("[%s|%s@%s,%d] " format "\n", "WRAN ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \: Q/ K6 r) H0 _3 X# c  c
62     } while (0)$ w! j4 R! E2 r; }3 R
63 5 I4 J& g* s8 a; }9 D% _  Q
64 #define LOG_TRACE(format, ...)     \+ _# a) n" _# C1 O
65     do {                           \
. c4 W7 {4 G( Z1 N1 { 66         OUTPUT("[%s|%s@%s,%d] " format "\n", "TRACE", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
6 l4 _6 Z7 G5 t* W0 c 67     } while (0)! N" T, C# D+ J' V
68
9 x0 @$ _( D( l: d( q! u 69 #define LOG_FATAL(format, ...)     \
9 h+ h! r/ i& O+ q( P, A5 c/ p2 C 70     do {                           \
1 s3 Z1 U; \# p7 _; c 71         OUTPUT("[%s|%s@%s,%d] " format "\n", "FATAL", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \$ z3 H- r1 I8 s% h
72         exit(1);                   \, H) Y4 F/ X& N1 L
73     } while (0)* p: d8 b& ^/ z* k8 H! |
74 6 q6 h- U, G2 i7 }" X& l
75 /* Assert */* h$ H: v  k! M  p% n+ q
76 #define ASSERT(EXP)                \
" G4 v$ T1 F2 O1 u; |" N( T 77     do{                            \
4 C0 h) m) w- ]9 o# F  S8 t: h; j 78         if (!(EXP)) {              \
( B) q1 |9 m( G; @% X5 l/ | 79             OUTPUT("[%s@%s,%d] ASSERT: " #EXP "\n", __func__, __FILE__, __LINE__ );                  \
3 h& y1 q6 b8 G& h. {* Y 80             exit(1);               \
" T4 s. I: C! r2 e 81         }                          \* M* ~8 N9 x) C, T9 e# z9 k
82     } while(0)7 }5 ~$ W  S% I
83
% S  _$ G) m  v; }! o1 n8 ` 84 #endif' R6 g% o$ \5 \2 |/ r
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
板凳
发表于 2014-12-4 14:03:10 | 只看该作者
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏
! f8 [- Q  d3 d9 A
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
地板
 楼主| 发表于 2014-12-4 15:21:54 | 只看该作者
tenny 发表于 2014-12-4 14:034 \9 `  I* ^6 `/ e0 y
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏

: m6 c$ X3 n/ t; t" i5 |8 A你好,是arm这一端的app2 Q& {" X0 ~) Z1 d0 v3 Q9 ~
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
5#
 楼主| 发表于 2014-12-4 15:40:21 | 只看该作者
tenny 发表于 2014-12-4 14:03/ z# V; E$ Z' M/ w% i& L
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏
" c" N0 _" O' D* ^% Z4 v& a
你好,你是不是将host/app下的log.h和dsp/driver下的log.h和到一块啦,怎么说下你的思路
! m5 ^7 o' @7 x2 q: J5 z. |4 N
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
6#
发表于 2014-12-4 15:59:03 | 只看该作者
arm 端的 log 并没有用到 uart12 E0 m: M, W7 s9 j( g3 r; {
dsp 端的 log 才使用了 uart1
4 A; w& @9 s# j8 X; x8 h所以,你需要也只需要修改的是 dsp 子工程的 log.h(新版本的代码 是在 dsp/app/log.h,旧的是在 dsp/driver/log.h)7 `9 u  L7 ^% z/ c
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
7#
 楼主| 发表于 2014-12-4 17:19:24 | 只看该作者
tenny 发表于 2014-12-4 15:59. Z  v/ w9 o5 F
arm 端的 log 并没有用到 uart1' |, M1 k. q* D% G8 X
dsp 端的 log 才使用了 uart18 d0 s# v4 j  y
所以,你需要也只需要修改的是 dsp 子工程的  ...

. z& P3 @& W6 A  k% Y9 v7 Y2 z那我是不是将你贴出的那段代码,替换DSP/driver下的log.h就可以是吧,9 r; u' j1 q4 r$ g
然后将#define OUTPUT_TO_UART1 1 换成3 G8 Q8 n! B# O( l, w# i
#define OUTPUT_TO_UART1 0- H8 @$ O5 z% w2 T( J5 ]
  是不是这样
/ L, z. G' T; |. f0 @' p0 @% r+ X, s; w. ^  B

: @, B" T/ D  L9 L1 \7 P& \, Y
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

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

' R: X( w* b/ q5 _9 F
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-10-19 19:59 , Processed in 0.042772 second(s), 23 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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