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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
跳转到指定楼层
楼主
发表于 2014-12-4 11:08:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
你好我现在用的你们的omapl138开发板,跑的双核通信的程序,我现在需要通过串口一向外部发信息,但是串口一被DSP占用了,我怎样才能解除DSP占用呢( h2 B" w. n4 u( K0 i. r
+ d7 ~; _) k. C6 Q6 Q

% ]% k; N8 n  J3 B1 Y$ P/ u6 N) n谢谢
3 s! H0 W" x% Q3 K' w$ }% @
) a  |, v  o; g+ J2 w& @0 P& C& d* m% S% S1 p1 V
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
沙发
发表于 2014-12-4 14:01:26 | 只看该作者
  1 #ifndef _LOG_H_3 L+ y  w7 k# p2 d. K, i  h1 P
  2 #define _LOG_H_
) P- |+ ]# n& _. B  3
! f6 i1 T, I" ?7 R! S" {/ X  4 /* 0: printf; 1: UART1 */
- |% A9 x) _; D( }7 ~+ v) ?$ v  5 #define OUTPUT_TO_UART1 1
2 J! ?7 ~( W% r  D. i: G) o+ q
  6 " f' }- R8 }+ `4 a/ o' ?
  7 /* Switch Log Output */
  ^4 w" m! w# v' c3 s  8 #if OUTPUT_TO_UART19 Q6 N+ h! o7 m. V% E. x* n
  9     /* For UART1 Initial */+ o: D$ R4 V  b" n- Y
10     #include <stdlib.h>
% M" p( C! q4 u. l1 [4 ?6 e8 p" r 11     #include "hw_types.h"  
7 e. u: W0 l3 M+ c) y  b, H  H3 { 12     #include "hw_syscfg0_C6748.h"
' H( V; E: b* @7 G 13     #include "soc_C6748.h"  I0 X5 d- |% |2 a% u, u2 ^# B0 e
14     #include "psc.h"               " d# f, f* m! c6 f
15     #include "gpio.h"               
/ J% a9 e1 F! g; M 16     #include "uart.h". ]" i# o# |' |2 Q# f; d
17     #include "uartStdio.h"" O- z9 ~) z  v' a! }0 F! M
18 0 U1 d, e  B4 w$ A% j; U1 i) ]
19     #define OUTPUT UARTprintf
  B5 r6 \- a% `3 i5 I1 ? 20 #else( c2 r7 s5 l* I! [
21     #include <stdio.h>* x1 X2 s( ~8 A, D+ M6 u, f4 K
22     #include <stdbool.h>
- X/ x1 `) x3 X. Y3 U# R- T* ~ 23 ) p: y6 K9 u$ m6 [# Y( W
24     #define OUTPUT printf# V9 f' Y5 P& \7 I+ u1 a0 T
25 #endif6 Y: n, l& Q. ]8 x. f8 g
26   |; f$ j# Y. F9 h: S
27 /* Log init */2 k7 ]6 @  V) \
28 #if OUTPUT_TO_UART18 \# H' F' ~. I/ i
29     #define LOG_INIT() do {                                     \3 H! ^5 S0 e" V* }! C3 a
30         PSCModuleControl(SOC_PSC_1_REGS, HW_PSC_GPIO,           \
: A) w5 X) n+ Q* U$ i4 J 31                          PSC_POWERDOMAIN_ALWAYS_ON,             \
  ?1 H, i, ]3 l1 x' N 32                          PSC_MDCTL_NEXT_ENABLE);                \; P* O5 E/ t$ A7 b
