请问怎样可以解除DSP端输出信息对占用串口1的占用 - OMAP-L138 - 嵌入式开发者社区 - 51ele.net
设为首页收藏本站
点击跳转“创龙科技服务通”

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
跳转到指定楼层
楼主
发表于 2014-12-4 11:08:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
你好我现在用的你们的omapl138开发板,跑的双核通信的程序,我现在需要通过串口一向外部发信息,但是串口一被DSP占用了,我怎样才能解除DSP占用呢
" |1 k8 v7 ?! c, E+ k. z
3 W4 y/ t' r0 d
5 {3 W. [" s" k! ?& x4 k( f谢谢; ?% q9 ]0 N5 }& J: F, Y; Q4 f

6 o; Y- ~- z7 b& l" ~. F# j- g* [: K0 }& U8 T+ N3 _% {" X" X+ c/ C" N
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
沙发
发表于 2014-12-4 14:01:26 | 只看该作者
  1 #ifndef _LOG_H_  O  c9 r7 A/ u4 X+ [* q2 Y, a
  2 #define _LOG_H_
8 _) Y1 G/ v3 u: R, }4 P  3
) C6 D0 F% ?3 P! F0 z& H  4 /* 0: printf; 1: UART1 */
% ^% J3 i( S) q! B9 e1 G6 H" {  5 #define OUTPUT_TO_UART1 1
, V/ S( p: P" Q3 Q" j% w9 l0 w' y
  6 % Q* o0 C- b# P2 ~0 s
  7 /* Switch Log Output */
. a" M9 i+ F2 y% {8 X  8 #if OUTPUT_TO_UART15 m# a4 |3 u& q7 c0 L2 w
  9     /* For UART1 Initial */0 s$ Q" M, k6 V$ y% W! f
10     #include <stdlib.h>7 h2 C) Y1 g. }6 a, H. F
11     #include "hw_types.h"  8 G! u6 ?: m3 D: k1 H% ~
12     #include "hw_syscfg0_C6748.h"" t$ Z5 y7 S, z+ ^' U8 x8 X" B
13     #include "soc_C6748.h"
1 n- G9 w4 u) l# I4 v& R 14     #include "psc.h"               
: W7 O* F! U2 ]: r* M 15     #include "gpio.h"               : s. L: w1 q5 I+ P
16     #include "uart.h"! X8 _+ s- G# c0 }% X. b: D9 Z
17     #include "uartStdio.h"
% w+ V0 f+ z; |/ g8 B6 a: C 18 & E- D8 m' @1 c/ _2 {
19     #define OUTPUT UARTprintf  m# ?: H- ^6 K. P* G
20 #else
% S/ W+ p& U0 n9 m' Q+ \5 m' q 21     #include <stdio.h>3 `1 X7 p4 S6 m% O! F* M7 b: L( c& M  l& Y
22     #include <stdbool.h>" _5 W1 H9 c: x) o) B7 o+ e% e/ Y" [
23
$ b5 o" d4 S  s& ]8 R/ R 24     #define OUTPUT printf: k2 n( H8 ?$ H6 n& j6 w
25 #endif
7 [" g- N' Z; [; G" u5 O 26
: F' x' n# U% {5 x+ ]* |, l 27 /* Log init *// i( F% N  v0 |8 V% |2 v
28 #if OUTPUT_TO_UART1- r6 D7 [7 R$ U4 @3 J/ r. `' c, o1 R
29     #define LOG_INIT() do {                                     \0 r# W/ A4 S* M# D: Z3 y/ t
30         PSCModuleControl(SOC_PSC_1_REGS, HW_PSC_GPIO,           \
* f& I- Y: ]' R+ l, M8 Y0 P 31                          PSC_POWERDOMAIN_ALWAYS_ON,             \
3 {! F) P: z7 @' [4 L5 m# F 32                          PSC_MDCTL_NEXT_ENABLE);                \
. w2 W7 E, }% I5 j 33         GPIOBank6Pin12PinMuxSetup();                            \/ V+ E& X% v, w; J/ V
34         GPIOBank6Pin13PinMuxSetup();                            \
- G. ^4 N# a/ j! U2 L$ u 35         GPIODirModeSet(SOC_GPIO_0_REGS, 109, GPIO_DIR_OUTPUT);  \6 G6 M6 o% C& D7 I/ k8 |9 W
36         GPIODirModeSet(SOC_GPIO_0_REGS, 110, GPIO_DIR_OUTPUT);  \; ~1 J) V- m& S4 t
37         UARTStdioInit();                                        \
$ J8 H0 g1 o4 }+ j 38     } while (0)6 B8 q  `: I; e9 \) b7 E
39 #else% X5 b* |. V( [1 V
40     #define LOG_INIT() do { } while (0)3 u. n7 Q9 o2 W) x
41 #endif
) C. {# n) {, \4 N 42 2 ^2 O3 v3 p; F
43 /* Log Output */
9 R5 p2 h6 y! Q% A# L9 J 44 #define LOG_INFO(format, ...)      \/ |, h% T! \& @* w& d6 t  h  B
45     do {                           \# d3 I7 k, I3 w/ A! y9 V4 o9 F
46         OUTPUT("[%s|%s@%s,%d] " format "\n", "INFO ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \9 M& G0 Q# C. X! b% a, ]0 G
47     } while (0)2 B, W& l# R/ l. q/ i5 |
48
5 o+ F8 Y0 q# @9 _- B* u 49 #define LOG_ERROR(format, ...)     \, e! L9 n2 I' s- q
50     do {                           \0 H! E0 M6 `8 y' M7 X
51         OUTPUT("[%s|%s@%s,%d] " format "\n", "ERROR", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \. t6 k% g6 ^; e) n# X! Y. H1 q
52     } while (0)
3 b2 m+ z7 ~% x2 Y: M/ B( U 53 / l8 R0 D: \* P$ v: Y
54 #define LOG_DEBUG(format, ...)     \1 v! o3 u) A. k5 K
55     do {                           \
) Z+ v) U4 m+ G1 M7 A 56         OUTPUT("[%s|%s@%s,%d] " format "\n", "DEBUG", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
) w5 E6 |( g0 N& G# K* n6 j 57     } while (0)% q8 y) a: u+ r: P# |# ^
58 # p' m! r1 t9 Q" g* p- y
59 #define LOG_WARN(format, ...)      \: _; i) w4 R: J
60     do {                           \1 o* c% z# f  i' L5 D$ {
61         OUTPUT("[%s|%s@%s,%d] " format "\n", "WRAN ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
8 g& m) o. X' E2 o% u( G 62     } while (0)% f* A. R! u' b6 n& F" r
63 8 y  H, h" |) t( L+ _% n
64 #define LOG_TRACE(format, ...)     \
' D2 K5 p% u; ]( z2 g5 I+ s+ v& f9 f 65     do {                           \8 r) m' Y- |8 w# \8 l6 \, A2 m7 l5 ]
66         OUTPUT("[%s|%s@%s,%d] " format "\n", "TRACE", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \7 l9 m! `: z. {# s( j! u+ Q
67     } while (0)
! M( ?! m5 |: ]' `( q- M! j4 D( U 68
* k6 }4 n: {; u9 m0 e0 r% P 69 #define LOG_FATAL(format, ...)     \3 g' ]# j7 o" o; V; ~; Y. S  q: \
70     do {                           \* H, t4 @' J& F* }; r) y
71         OUTPUT("[%s|%s@%s,%d] " format "\n", "FATAL", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
' P# A5 ~' t9 f8 d 72         exit(1);                   \
, H5 s1 T( ]7 U4 D3 y* A5 i9 p+ q 73     } while (0)
. a! R% l. ^. v  h 74
* z/ t$ W) U2 J. S 75 /* Assert */) c- ?  k& ]3 n; Q+ K, k5 |3 n
76 #define ASSERT(EXP)                \" Y  k9 k7 B% }9 b% [% d
77     do{                            \. n& [* j; b- _5 R& V9 ^
78         if (!(EXP)) {              \
0 g, A% g% E% k: O 79             OUTPUT("[%s@%s,%d] ASSERT: " #EXP "\n", __func__, __FILE__, __LINE__ );                  \
6 K6 K, L; N9 g+ @/ U 80             exit(1);               \+ L8 K  c, d, [8 b" V
81         }                          \
5 e& \6 N0 i! ] 82     } while(0)2 k; \: p( i6 S3 Q$ @8 G
83 & a# P& G, \) i: i+ t
84 #endif/ t4 j" {, n2 ?
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
板凳
发表于 2014-12-4 14:03:10 | 只看该作者
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏( \! k  b% R1 ^; N3 I
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
地板
 楼主| 发表于 2014-12-4 15:21:54 | 只看该作者
tenny 发表于 2014-12-4 14:03
# j0 }, `: I9 q$ z9 p$ M修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏
, v& a% O; `1 \9 A3 Z
你好,是arm这一端的app: `% F3 [. U) v2 z. C7 P
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
5#
 楼主| 发表于 2014-12-4 15:40:21 | 只看该作者
tenny 发表于 2014-12-4 14:03
* ?, L  M8 ?: b4 |修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏
& P; k+ _/ m" q* j6 D( a4 g
你好,你是不是将host/app下的log.h和dsp/driver下的log.h和到一块啦,怎么说下你的思路
$ G" @; G" Q3 t2 i0 m* c
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
6#
发表于 2014-12-4 15:59:03 | 只看该作者
arm 端的 log 并没有用到 uart12 r: d# i) h2 d& n, q/ Y9 f
dsp 端的 log 才使用了 uart1( \; n. y: q; J8 F2 S
所以,你需要也只需要修改的是 dsp 子工程的 log.h(新版本的代码 是在 dsp/app/log.h,旧的是在 dsp/driver/log.h)
$ z6 D" n5 X7 \
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
7#
 楼主| 发表于 2014-12-4 17:19:24 | 只看该作者
tenny 发表于 2014-12-4 15:59( `; \! w/ B7 ]/ u# A
arm 端的 log 并没有用到 uart1
7 |3 g* e4 B( v3 P$ i2 C; b' l0 Rdsp 端的 log 才使用了 uart1! X8 z5 T$ m- |1 O4 @
所以,你需要也只需要修改的是 dsp 子工程的  ...
6 [- h5 i  K& |  U/ ]3 g
那我是不是将你贴出的那段代码,替换DSP/driver下的log.h就可以是吧,+ Y' n& j4 l5 z
然后将#define OUTPUT_TO_UART1 1 换成! J# F' D, w, Y3 P1 U
#define OUTPUT_TO_UART1 04 N; G8 R4 M* i& b) N
  是不是这样: p1 N2 W. b) Y! H$ `5 ^

1 m( k3 ]/ O) f1 Z3 f4 q  l5 i1 o6 a! r4 C$ N

' Y+ i% R5 z. L
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
8#
发表于 2014-12-5 09:25:09 | 只看该作者
8 T; b: Z% j" z, S0 T3 F; G
回复

使用道具 举报

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

本版积分规则

点击跳转“创龙科技服务通”

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

GMT+8, 2026-1-22 02:03 , Processed in 0.078478 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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