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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
跳转到指定楼层
楼主
发表于 2014-12-4 11:08:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
你好我现在用的你们的omapl138开发板,跑的双核通信的程序,我现在需要通过串口一向外部发信息,但是串口一被DSP占用了,我怎样才能解除DSP占用呢3 O6 S5 }; o+ l7 H4 J

0 w1 {! @# h* h; V. L6 _! r& Y1 w, M/ k7 g- o  U
谢谢
+ W( o8 _4 D( B4 i2 _! [/ M: @  `
& O8 c5 q# ^/ g0 \* j  d8 w' n. _6 S+ W+ ^' R6 B- I8 d
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
沙发
发表于 2014-12-4 14:01:26 | 只看该作者
  1 #ifndef _LOG_H_
$ c7 C: U- S' v' z, l8 z8 R% S  2 #define _LOG_H_7 K" i2 y8 C6 t% y) e+ ~: p2 f
  3
6 H' m6 T& R: L( H' N  4 /* 0: printf; 1: UART1 */% y2 \7 _6 ?) n0 `2 D
  5 #define OUTPUT_TO_UART1 1
4 M7 F0 `. m' e
  6 " W6 Y, e* W% s* t5 L$ C, |
  7 /* Switch Log Output */% T  P8 a( `" F5 J4 {
  8 #if OUTPUT_TO_UART1
) k5 |" {" p' `0 I/ ^  9     /* For UART1 Initial */
% Y( N7 C5 x1 c9 b5 V 10     #include <stdlib.h>  v, t- `, F; E( }: N
11     #include "hw_types.h"  
$ f7 O, f- s3 l- d) E' } 12     #include "hw_syscfg0_C6748.h"! V. s5 S7 t+ {- }8 L, f# e
13     #include "soc_C6748.h"
  {9 c9 r' V" m& z( |3 \ 14     #include "psc.h"               
  A, W; t  n: Z* y. b$ R 15     #include "gpio.h"               
  {! ~$ l5 B* c 16     #include "uart.h"
! Z" Q$ W0 w) s/ Q$ D' v 17     #include "uartStdio.h"
6 T6 }3 `, _  x: k' f 18
/ v4 a: \$ S3 z$ [9 x5 x& g 19     #define OUTPUT UARTprintf' \, z: T2 Z1 p+ G$ Z
20 #else
/ y6 S! P" }* H6 i 21     #include <stdio.h>( Y6 X$ r, g8 ^" |
22     #include <stdbool.h>
# }+ e% o2 B& l& l+ `' Z 23 ! X  ^  K8 y& T7 T: A( @7 _
24     #define OUTPUT printf
/ Z  H' C( j6 X+ e, \ 25 #endif
# l" f4 k/ v2 _/ q1 d 26 5 ?% X  P) {& b% g/ ]) M
27 /* Log init */
4 |! P3 z4 P+ a, X& Z 28 #if OUTPUT_TO_UART1, L! `- ]' i' p% D
29     #define LOG_INIT() do {                                     \. y5 G' a2 |  x* Q
30         PSCModuleControl(SOC_PSC_1_REGS, HW_PSC_GPIO,           \2 {8 x, A9 Z7 a5 W5 q
31                          PSC_POWERDOMAIN_ALWAYS_ON,             \
9 a: w$ U" n6 U/ v  D' L- g 32                          PSC_MDCTL_NEXT_ENABLE);                \
7 \* s& b; x( n+ P) V 33         GPIOBank6Pin12PinMuxSetup();                            \
# U6 q) N& @/ n. S; ?4 H 34         GPIOBank6Pin13PinMuxSetup();                            \/ ?4 K' K: s' Q# I& S/ j
35         GPIODirModeSet(SOC_GPIO_0_REGS, 109, GPIO_DIR_OUTPUT);  \
, N8 y0 S3 V6 f+ B& D" Z 36         GPIODirModeSet(SOC_GPIO_0_REGS, 110, GPIO_DIR_OUTPUT);  \
2 E0 V# Z3 J# A  A% u( r% i 37         UARTStdioInit();                                        \
( r* T1 F9 {9 F  K 38     } while (0)7 z8 y  Z! O+ e3 v- d, n- H3 N
39 #else
5 h* K+ F! x/ P* H 40     #define LOG_INIT() do { } while (0)
% ^+ J: l& ^# {1 b4 _2 r 41 #endif
2 i! y2 U: \3 ]2 j 42 9 S- b1 J. ^) ?/ ~
43 /* Log Output */; u" m; i6 N7 Z+ g9 P& H
44 #define LOG_INFO(format, ...)      \
: k) U4 K6 r: o* T" ?; ^; f- |  Y* I( N 45     do {                           \
, p  V! r+ ?) K1 {9 i3 q* l$ d 46         OUTPUT("[%s|%s@%s,%d] " format "\n", "INFO ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
; H: @  P" t5 T4 T/ G) | 47     } while (0)
" r1 w6 A# l, z 48 # t& k/ {  V0 r8 N/ a5 g
49 #define LOG_ERROR(format, ...)     \2 ^$ K" C; \2 s
50     do {                           \7 i8 q& J. F. g2 p3 t+ ~0 e% T+ j% M
51         OUTPUT("[%s|%s@%s,%d] " format "\n", "ERROR", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \( _: T/ t1 R6 j8 B! b" T
52     } while (0)+ K$ l2 l9 i- {: G$ z1 u% P
53 1 X4 |# a! G8 \" m4 C* d- a
54 #define LOG_DEBUG(format, ...)     \) e/ K( v" p8 [0 H+ g7 t/ d9 u
55     do {                           \
* n3 t2 R5 c. M9 l 56         OUTPUT("[%s|%s@%s,%d] " format "\n", "DEBUG", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
* P3 z: z! J# e9 z/ a# Y* B$ X' O 57     } while (0)
+ ~& z& _5 I4 P$ J 58 ) E" k" B+ N4 t& i6 G5 j
59 #define LOG_WARN(format, ...)      \% S5 d- O/ J5 }: B
60     do {                           \
1 @. H; l, K6 Q0 j, e 61         OUTPUT("[%s|%s@%s,%d] " format "\n", "WRAN ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \& [3 j2 Z4 C/ ~9 T
62     } while (0)  f* p+ u! q) ?3 y8 H4 Q8 u
63 " b. Z2 P) U, w7 |: y2 t/ i1 f
64 #define LOG_TRACE(format, ...)     \$ J$ G5 I- K5 ~3 B8 H( V6 d
65     do {                           \
& F/ e  Y$ e. o  Q! V% S; S 66         OUTPUT("[%s|%s@%s,%d] " format "\n", "TRACE", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
3 Z, T- @7 C: \6 I: `& L3 { 67     } while (0)
5 g8 C! c, ?  D4 R0 c) f4 b7 t* M 68   `1 s: E9 D: g. i8 ?
69 #define LOG_FATAL(format, ...)     \1 b+ P! ?; _* |) }
70     do {                           \+ o3 v- I# ^" g+ R8 T; J, L3 m
71         OUTPUT("[%s|%s@%s,%d] " format "\n", "FATAL", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \* Y/ u8 B' z* C4 h
72         exit(1);                   \1 `1 B9 v6 H' L) z  `
73     } while (0)  S, ?/ w: i+ z+ k" Q1 u; _
74 + }* |$ J1 ?) G% q% P4 w/ Z& b! O
75 /* Assert */
1 S1 L  W+ @8 k 76 #define ASSERT(EXP)                \
9 E9 T' L+ C0 P- B0 o+ o. ` 77     do{                            \2 \7 `3 {, E9 s8 p: B: H
78         if (!(EXP)) {              \1 ^  v; Z1 I) \+ H
79             OUTPUT("[%s@%s,%d] ASSERT: " #EXP "\n", __func__, __FILE__, __LINE__ );                  \+ }& d8 G8 X  R, B* L3 o0 c, L/ E. s+ R
80             exit(1);               \
. d. h9 P  B  q+ P* a. F2 {# ~. d 81         }                          \
* ^/ K6 u& w, ] 82     } while(0)- q! s2 E7 ^) H# |- t
83 : B' O) F+ H) p& x
84 #endif
+ m' X4 p& ^. s+ Q  e6 W' T
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
板凳
发表于 2014-12-4 14:03:10 | 只看该作者
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏5 @! u7 b) S' o
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
地板
 楼主| 发表于 2014-12-4 15:21:54 | 只看该作者
tenny 发表于 2014-12-4 14:03
% @/ b: l0 P$ Z3 p; C* `9 }7 P修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏
* v" u9 M& {0 z  K. |8 u
你好,是arm这一端的app
& w4 b1 F: y4 g7 d) g: x
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
5#
 楼主| 发表于 2014-12-4 15:40:21 | 只看该作者
tenny 发表于 2014-12-4 14:03
" d3 S  d4 H4 Y: a9 d; l# h" h修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏
7 S& I% v% m5 K5 Z: o* J) v" O
你好,你是不是将host/app下的log.h和dsp/driver下的log.h和到一块啦,怎么说下你的思路
' }/ E7 i5 x4 e! s/ N; F
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
6#
发表于 2014-12-4 15:59:03 | 只看该作者
arm 端的 log 并没有用到 uart1
2 Z% a" a! v" g% s& pdsp 端的 log 才使用了 uart1
9 G* T0 C0 {/ T7 n3 e9 A所以,你需要也只需要修改的是 dsp 子工程的 log.h(新版本的代码 是在 dsp/app/log.h,旧的是在 dsp/driver/log.h)
. e' x: P. R1 w# z1 g
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
7#
 楼主| 发表于 2014-12-4 17:19:24 | 只看该作者
tenny 发表于 2014-12-4 15:59
: [0 n' E( F8 q& C) K; marm 端的 log 并没有用到 uart16 k" P1 Q* d, d5 }$ f* I, u7 s
dsp 端的 log 才使用了 uart1
2 s; M. u7 D' k" p. s+ x5 D所以,你需要也只需要修改的是 dsp 子工程的  ...
. J: n" f8 m8 ^5 p
那我是不是将你贴出的那段代码,替换DSP/driver下的log.h就可以是吧,( x8 \& @- M: y
然后将#define OUTPUT_TO_UART1 1 换成
' o0 k& n/ ^+ X$ U#define OUTPUT_TO_UART1 09 O' c9 P- ^  r1 o3 o: s% ?9 l2 w) m
  是不是这样
3 l! G7 G! q4 f4 b* F0 {& E, O, l0 ]# k  N8 {7 e5 ?6 _; V

: n) `8 R+ _- S7 D. o% W
& r$ E8 i% r2 _9 J
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
8#
发表于 2014-12-5 09:25:09 | 只看该作者
( g' ^3 T+ X2 p
回复

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2026-2-11 11:38 , Processed in 0.043593 second(s), 25 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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