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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
跳转到指定楼层
楼主
发表于 2014-12-4 11:08:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
你好我现在用的你们的omapl138开发板,跑的双核通信的程序,我现在需要通过串口一向外部发信息,但是串口一被DSP占用了,我怎样才能解除DSP占用呢9 W5 A! O3 p- o! ]( L  p( S. I; h

, p( O- a+ W+ f- O# w) p: q7 O" m0 ]
: ~& w2 }: ~6 r0 V0 W! x' l谢谢
# |- W+ K2 _: G% V, @1 d$ C" w
! |2 W2 I9 m) t. L1 q# j+ u
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
沙发
发表于 2014-12-4 14:01:26 | 只看该作者
  1 #ifndef _LOG_H_8 u6 e$ @6 O* F. r8 a( L" M
  2 #define _LOG_H_* d7 l; j+ x3 j) B* a
  3 / l( C4 |- [& V8 _+ `% @
  4 /* 0: printf; 1: UART1 */
/ V& E. @2 U8 J9 l) j- n" U2 W# C8 h  5 #define OUTPUT_TO_UART1 1
" F2 z1 r# N. \, t  I5 O5 {
  6 - N) y. V- i. A' z4 Y
  7 /* Switch Log Output */
$ s+ ?" i- k9 F/ m9 ]3 h; c" V  8 #if OUTPUT_TO_UART1
% p/ t( u2 g; V9 Y# l" d: z8 E0 R) z  9     /* For UART1 Initial */
. k1 y* B2 ^% h0 i) ]- d 10     #include <stdlib.h>
/ ~; r0 J& T1 W1 n3 W; Y" V( W 11     #include "hw_types.h"  9 B: Q. T" S- j0 D8 n; D
12     #include "hw_syscfg0_C6748.h"
0 _& h% c/ ~+ h5 Y% `4 R 13     #include "soc_C6748.h"
: _* Z0 ^5 F) O 14     #include "psc.h"               
# M  E. f2 H4 g! ] 15     #include "gpio.h"               ' G  Q3 u7 l; h9 n1 l
16     #include "uart.h"
9 D* b  ~; j0 I 17     #include "uartStdio.h"
# H( ^: x7 W: D- T+ M; k: |, @ 18 / W* R" z/ S- E: U6 S: b" @8 k! Y
19     #define OUTPUT UARTprintf: r0 i( H: I) ]1 S& Z9 n
20 #else
9 V( P/ o1 I9 @ 21     #include <stdio.h>
$ V0 v7 W: x8 A* F0 W 22     #include <stdbool.h>! d0 T* O; }% q5 Z; y5 [* w
23 . f* I; w, e9 F$ ?2 [0 N
24     #define OUTPUT printf, V9 v$ n3 I: f
25 #endif
% S' C: w$ t% B1 C/ o9 ` 26
, V; ?1 Y( Z( ], H) \ 27 /* Log init */
9 V! I1 B  R0 ?) a 28 #if OUTPUT_TO_UART1: u) o6 `6 r: J5 ~
29     #define LOG_INIT() do {                                     \8 P8 W) o( J6 [5 k3 `  T. ~
30         PSCModuleControl(SOC_PSC_1_REGS, HW_PSC_GPIO,           \. L6 L6 W5 O) M, O7 ^
31                          PSC_POWERDOMAIN_ALWAYS_ON,             \
- d$ v/ I( c& S2 u. J1 z& ~7 }5 M% N 32                          PSC_MDCTL_NEXT_ENABLE);                \
: q# n  Z9 m4 P 33         GPIOBank6Pin12PinMuxSetup();                            \
8 K6 D  x; u/ F; N3 S 34         GPIOBank6Pin13PinMuxSetup();                            \
8 f% g3 e, k9 a) l' p 35         GPIODirModeSet(SOC_GPIO_0_REGS, 109, GPIO_DIR_OUTPUT);  \
- X5 P1 U' [' e 36         GPIODirModeSet(SOC_GPIO_0_REGS, 110, GPIO_DIR_OUTPUT);  \
- u% {& ?3 X* b 37         UARTStdioInit();                                        \
, u) G: U9 t# g# l. `& C$ L- ~+ i 38     } while (0). Z$ f- Z2 u3 m0 ^5 D* U
39 #else
7 H  [2 ~) q% d, {7 q. w 40     #define LOG_INIT() do { } while (0)' n, M7 s, k. G( \7 r
41 #endif9 |2 t# d4 i9 Q+ r3 E
42 / ^% H# F, a& ]0 a: m
43 /* Log Output */# b  B- [3 i2 `; ]" `
44 #define LOG_INFO(format, ...)      \) {+ f$ M' x5 R) i* J- @
45     do {                           \& F: v" ]' L1 {3 H) K
46         OUTPUT("[%s|%s@%s,%d] " format "\n", "INFO ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
- `7 U( N9 j) T& \( h: N/ R2 g& e 47     } while (0)
3 J5 L/ B$ @4 F3 s. d4 F" E2 t# C 48
/ ^7 Y8 b5 s$ G' V$ {2 N# m 49 #define LOG_ERROR(format, ...)     \
* K- b' U: S) h- {$ d. t9 D8 A 50     do {                           \) q  E& j* d$ d" M3 p* w
51         OUTPUT("[%s|%s@%s,%d] " format "\n", "ERROR", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
1 u! Y2 ~$ }$ o+ d2 I( G0 A* d 52     } while (0)! g( P6 V- v7 X; |- k! w# p9 S- X* L
53 7 p" K/ h; U5 }+ d1 p6 G
54 #define LOG_DEBUG(format, ...)     \; a. O3 x; E  X9 n. e+ r* x0 J
55     do {                           \; L$ O$ I% J+ u7 u2 I' n
56         OUTPUT("[%s|%s@%s,%d] " format "\n", "DEBUG", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \" U8 U9 v* @" s- s, i
57     } while (0)
" b: j: m$ a: L+ a/ [; m6 i# c$ q; G 58 : |9 P( M+ v4 }6 V7 u# G
59 #define LOG_WARN(format, ...)      \
/ Z# M8 W; {( v: f" I 60     do {                           \
- }$ ?1 Y# B' N" M 61         OUTPUT("[%s|%s@%s,%d] " format "\n", "WRAN ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
! }( ]# ?7 b+ W  k2 I2 ~ 62     } while (0)% _( G: ^4 g! s, [
63 , L; ^( z0 o. O$ }  x! j# ?
64 #define LOG_TRACE(format, ...)     \5 J' j4 |, Y. q
65     do {                           \
6 S3 W! I/ l( Y5 ~: t" T% J 66         OUTPUT("[%s|%s@%s,%d] " format "\n", "TRACE", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \* H2 ^) X$ |4 x% i/ D
67     } while (0)! S+ \6 ~' V' z# Q
68
! i. k. @4 z6 `9 R! S: B1 O) n 69 #define LOG_FATAL(format, ...)     \
8 {+ j2 a( r( Z, X8 w 70     do {                           \' h1 }+ ~& w) S! _$ q+ @* d
71         OUTPUT("[%s|%s@%s,%d] " format "\n", "FATAL", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \. h0 M( ]; }& L  {$ O# g; m
72         exit(1);                   \/ H/ A: W& Q4 M) n0 ]& `5 O
73     } while (0)
- R. x# q0 j- V1 v; |) ] 74 5 Q3 w' ~* L+ x( ~: T
75 /* Assert */; m4 H" E% F1 \
76 #define ASSERT(EXP)                \
. j$ y' U: h( ~( o" q& C0 P: ^ 77     do{                            \
; b3 g$ q0 S/ V 78         if (!(EXP)) {              \9 ]+ _3 @! F" P/ |( l
79             OUTPUT("[%s@%s,%d] ASSERT: " #EXP "\n", __func__, __FILE__, __LINE__ );                  \
$ l% G( K* i" E1 P" l% E" M, U 80             exit(1);               \) u( w3 m1 W  n* V/ }# s$ R
81         }                          \) U3 B. m$ a. B5 k7 \" R* G
82     } while(0)
- o) Z- ^6 w2 U2 i 83 ' @; {) S# f. _7 S6 L
84 #endif# w! n' w9 b5 W' F5 R
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
板凳
发表于 2014-12-4 14:03:10 | 只看该作者
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏0 B2 ^/ I% \9 Q( g# V/ i
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
地板
 楼主| 发表于 2014-12-4 15:21:54 | 只看该作者
tenny 发表于 2014-12-4 14:03' b- D" A3 b6 a. z8 Y2 I9 s" G
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏

$ h$ H5 C# Z* q9 H: v) M; U你好,是arm这一端的app0 i- u8 V: C& @$ S7 b
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
5#
 楼主| 发表于 2014-12-4 15:40:21 | 只看该作者
tenny 发表于 2014-12-4 14:03
8 @6 h3 l, B( l( Q, M/ N7 b1 X修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏

, z% p% \$ F2 G3 q) X你好,你是不是将host/app下的log.h和dsp/driver下的log.h和到一块啦,怎么说下你的思路
" C: S, b: X% S5 t; |- S
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
6#
发表于 2014-12-4 15:59:03 | 只看该作者
arm 端的 log 并没有用到 uart1* t1 F) D$ j2 T. r; Q# i6 V
dsp 端的 log 才使用了 uart1
, C: y9 j/ k2 A0 D, J- u所以,你需要也只需要修改的是 dsp 子工程的 log.h(新版本的代码 是在 dsp/app/log.h,旧的是在 dsp/driver/log.h)
# E+ x2 b/ Z! U
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
7#
 楼主| 发表于 2014-12-4 17:19:24 | 只看该作者
tenny 发表于 2014-12-4 15:59
" g$ t% T& ]/ garm 端的 log 并没有用到 uart1  e. B1 o# m7 |8 R/ Z3 N
dsp 端的 log 才使用了 uart1: d% D6 d; j$ E( T2 R; r
所以,你需要也只需要修改的是 dsp 子工程的  ...

8 L0 P' t# O5 f, ^' l3 O那我是不是将你贴出的那段代码,替换DSP/driver下的log.h就可以是吧,
3 N2 X( Y6 s. @! g) J然后将#define OUTPUT_TO_UART1 1 换成
( {- U  |* i$ S; Y#define OUTPUT_TO_UART1 0, Q5 @/ V9 m- M* v( r& s5 |: l
  是不是这样- w6 V* l4 n' P8 U/ \: L! X& w+ G2 c

, R# f) j+ t* c' Z8 }( n4 z$ h4 F0 _8 ]

* \6 v' Q  I( ?4 U
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
8#
发表于 2014-12-5 09:25:09 | 只看该作者
- W/ ^6 w% n% S$ ^& U1 e
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-11-18 16:02 , Processed in 0.043295 second(s), 23 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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