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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

8

主题

30

帖子

150

积分

注册会员

Rank: 2

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

! e0 S( }% j3 Y) L' s6 `/ @) u4 u) j% Y
谢谢
! x) l, z0 \" x. D, H' _, Q5 k, d$ k& `) ^2 _# t+ R: w! u0 R
% s# S( M8 M2 `2 g' e& A
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
沙发
发表于 2014-12-4 14:01:26 | 只看该作者
  1 #ifndef _LOG_H_
; M# n" y0 L6 R! }! N  2 #define _LOG_H_
( z/ k6 @! O: t! Q) e- {  3 7 G9 B' m7 D2 o8 _$ O# _
  4 /* 0: printf; 1: UART1 */
9 c" T4 j0 ^+ w1 w, g/ r( x  5 #define OUTPUT_TO_UART1 17 L( e# `% T$ A+ d/ T, d/ C+ E1 @5 ^
  6
/ Q2 |6 _* b: C, |/ m0 B  7 /* Switch Log Output */
/ E. B: d' C0 y/ |3 z8 W  8 #if OUTPUT_TO_UART1# |4 U, b5 a2 M2 |3 W- V7 B
  9     /* For UART1 Initial */
8 `# r4 Y3 V2 C: O( e 10     #include <stdlib.h>
$ c# {/ M, A7 R' W- a2 X/ A7 F6 V6 a 11     #include "hw_types.h"  4 I. J+ z2 `2 V, p6 O" }
12     #include "hw_syscfg0_C6748.h"& z' e# t6 i8 {0 f) f
13     #include "soc_C6748.h"
6 r- |$ c* ?' x& e( d 14     #include "psc.h"               
1 i0 v- Y! R- ?3 ?2 C& U- Z/ ` 15     #include "gpio.h"               : @% a4 t* \* o( H! v
16     #include "uart.h"# W6 ^' {/ `" M5 L5 }
17     #include "uartStdio.h"3 C7 F. f& A- k  h) p: O% F4 I9 r( E
18 0 w( f: t+ t* T3 T' a$ C
19     #define OUTPUT UARTprintf- R6 o5 ^- I3 `4 z5 N- ~
20 #else2 u  k# ]! m6 O  G* N8 o
21     #include <stdio.h>" L* c7 M( N* @7 j* V4 d
22     #include <stdbool.h>
$ X. f- D6 b4 L' { 23
. Z3 Z5 L9 q: N 24     #define OUTPUT printf6 S( j" s6 U; U  x: K6 `1 u! f; Z
25 #endif' Q& Y1 m; B" g) V+ H# `7 N  X# [
26
" I2 G3 A  s+ B  ] 27 /* Log init */
: ~9 @+ n2 f5 q 28 #if OUTPUT_TO_UART1
0 F& n: u$ P- y9 q8 V" z 29     #define LOG_INIT() do {                                     \0 \& o1 ]6 o4 E2 |
30         PSCModuleControl(SOC_PSC_1_REGS, HW_PSC_GPIO,           \8 R3 x& F4 |* [6 p$ x+ \( C% g( B
31                          PSC_POWERDOMAIN_ALWAYS_ON,             \4 Z* Z! F  h( s. ~( p
32                          PSC_MDCTL_NEXT_ENABLE);                \
0 m: N" ]" g3 {/ ~# A5 g% Z' \ 33         GPIOBank6Pin12PinMuxSetup();                            \
2 M' [/ Z1 f6 x% Q5 f  ^( U 34         GPIOBank6Pin13PinMuxSetup();                            \
$ R1 C- Z) n1 y, b' P( U) N 35         GPIODirModeSet(SOC_GPIO_0_REGS, 109, GPIO_DIR_OUTPUT);  \
; q% f' I8 }- s( E. S! c 36         GPIODirModeSet(SOC_GPIO_0_REGS, 110, GPIO_DIR_OUTPUT);  \) |! X/ L( }' O$ T/ j4 v
37         UARTStdioInit();                                        \& y8 {; i' @' T0 ~) K
38     } while (0)! o# i6 {: {2 g/ l9 O$ L; {
39 #else
8 h& [  z9 e( P, a9 F 40     #define LOG_INIT() do { } while (0)0 ?$ k2 i! `  _7 `* N
41 #endif
" {  U% T* w* b" H 42 ( h1 r) Q9 y9 D1 y& w: D
43 /* Log Output */9 S* w5 g" Z  L
44 #define LOG_INFO(format, ...)      \( k( I. n* D8 b8 t) q; d
45     do {                           \9 c; o/ S6 ?, {6 ^! B% M" y9 o
46         OUTPUT("[%s|%s@%s,%d] " format "\n", "INFO ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
  C- x+ j: K& b7 M. {1 P; B 47     } while (0)$ Q, Z8 b% u4 W1 t  u& I0 [8 J  |
48 3 u$ j6 e7 J4 u
49 #define LOG_ERROR(format, ...)     \) f% K9 H& N' ~6 h; g+ m5 g2 J8 n
50     do {                           \  a% Z. Y, I% N7 d
51         OUTPUT("[%s|%s@%s,%d] " format "\n", "ERROR", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
3 S1 m% j3 V& W/ j, ^( W 52     } while (0). L9 X; p& j  O# e9 V5 K
53
# C5 ]6 h8 T- q 54 #define LOG_DEBUG(format, ...)     \
1 X, S( M8 @0 Y2 i 55     do {                           \6 ^6 v4 H+ E; J1 g* l0 U/ ^1 }+ L
56         OUTPUT("[%s|%s@%s,%d] " format "\n", "DEBUG", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \- l( f) M. F4 P% J' \7 ]
57     } while (0)
( d4 }" e5 Y6 \) Y6 ~3 N* H. t 58
4 _& ]% N! `# D; @: \$ U 59 #define LOG_WARN(format, ...)      \
) a' O9 x5 l% m/ [ 60     do {                           \0 @- }' W# F/ E$ y
61         OUTPUT("[%s|%s@%s,%d] " format "\n", "WRAN ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
/ u( l  z% R8 d& [- L 62     } while (0)- T  K1 N% w0 H$ r4 C0 l9 ?5 M, j( r( W
63
! ]% _, F9 j7 S8 t 64 #define LOG_TRACE(format, ...)     \& a- D# ^( N% o1 T; k5 g- ~6 U
65     do {                           \) e5 i' @0 F8 A5 ~9 m( F. K& w6 `% {5 d
66         OUTPUT("[%s|%s@%s,%d] " format "\n", "TRACE", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \  |% j4 U" @! R* t4 Q& X
67     } while (0)
5 `4 `% s1 i( \: f 68 # y1 o. X0 R1 V" G' ?! \
69 #define LOG_FATAL(format, ...)     \
0 x9 o1 l" e6 S. H" z 70     do {                           \0 L' t% }  D  S. I- b+ Z6 x8 |
71         OUTPUT("[%s|%s@%s,%d] " format "\n", "FATAL", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
' p# L# {" j6 E4 D; F3 V 72         exit(1);                   \, [3 H/ m$ r4 d# C
73     } while (0)
4 p. B0 V% @* _6 s 74
2 x: u  `3 ^8 a9 F( q; J 75 /* Assert */
5 N- z. r6 u4 ~( T- u0 }* u5 ^, N, G6 X 76 #define ASSERT(EXP)                \
- S. R3 s% {) m" N 77     do{                            \
0 I, c3 e7 I  H5 p/ B. { 78         if (!(EXP)) {              \
- n: p. x* E% f" ^ 79             OUTPUT("[%s@%s,%d] ASSERT: " #EXP "\n", __func__, __FILE__, __LINE__ );                  \
" L: s; i  d. h' N 80             exit(1);               \9 M7 R: [3 Z& t6 v
81         }                          \
! w" Y2 K: X" V, D* N' b& B% } 82     } while(0): p1 j% q6 E( f* @. _
83
& Y* J4 m5 r# ?9 t 84 #endif; N4 c* b0 V4 B. o
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
板凳
发表于 2014-12-4 14:03:10 | 只看该作者
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏! W; ]5 c) \) V/ N0 T6 a
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
地板
 楼主| 发表于 2014-12-4 15:21:54 | 只看该作者
tenny 发表于 2014-12-4 14:03
% `2 W; L9 k; d+ j* C7 U$ C修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏

9 H' v: w. b$ }1 h+ M6 g/ L) K你好,是arm这一端的app9 W. V+ ?3 G, t2 ]) O
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
5#
 楼主| 发表于 2014-12-4 15:40:21 | 只看该作者
tenny 发表于 2014-12-4 14:03) j: \" U" K* Q, K) f  `# ^/ d( j
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏

) m/ A4 ?( ^0 o+ S你好,你是不是将host/app下的log.h和dsp/driver下的log.h和到一块啦,怎么说下你的思路
3 k' S- F/ E( t; A3 v5 W
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
6#
发表于 2014-12-4 15:59:03 | 只看该作者
arm 端的 log 并没有用到 uart15 L/ P/ H6 I, F7 S4 ^' ]
dsp 端的 log 才使用了 uart14 e% j4 v& C0 V- O
所以,你需要也只需要修改的是 dsp 子工程的 log.h(新版本的代码 是在 dsp/app/log.h,旧的是在 dsp/driver/log.h)0 ]1 |: D  Y& r$ \
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
7#
 楼主| 发表于 2014-12-4 17:19:24 | 只看该作者
tenny 发表于 2014-12-4 15:59
) {( Y( @. F3 }' C& ?9 q. varm 端的 log 并没有用到 uart1: a5 z( ~- m1 r+ @$ A3 d
dsp 端的 log 才使用了 uart18 c$ n: @" Y! `
所以,你需要也只需要修改的是 dsp 子工程的  ...
3 h0 M. s7 {) c
那我是不是将你贴出的那段代码,替换DSP/driver下的log.h就可以是吧,3 C  R% U: B5 d3 r$ p2 n
然后将#define OUTPUT_TO_UART1 1 换成* V1 m1 }& k) Y$ @( }0 p
#define OUTPUT_TO_UART1 0# z/ a' E% p& {. l- g( S& B4 W' x
  是不是这样0 f5 B& A' f% ~7 D
+ F" u+ `+ }2 E+ o0 _0 q
" t# X* p! P. T  T

  j: A" {( }9 C; A2 j/ S1 o' o
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
8#
发表于 2014-12-5 09:25:09 | 只看该作者
$ q5 a. D. A1 a1 E; S
回复

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2026-1-15 11:17 , Processed in 0.047855 second(s), 26 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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