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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
跳转到指定楼层
楼主
发表于 2014-12-4 11:08:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
你好我现在用的你们的omapl138开发板,跑的双核通信的程序,我现在需要通过串口一向外部发信息,但是串口一被DSP占用了,我怎样才能解除DSP占用呢
* T* U  a# H% ^5 `4 a8 s: k5 \* C% l: Y

4 f/ Z4 n0 V6 o谢谢
+ c( Y) w' R8 q5 t* |
6 `% r( o6 b* Y
# L  a' g, j+ X# n* m
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
沙发
发表于 2014-12-4 14:01:26 | 只看该作者
  1 #ifndef _LOG_H_* _) [/ z# d1 k. G$ G5 F
  2 #define _LOG_H_
) w2 q; K- h5 ]$ L( i( y! E  3 # D7 q( Q# v" h: y
  4 /* 0: printf; 1: UART1 */
7 J+ C# y$ @$ u; b0 G  5 #define OUTPUT_TO_UART1 1  v) E+ |# H7 L4 z4 a0 n$ k
  6 5 n  S% ^, Q1 ~
  7 /* Switch Log Output */# y% R& M5 q3 _- `
  8 #if OUTPUT_TO_UART1$ W. C7 E: X+ K$ R1 [
  9     /* For UART1 Initial */( Y0 Y% c6 k6 n1 |2 Y7 c
10     #include <stdlib.h>
  G3 A! K+ \% [% y9 b5 y 11     #include "hw_types.h"  
9 ^$ Q% a/ h) d, z( u) k  G3 @8 _ 12     #include "hw_syscfg0_C6748.h"
! C6 {% H# p! D. x 13     #include "soc_C6748.h"
. g' n% u' d) ?# B1 u6 f 14     #include "psc.h"               
1 g4 V3 p! f) W& _8 ~1 x% a% o 15     #include "gpio.h"               
9 C) n, q5 A4 j, I' a/ V 16     #include "uart.h"
+ ^+ d, v' Z  C* }$ ]7 P7 g( y8 u: H 17     #include "uartStdio.h"+ \. M% ~+ h- G- s
18 ; O7 v( ?$ G- j, ?
19     #define OUTPUT UARTprintf
9 z! O, ]. w5 K9 r: ?# H+ \0 A" e; k/ \ 20 #else
. o9 F. G' {8 g) Q. [$ {( N$ _ 21     #include <stdio.h>
3 Y8 u1 o0 g3 ^9 K* a6 M' }! u 22     #include <stdbool.h>2 J) m% r  o& m& e) l7 Y; [/ S
23
; f7 N' ^' M& e0 A: ~1 j3 m 24     #define OUTPUT printf, m0 }, \) J* g& S3 g" A
25 #endif+ g, u+ U7 D. Y2 ^1 [
26
; E2 E& G5 _) ]% e5 _ 27 /* Log init */
: }# Y5 @9 Q. _6 t- ? 28 #if OUTPUT_TO_UART1
: g9 g6 B" o# B1 E* k 29     #define LOG_INIT() do {                                     \0 T/ x# Q6 j" G+ A3 H! v
30         PSCModuleControl(SOC_PSC_1_REGS, HW_PSC_GPIO,           \
& d+ C% i0 v: F9 t$ ~3 P 31                          PSC_POWERDOMAIN_ALWAYS_ON,             \
  E/ @1 `5 j3 b; c; |) C) H0 ~ 32                          PSC_MDCTL_NEXT_ENABLE);                \
* F% I- n# R3 _1 {$ K" z$ |3 @' @2 H 33         GPIOBank6Pin12PinMuxSetup();                            \
1 E+ q3 S* O1 E: d 34         GPIOBank6Pin13PinMuxSetup();                            \+ r% E3 E! S* }2 w$ d) L4 m5 J1 V  d5 M
35         GPIODirModeSet(SOC_GPIO_0_REGS, 109, GPIO_DIR_OUTPUT);  \
, k$ l+ x7 Y( u& u" a7 \9 I 36         GPIODirModeSet(SOC_GPIO_0_REGS, 110, GPIO_DIR_OUTPUT);  \
4 J& O0 a1 T2 H, v; t; i8 z# x( p! ]  K 37         UARTStdioInit();                                        \9 z/ W5 A+ X) z1 B. J
38     } while (0)1 ]( x0 r9 w! J+ b' Y7 J; W8 |) n
39 #else- q; Z! T) C' ?  ]% z8 b0 I
40     #define LOG_INIT() do { } while (0)' C3 w4 {2 |: K  h
41 #endif
! Z( F/ [- S* t' A2 ]- j3 \0 d 42
/ x' Q5 H9 h/ w1 h% u$ Z 43 /* Log Output */
5 h. R& ^' X* z% {8 y 44 #define LOG_INFO(format, ...)      \7 T5 X* b4 h% O
45     do {                           \
# X# o  q3 W) s5 j8 z  b 46         OUTPUT("[%s|%s@%s,%d] " format "\n", "INFO ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \: n) J+ ?! j; o) q, G
47     } while (0); D# F2 B, a) w2 i2 {
48 7 T' r" k, \6 w* }8 F1 k
49 #define LOG_ERROR(format, ...)     \
* v+ e7 ?8 b; `- Y7 F) a 50     do {                           \3 [$ i+ C5 s9 K
51         OUTPUT("[%s|%s@%s,%d] " format "\n", "ERROR", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \. @  K+ {* T9 R( V* G: _) F
52     } while (0)4 k6 Q$ m8 _$ M4 ~8 l# D
53
8 i% J3 o. z/ i 54 #define LOG_DEBUG(format, ...)     \+ T0 o) K; Q0 Z" L) G
55     do {                           \
2 Q6 K( ?1 J- s( f/ y 56         OUTPUT("[%s|%s@%s,%d] " format "\n", "DEBUG", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
  ~  Y/ K6 {) `' Y 57     } while (0)
9 P1 T) S9 M& }4 v6 j2 p 58
: W4 \: M% |% b 59 #define LOG_WARN(format, ...)      \
% f0 R: A# V2 Z% }4 `: A$ V# N 60     do {                           \4 h; Q: a" R: Q: T% E2 p
61         OUTPUT("[%s|%s@%s,%d] " format "\n", "WRAN ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \$ ^5 Y+ \" l$ ^1 A0 M
62     } while (0)( {. Z1 D! q: A% E7 H
63 : y' e' P& _# t9 r" |
64 #define LOG_TRACE(format, ...)     \0 X% Y3 |' X. R. y
65     do {                           \
& @+ \! r: a$ w% o; f9 i5 S 66         OUTPUT("[%s|%s@%s,%d] " format "\n", "TRACE", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \$ H* U7 G2 N$ f& y
67     } while (0)
! D6 {5 R" d3 F6 A' a+ ] 68
9 I: y/ g/ }0 q 69 #define LOG_FATAL(format, ...)     \
' G! U+ i, V/ n. e) G) ^* i 70     do {                           \1 p0 w, z( |; _
71         OUTPUT("[%s|%s@%s,%d] " format "\n", "FATAL", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \5 I$ H/ x6 ^8 j9 ]# b/ [1 b
72         exit(1);                   \# s/ [( H7 N  J1 s3 p1 x
73     } while (0)
/ ~& O4 ?% B. E1 e. C 74 ' x7 O6 c' Q) }& L* F# V6 y) I& Y
75 /* Assert */
& h! I9 P4 Q# | 76 #define ASSERT(EXP)                \
* }9 \0 b! D2 e* J" U 77     do{                            \/ s# q% X6 i+ e
78         if (!(EXP)) {              \
  o' ^% ^5 V, N$ W 79             OUTPUT("[%s@%s,%d] ASSERT: " #EXP "\n", __func__, __FILE__, __LINE__ );                  \5 i* w  u: G4 [% A$ D3 I* ^
80             exit(1);               \6 h. I2 f" {% [1 E
81         }                          \
; k3 N( Y+ k2 ?# j$ [ 82     } while(0)* T$ Y7 B* d1 M' ~( H% Q6 D
83 5 {! u8 {( D/ O2 I$ Q
84 #endif2 ^; H# V" v- w* y/ I
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
板凳
发表于 2014-12-4 14:03:10 | 只看该作者
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏- b$ k' z" a: |! q5 ^7 P7 ~/ g5 a
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
地板
 楼主| 发表于 2014-12-4 15:21:54 | 只看该作者
tenny 发表于 2014-12-4 14:03
$ z4 A- ^5 @: p1 ]& x6 o% @, M修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏
& z# }# z$ m  j% n5 F
你好,是arm这一端的app
; Z+ |$ ~' G' u$ t
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
5#
 楼主| 发表于 2014-12-4 15:40:21 | 只看该作者
tenny 发表于 2014-12-4 14:032 s6 K+ w+ Z& b
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏

( a$ `' |! Z  G6 |+ r/ Z; ~你好,你是不是将host/app下的log.h和dsp/driver下的log.h和到一块啦,怎么说下你的思路
$ J; r0 l! W7 ~- ?
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
6#
发表于 2014-12-4 15:59:03 | 只看该作者
arm 端的 log 并没有用到 uart1
3 S0 n2 R/ L( a1 s, d* Pdsp 端的 log 才使用了 uart1$ ^9 ]8 n# B) v" h
所以,你需要也只需要修改的是 dsp 子工程的 log.h(新版本的代码 是在 dsp/app/log.h,旧的是在 dsp/driver/log.h)
( \, Q0 n4 R" G* W) Y
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
7#
 楼主| 发表于 2014-12-4 17:19:24 | 只看该作者
tenny 发表于 2014-12-4 15:59
- q9 ]) T% \# j# marm 端的 log 并没有用到 uart1
) }' O* b: C5 I- Q4 F0 Ndsp 端的 log 才使用了 uart1$ h% P2 k) y0 q# ?/ A
所以,你需要也只需要修改的是 dsp 子工程的  ...

* d+ e* U' T$ {那我是不是将你贴出的那段代码,替换DSP/driver下的log.h就可以是吧,
$ A7 W* Q+ t% K4 j$ W0 r; |然后将#define OUTPUT_TO_UART1 1 换成6 ?* d6 A# |8 m9 U' o
#define OUTPUT_TO_UART1 04 f$ `& f2 H" Z3 L, t4 F
  是不是这样' E7 x) _5 e0 d
( e6 ~- o2 c' t# z4 C* d* d; Q
3 H  `0 i. W  |, b6 p7 ~7 D/ X

! W, V' s1 k1 z8 A( b) S* Z
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

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

  {& A$ R. q7 K$ s0 z
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-8-4 15:59 , Processed in 0.040728 second(s), 23 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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