33         GPIOBank6Pin12PinMuxSetup();                            \
9 H6 s: l/ k6 ]( a4 R& \ 34         GPIOBank6Pin13PinMuxSetup();                            \' e0 j  J' S8 a
35         GPIODirModeSet(SOC_GPIO_0_REGS, 109, GPIO_DIR_OUTPUT);  \* |; |8 b+ F  M
36         GPIODirModeSet(SOC_GPIO_0_REGS, 110, GPIO_DIR_OUTPUT);  \' E* _# ?8 [. s) v! W" ?  S
37         UARTStdioInit();                                        \6 u9 \$ n1 c9 u! F* C9 O
38     } while (0)
% P3 E( [6 r! E& L 39 #else1 Z; _( B: r6 c1 a0 g7 ]
40     #define LOG_INIT() do { } while (0)8 `, o: w. Z% L  M
41 #endif) M( B4 ^: e; ^& v- p9 A. |) S
42
. q+ f! a' A: T! U# F 43 /* Log Output *// B* Y: X  Q- b$ H
44 #define LOG_INFO(format, ...)      \
! p0 q* k2 p8 n5 M 45     do {                           \
, U7 W) g# j8 z, _  V# v 46         OUTPUT("[%s|%s@%s,%d] " format "\n", "INFO ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \1 R9 k2 O% ^8 i' B# i/ |* B! s
47     } while (0)- t$ u1 B( R6 t3 V; x- @$ s- n
48 9 `% T# j- d! X6 H: U/ j
49 #define LOG_ERROR(format, ...)     \
" @# g+ E& u0 H; V& S+ n 50     do {                           \; S4 g$ A9 F  C3 z
51         OUTPUT("[%s|%s@%s,%d] " format "\n", "ERROR", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \5 n% }9 P4 k: H) }3 i
52     } while (0)
% t# P2 G! V: g8 V 53
. J! {  U8 s5 ^5 t& Y& _: @ 54 #define LOG_DEBUG(format, ...)     \
! S: ?  c, T6 @2 g1 u5 F9 ~ 55     do {                           \8 {2 e, |) c5 P, T  _6 ?0 J
56         OUTPUT("[%s|%s@%s,%d] " format "\n", "DEBUG", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
: O( v: C5 b: m 57     } while (0)# a: U# L% t4 Z% l
58
; `% v/ l4 E1 ?' v  B 59 #define LOG_WARN(format, ...)      \
% r# _! r% k- ?/ `9 _' e" I+ ? 60     do {                           \3 M3 O" A8 p$ t1 N8 k
61         OUTPUT("[%s|%s@%s,%d] " format "\n", "WRAN ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
  k( @. g( n8 g2 I# E* d+ t 62     } while (0)
7 R/ y4 h8 b# F; ` 63 9 ^: F' p7 h, |5 E7 F& r
64 #define LOG_TRACE(format, ...)     \' r! ~. D& z# U6 U2 R
65     do {                           \
5 l# g: K: G8 E 66         OUTPUT("[%s|%s@%s,%d] " format "\n", "TRACE", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
# s5 y8 Z# Q8 S1 r% ~3 `# w" I 67     } while (0)
" V! w' F8 U# s! ]7 _1 f 68 " M2 N6 j! Y7 |9 t
69 #define LOG_FATAL(format, ...)     \; ?, c. b# J* }" b
70     do {                           \4 T4 F- [2 l, Z1 j1 i, B9 V
71         OUTPUT("[%s|%s@%s,%d] " format "\n", "FATAL", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \# v( W$ O0 b0 O$ m9 E, @! `
72         exit(1);                   \$ B* y* f: N3 [, P6 {
73     } while (0)
8 A8 `. t9 K! N; s/ W5 n% d 74
+ q8 m' D1 X2 E- c 75 /* Assert */
5 M9 m% W' A! K2 k 76 #define ASSERT(EXP)                \
7 X  Y; z* ^) P  O& |+ e+ {* O 77     do{                            \
1 @& L# d! Q3 ^$ K- u 78         if (!(EXP)) {              \9 p* C6 }3 U' {- d5 U1 ^/ n1 A
79             OUTPUT("[%s@%s,%d] ASSERT: " #EXP "\n", __func__, __FILE__, __LINE__ );                  \
! `# U( R* F1 j8 b% R0 ]+ h 80             exit(1);               \. O7 x7 Q- F2 y' O/ ^" o
81         }                          \$ F( Q/ R- M, @- W! f# E$ p4 g
82     } while(0)
: B1 ~( N' o+ ~+ q9 @6 _ 83 " V( K: `* d2 ~* u6 X
84 #endif5 _6 ^4 d5 U4 D* K; g) r
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
板凳
发表于 2014-12-4 14:03:10 | 只看该作者
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏- D0 f" b) j$ R: M( v* b
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
地板
 楼主| 发表于 2014-12-4 15:21:54 | 只看该作者
tenny 发表于 2014-12-4 14:03+ D$ P* {+ U2 E& n
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏
9 w' }2 E/ e2 I6 r$ o- T# p4 A
你好,是arm这一端的app
+ M; O8 m  M9 R1 P3 D) X+ d$ C
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
5#
 楼主| 发表于 2014-12-4 15:40:21 | 只看该作者
tenny 发表于 2014-12-4 14:03) K6 U) [4 K& u+ c: Y7 N5 b& w
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏
- q- S! \0 m0 O  ?. P* [
你好,你是不是将host/app下的log.h和dsp/driver下的log.h和到一块啦,怎么说下你的思路
) e7 a: ~  b/ O+ g
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
6#
发表于 2014-12-4 15:59:03 | 只看该作者
arm 端的 log 并没有用到 uart1: `" w& Y$ e2 V7 G2 H
dsp 端的 log 才使用了 uart1
, z. e4 y- l" Q所以,你需要也只需要修改的是 dsp 子工程的 log.h(新版本的代码 是在 dsp/app/log.h,旧的是在 dsp/driver/log.h)
) m7 a. x8 R8 y
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
7#
 楼主| 发表于 2014-12-4 17:19:24 | 只看该作者
tenny 发表于 2014-12-4 15:59
$ c1 `. j7 G. V) r. z, ]arm 端的 log 并没有用到 uart1
" A: X2 H; E. q5 S9 Vdsp 端的 log 才使用了 uart12 p# K! T/ Y! z: ]" _6 M
所以,你需要也只需要修改的是 dsp 子工程的  ...

! S2 A+ _/ {! e% H3 V! Z那我是不是将你贴出的那段代码,替换DSP/driver下的log.h就可以是吧,- _8 {. v/ {( U( l/ d
然后将#define OUTPUT_TO_UART1 1 换成
. n, I- M6 x' X3 ^+ [#define OUTPUT_TO_UART1 0
. G2 I9 p- J: B: k3 ]2 T5 J  是不是这样' }! R8 m4 Y# F( X  `; x' k

. x; s, X+ a% U! k. Z2 E
6 l9 V  K) ?+ F1 l0 k; E; R8 N% `
8 M& P* L, y8 _
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

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

4 K. c9 X: Y! E
回复

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2026-2-20 17:20 , Processed in 0.044862 second(s), 25 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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