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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
跳转到指定楼层
楼主
发表于 2014-12-4 11:08:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
你好我现在用的你们的omapl138开发板,跑的双核通信的程序,我现在需要通过串口一向外部发信息,但是串口一被DSP占用了,我怎样才能解除DSP占用呢1 K2 m& N3 N& Z8 g+ ?
! N; v' V7 E* _, p# B2 E( v8 @* F
& K& `7 j0 {9 B8 M/ Q; f9 z
谢谢
9 k  [' z! v8 ]7 u7 @
& m  L1 f( d- {6 R# S/ U- T# X* |2 V! S2 V3 E: [
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
沙发
发表于 2014-12-4 14:01:26 | 只看该作者
  1 #ifndef _LOG_H_9 t7 N4 L& ^! {( u- @
  2 #define _LOG_H_9 V4 v: c" i( m
  3 + L; Y3 @; v% b6 {' Z2 z
  4 /* 0: printf; 1: UART1 */# C. F0 H6 \$ ^# K$ m. o
  5 #define OUTPUT_TO_UART1 1) O4 D2 q: }: G! F6 s1 l6 `
  6 # N* O% x4 ^2 R& |* O
  7 /* Switch Log Output */
$ T$ R# n6 a* \: |$ s  8 #if OUTPUT_TO_UART1% y0 m, F% k3 k4 g/ p
  9     /* For UART1 Initial */3 ?6 x# J; H! W% K; r: K
