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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
跳转到指定楼层
楼主
发表于 2014-12-4 11:08:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
你好我现在用的你们的omapl138开发板,跑的双核通信的程序,我现在需要通过串口一向外部发信息,但是串口一被DSP占用了,我怎样才能解除DSP占用呢
# Y, B% s  @6 a0 o# b
! I3 m& ?+ c! ?1 Z
; D9 A" @" ]. l( d7 Z  Q/ R谢谢+ I# m0 J  J. n' v, U  I  ?7 {/ I
% \4 V  Q* z# v7 s& q" S/ J- Q2 I
) `+ [2 M2 Q/ h9 O: ?% m  S
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
沙发
发表于 2014-12-4 14:01:26 | 只看该作者
  1 #ifndef _LOG_H_4 W# M6 _5 `% i1 n" e0 l: _" p
  2 #define _LOG_H_( r. C* ]' p; w2 R3 _
  3 * g0 S8 z: a2 O0 F
  4 /* 0: printf; 1: UART1 */( E9 p' b% x, ^1 _, N9 R# b0 h
  5 #define OUTPUT_TO_UART1 1, J( n# v7 C9 J; C0 k8 _, {
  6 ( f# S& w& j& e: Z5 Z
  7 /* Switch Log Output */
( F6 ]8 {" P3 W# B  8 #if OUTPUT_TO_UART1
; V# u$ f2 D7 ]$ y2 s. J4 s  9     /* For UART1 Initial */
! `# }) h$ F0 L1 }! f( i" y1 @; c 10     #include <stdlib.h>& v% v' P2 g* A0 c4 H* ^" g1 K
11     #include "hw_types.h"  & j  B8 Q. `! l+ {2 ~
12     #include "hw_syscfg0_C6748.h"$ d! B7 l/ v2 }8 g0 D* ?; }
13     #include "soc_C6748.h"% Y/ K  @3 a7 x5 W& P3 M
14     #include "psc.h"                 X7 f1 Q3 |- N6 ?6 K
15     #include "gpio.h"                 H2 c! Y4 T/ f3 t3 M+ p6 F- t
16     #include "uart.h"( {+ |8 z6 l+ R9 l/ _7 S
17     #include "uartStdio.h"! E- ~- u( A3 b8 a& L( r
18
1 R6 E) J* f( q; A/ g 19     #define OUTPUT UARTprintf
7 U- V7 Y3 V5 [, X' g6 Q8 | 20 #else* N0 W) E  b$ o, N
21     #include <stdio.h>
% e, [1 n" {1 ?, F 22     #include <stdbool.h>* U  j. W$ {- B' F
23 ' T& L7 C7 k) z2 f& Z! O: g
24     #define OUTPUT printf
$ O- \/ N1 \+ T" j' e8 K 25 #endif5 k* s9 h0 \/ j- L' p' O& n
26 " F8 ?/ O5 ^7 l- I5 z$ I" t
27 /* Log init */
" w( V8 \/ K7 d 28 #if OUTPUT_TO_UART1* P0 I) K5 |4 r5 w
29     #define LOG_INIT() do {                                     \: R  Z8 \$ V* K1 X5 \
30         PSCModuleControl(SOC_PSC_1_REGS, HW_PSC_GPIO,           \
7 M6 t& y! {1 k& |8 c 31                          PSC_POWERDOMAIN_ALWAYS_ON,             \" l) k$ C  M- z- N- |. ]1 U, y4 Y
32                          PSC_MDCTL_NEXT_ENABLE);                \
2 x% q4 o) I* x7 j! V. C7 G; } 33         GPIOBank6Pin12PinMuxSetup();                            \2 I1 s# {: Q% y6 Z
34         GPIOBank6Pin13PinMuxSetup();                            \
. V$ ?& v& f7 y; c& |1 D8 K# f 35         GPIODirModeSet(SOC_GPIO_0_REGS, 109, GPIO_DIR_OUTPUT);  \
; y: Q" N3 G! H& O& T, b: f 36         GPIODirModeSet(SOC_GPIO_0_REGS, 110, GPIO_DIR_OUTPUT);  \* n# y. F* O, i; B
37         UARTStdioInit();                                        \3 r5 S5 t: T# B! M" f& h- e
38     } while (0)9 x: P9 k7 F# I9 ]) E3 Q
39 #else
. k' F. ^' E2 k  J; _4 h1 y 40     #define LOG_INIT() do { } while (0)
* y" Q. q: m& M6 _% G% _ 41 #endif
% J/ D1 k6 A0 N8 { 42 4 i3 C* _$ U$ i  X
43 /* Log Output */
$ j& w4 C; _/ h; w7 Q 44 #define LOG_INFO(format, ...)      \
$ D9 l( v" J4 A7 y$ d( _/ w 45     do {                           \
  ]  f0 y* L1 T& u8 H7 f4 c 46         OUTPUT("[%s|%s@%s,%d] " format "\n", "INFO ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \6 O7 y; N1 o7 d0 E6 u0 {: f
47     } while (0)2 \  n* B3 b  u; t8 p% G5 S
48 ' q% E# @/ d) b' H/ J" ?' L& _
49 #define LOG_ERROR(format, ...)     \& l$ j$ g' Z" |7 G0 S) i
50     do {                           \
& j8 g4 G, X0 Z, h 51         OUTPUT("[%s|%s@%s,%d] " format "\n", "ERROR", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
& r. `$ l- q. j 52     } while (0)
& ~% g: Y3 g8 Q' Q% L# P 53 ' H5 \! G7 p* t8 T! N$ t
54 #define LOG_DEBUG(format, ...)     \
" Q8 `% L$ ?1 U+ B, F) F/ r# y6 v! T 55     do {                           \
1 b. C- v: k) `' ~* j! v 56         OUTPUT("[%s|%s@%s,%d] " format "\n", "DEBUG", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
5 W- z# `2 d. \8 i  N$ ~$ | 57     } while (0)- {$ P3 U. y3 k# l; ?
58 - {) p# }9 a2 L- L. B0 d
59 #define LOG_WARN(format, ...)      \# D6 m& [# m/ S6 X8 P
60     do {                           \$ m5 k' x9 V. G& z, J6 j' [) x
61         OUTPUT("[%s|%s@%s,%d] " format "\n", "WRAN ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \6 w. _5 J5 [1 D- V
62     } while (0)
+ B# D0 E6 I" z5 [9 p( A  H" W 63
7 r2 K3 ?: z% x3 E. u 64 #define LOG_TRACE(format, ...)     \# b5 C# |, J6 ]5 p; z
65     do {                           \) {) [0 P6 y$ W7 R
66         OUTPUT("[%s|%s@%s,%d] " format "\n", "TRACE", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
' K- N, _3 X; r4 g6 u7 } 67     } while (0)' P( Y5 k2 x5 ]% B2 b
68
1 g7 s! P: f& a: v 69 #define LOG_FATAL(format, ...)     \
. M5 w. ]6 c6 T6 P7 ] 70     do {                           \
+ ^) E6 e- n$ e" J4 P 71         OUTPUT("[%s|%s@%s,%d] " format "\n", "FATAL", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
* V  A+ R8 J1 a/ Q3 [ 72         exit(1);                   \1 j% \! C- O; s( V, q( r% ^, @! h
73     } while (0)
$ ]; w! T& D8 _1 |# _ 74 2 ]2 C0 u% z' x- P; S) O1 @
75 /* Assert */' u$ r) g# T# r- K+ m
76 #define ASSERT(EXP)                \$ l! z! L) G9 c- k' M  D! X5 N; \
77     do{                            \5 d) f$ q; w8 G: [
78         if (!(EXP)) {              \
$ g0 |' S4 c/ `: E% o% [9 a$ W 79             OUTPUT("[%s@%s,%d] ASSERT: " #EXP "\n", __func__, __FILE__, __LINE__ );                  \2 {6 j- _# A! w& d  O8 K; b$ k( x
80             exit(1);               \
: d) U4 j- V* z& V$ J# i 81         }                          \- v% Q: s0 w1 S
82     } while(0)
" r0 n, L. }# e* P; ? 83
) b! l5 l* f- o# @6 t2 t. I* P 84 #endif9 n, O" J( J! F1 F+ T& O2 ^
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
板凳
发表于 2014-12-4 14:03:10 | 只看该作者
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏
' A4 n3 m0 I9 o5 @
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
地板
 楼主| 发表于 2014-12-4 15:21:54 | 只看该作者
tenny 发表于 2014-12-4 14:039 }2 ^, G3 h+ s1 P- B$ U
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏
  B) Q  v+ t/ \( m% q
你好,是arm这一端的app
$ a8 D9 A2 w( @0 d, x! B7 F' X' j+ P
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
5#
 楼主| 发表于 2014-12-4 15:40:21 | 只看该作者
tenny 发表于 2014-12-4 14:03& U% T% l$ g# C  r5 M7 y
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏
( w" i" [1 A# @! |
你好,你是不是将host/app下的log.h和dsp/driver下的log.h和到一块啦,怎么说下你的思路! Z7 o$ z# R5 B' Q
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
6#
发表于 2014-12-4 15:59:03 | 只看该作者
arm 端的 log 并没有用到 uart1
! X. K4 J7 {. E( \dsp 端的 log 才使用了 uart1
& u% j+ Z: A5 V) e, b所以,你需要也只需要修改的是 dsp 子工程的 log.h(新版本的代码 是在 dsp/app/log.h,旧的是在 dsp/driver/log.h)
& w% q) _1 g# R  ]4 p
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
7#
 楼主| 发表于 2014-12-4 17:19:24 | 只看该作者
tenny 发表于 2014-12-4 15:59
. p9 Y& o$ o% jarm 端的 log 并没有用到 uart1
% A( c3 x$ D! sdsp 端的 log 才使用了 uart1* C2 X. j0 M1 P/ n2 ~5 h+ S
所以,你需要也只需要修改的是 dsp 子工程的  ...
; [7 {8 a5 d  a- n4 `
那我是不是将你贴出的那段代码,替换DSP/driver下的log.h就可以是吧,
: R* i4 M; b; M: y% D然后将#define OUTPUT_TO_UART1 1 换成3 u7 w, ?; g3 Y8 P; Q3 W* x
#define OUTPUT_TO_UART1 0% c" ?9 e) F0 y; `  w. b5 ?) [
  是不是这样0 @5 l1 l7 q- ]3 j# n

+ A' v2 i4 h) h7 F6 r; L2 C  ]- \* w
; i  q# k) y% h/ H8 c( U* z% G
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
8#
发表于 2014-12-5 09:25:09 | 只看该作者
2 p* x% S* o6 ?* \/ t! {/ y0 u. J: L0 k) N
回复

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2026-1-30 16:10 , Processed in 0.048615 second(s), 25 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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