10     #include <stdlib.h>( h. ~8 U" |$ @7 ^2 h
11     #include "hw_types.h"  9 B! z7 t# ]+ Z1 e
12     #include "hw_syscfg0_C6748.h"! g% X7 t& @! p9 ^9 d
13     #include "soc_C6748.h"
$ q9 d# x' x4 y$ w5 Z' h/ C: e" _ 14     #include "psc.h"               
( w6 B" A2 D6 @3 I2 r 15     #include "gpio.h"               
6 c* E' ~$ d& M8 e+ A) a 16     #include "uart.h"2 _% w  }. n# I/ @7 S$ L. s+ |. m- u7 v
17     #include "uartStdio.h"4 ?' N' k) f( Y' g( l* d
18
" |2 {0 W: R. R( L5 U 19     #define OUTPUT UARTprintf
& C5 t) O% P0 i' @% a0 v- ? 20 #else7 h; A) U8 F. g5 X  u/ z) S* w
21     #include <stdio.h>
9 Z0 z1 V3 b) L$ U2 D, }( Y 22     #include <stdbool.h>
9 N/ n  N3 M. P; ~ 23
3 q/ d" W3 ~1 S- Z$ @8 t: I. a 24     #define OUTPUT printf4 j9 }: S6 ~, C" s; C. `: o
25 #endif
2 m! q! k4 @4 s, L9 Z( u 26 ; _$ X/ O' [8 `$ G& R
27 /* Log init */0 x# s+ J! G# @8 i- e
28 #if OUTPUT_TO_UART18 p' V8 e2 R/ X: g9 u0 q/ p
29     #define LOG_INIT() do {                                     \4 A, a0 P( j, z8 C. x
30         PSCModuleControl(SOC_PSC_1_REGS, HW_PSC_GPIO,           \
% E+ ]! W0 L5 K. P8 } 31                          PSC_POWERDOMAIN_ALWAYS_ON,             \
4 n3 |( k# T. Z" d5 Z# r# z 32                          PSC_MDCTL_NEXT_ENABLE);                \
1 n4 }- K$ T$ l4 s6 H" r- T) O+ t 33         GPIOBank6Pin12PinMuxSetup();                            \
" _; t9 _6 j. k% q- Y0 m 34         GPIOBank6Pin13PinMuxSetup();                            \' B1 n/ o" ]7 D, s0 [# V5 E( ]
35         GPIODirModeSet(SOC_GPIO_0_REGS, 109, GPIO_DIR_OUTPUT);  \7 W! }- j& A! W* q* r& H
36         GPIODirModeSet(SOC_GPIO_0_REGS, 110, GPIO_DIR_OUTPUT);  \$ G* W! C& F) @% y9 p
37         UARTStdioInit();                                        \
- F8 S% R0 w% k7 G8 Q 38     } while (0)9 y8 l2 M# s8 c! j
39 #else7 ?, M0 _" E" b1 }* M
40     #define LOG_INIT() do { } while (0); g5 M5 E. [( a) m
41 #endif6 b! y$ e# U  G5 B2 z
42 $ u8 c3 Y1 C. @$ J8 p' }
43 /* Log Output */
6 {' z1 N$ o7 ?' t+ H4 ^6 o$ D 44 #define LOG_INFO(format, ...)      \
9 O* A9 d* z# `1 {( z: v, I 45     do {                           \
, z' y2 O) S& d# } 46         OUTPUT("[%s|%s@%s,%d] " format "\n", "INFO ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
9 ~- w! ]% R8 U6 |0 H4 M4 j0 z 47     } while (0)
: `# ]: j+ e9 c! U1 c* P2 D 48
& e) S" F: v7 m1 y9 k" \4 j5 y( I 49 #define LOG_ERROR(format, ...)     \' l& p. ]/ |( I" h8 {! f$ Y# o! [6 R
50     do {                           \/ y1 h8 j3 L# C) v) C* C1 V5 t7 S1 M
51         OUTPUT("[%s|%s@%s,%d] " format "\n", "ERROR", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \) r7 k7 L( H" Z5 a
52     } while (0)# s4 Y/ k  U" _8 v, ]
53
7 p- W& v$ O  @; m% o7 N6 N 54 #define LOG_DEBUG(format, ...)     \* d1 h! ]" K: `1 g
55     do {                           \7 j8 W0 S2 E4 P
56         OUTPUT("[%s|%s@%s,%d] " format "\n", "DEBUG", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
1 n8 X: i8 Q# t4 J' b 57     } while (0)
) [3 E- u4 M& L  S3 x6 m: j8 F. k 58 0 f- l6 w, S' g) ~+ A. G2 \* y
59 #define LOG_WARN(format, ...)      \2 e( p# \5 T5 p. G- U
60     do {                           \: i: E" W- g1 |( t0 w1 Y6 {
61         OUTPUT("[%s|%s@%s,%d] " format "\n", "WRAN ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
& D6 h- s" k8 ? 62     } while (0)# W* U0 O3 U# C6 E8 z' m; a
63
  ?/ L8 n: `1 z 64 #define LOG_TRACE(format, ...)     \! F1 s5 ^* c  m! Y4 ]
65     do {                           \+ e. G& V; A# M- r8 P+ x# w
66         OUTPUT("[%s|%s@%s,%d] " format "\n", "TRACE", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \, T, {  o$ ]; J
67     } while (0)9 ^, a! r+ X' l1 |6 W1 z7 s$ A. g
68 5 I  ^, v* E2 P' q2 S' t
69 #define LOG_FATAL(format, ...)     \5 ~( L* S$ j6 _5 C1 {& H
70     do {                           \
* Q- k) U" e! l0 S; Z# x" h0 \) r 71         OUTPUT("[%s|%s@%s,%d] " format "\n", "FATAL", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
) F) S: B+ p4 @1 ?  z 72         exit(1);                   \, V( C1 S3 Q. f
73     } while (0)& S; @5 N' m' N) `# F, q' U
74   i& T( }6 \2 @7 b
75 /* Assert */' H2 V- j% `+ G1 n# m4 u5 @0 g
76 #define ASSERT(EXP)                \1 C, ^8 }# e. t/ ~
77     do{                            \
# {& X) s! z1 ?" _4 v0 M 78         if (!(EXP)) {              \
1 W5 h8 F" b+ }2 v( K$ v9 U; t- V 79             OUTPUT("[%s@%s,%d] ASSERT: " #EXP "\n", __func__, __FILE__, __LINE__ );                  \& K2 }+ \9 O' B
80             exit(1);               \
- ^# G* a9 ~, d" ]) x 81         }                          \2 t  n. y0 J; Z: b% U& r& {
82     } while(0)
: U( H! m. J. a 83 , u+ s. F0 s3 }
84 #endif9 S. @$ ~$ G4 b2 j; x1 C8 z4 c' y: q
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
板凳
发表于 2014-12-4 14:03:10 | 只看该作者
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏" O7 Q& T' }1 e3 O. R4 ?# \
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
地板
 楼主| 发表于 2014-12-4 15:21:54 | 只看该作者
tenny 发表于 2014-12-4 14:03$ M4 K+ h+ ^3 V  u7 [% z" j
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏
. ]( m0 {' E, m. I* J' {
你好,是arm这一端的app8 S$ v6 R, N& ^( O! a& j& g
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
5#
 楼主| 发表于 2014-12-4 15:40:21 | 只看该作者
tenny 发表于 2014-12-4 14:033 f7 o5 v  L/ H* [
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏
4 r2 N1 q6 u$ [! G
你好,你是不是将host/app下的log.h和dsp/driver下的log.h和到一块啦,怎么说下你的思路
8 d& \% c; p5 @: o
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
6#
发表于 2014-12-4 15:59:03 | 只看该作者
arm 端的 log 并没有用到 uart1& Y! g2 U3 M$ I
dsp 端的 log 才使用了 uart1- p, c* A: F: {; x( k' S
所以,你需要也只需要修改的是 dsp 子工程的 log.h(新版本的代码 是在 dsp/app/log.h,旧的是在 dsp/driver/log.h)
$ M4 O/ H8 D  c" K, c
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
7#
 楼主| 发表于 2014-12-4 17:19:24 | 只看该作者
tenny 发表于 2014-12-4 15:59- S8 ~0 E( [4 C/ [8 w9 w5 |8 {
arm 端的 log 并没有用到 uart1
6 P2 c) d6 w# ^% R& @; W  v0 F0 Jdsp 端的 log 才使用了 uart1+ I; K) S  i0 v
所以,你需要也只需要修改的是 dsp 子工程的  ...
2 T- P* {( `( I, _
那我是不是将你贴出的那段代码,替换DSP/driver下的log.h就可以是吧,' B* k1 p* R# x6 `2 O3 r* W; @
然后将#define OUTPUT_TO_UART1 1 换成
/ r: C& F: O' d: X#define OUTPUT_TO_UART1 02 T7 Q( ~/ F" D" {7 l9 x
  是不是这样3 u* ~6 w5 {- C  u. [5 \. Q9 F- l

1 h- m2 S5 ?! X% p+ d  x5 |7 K; @6 \* B0 ?' Z1 y9 z1 a/ M% B

" v- {8 g1 H1 L; S
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
8#
发表于 2014-12-5 09:25:09 | 只看该作者
  W* ]8 E" J" R
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-12-8 17:11 , Processed in 0.040511 second(s), 23 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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