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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
跳转到指定楼层
楼主
发表于 2014-12-4 11:08:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
你好我现在用的你们的omapl138开发板,跑的双核通信的程序,我现在需要通过串口一向外部发信息,但是串口一被DSP占用了,我怎样才能解除DSP占用呢
3 [  }% c' ~& A; p' |5 l5 _- Q, ^# Q4 u6 G7 U" K; _$ Q4 |
9 g$ W& a3 E9 j5 Y2 R0 P! y
谢谢
- [* U# q& J/ J) Q  f4 L! O) [+ O2 M8 K3 \2 J! z, @
! N! J: }4 D+ `" b7 r
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
沙发
发表于 2014-12-4 14:01:26 | 只看该作者
  1 #ifndef _LOG_H_1 E- ~" i/ E% [0 {! F: u2 U! J1 k
  2 #define _LOG_H_
! e3 Y+ ?6 i* {8 g  3
& \, A) n" Y% O3 T, f  4 /* 0: printf; 1: UART1 */
& P- U8 _) @+ D( T4 F2 d+ B  5 #define OUTPUT_TO_UART1 1' ?7 x+ C9 K' E5 _  o- u; m
  6 - L/ ~2 E5 a1 M" ~
  7 /* Switch Log Output */
9 j! `9 {6 L1 A  8 #if OUTPUT_TO_UART19 G$ x( Z1 z2 ^; T; ]
  9     /* For UART1 Initial */
/ }4 T" [( [. Y 10     #include <stdlib.h>
9 }( |* T3 K8 O3 C8 ?( D4 S 11     #include "hw_types.h"  
# S" q+ z2 w; h5 W2 ]1 r 12     #include "hw_syscfg0_C6748.h"
2 X+ R0 H! p, Z9 ^+ ]4 U7 U 13     #include "soc_C6748.h"9 k0 T0 X! l. g" `" ~' `
14     #include "psc.h"               $ C- L- L, |& b& }  O6 D5 v
15     #include "gpio.h"               , ~0 B7 b/ S) [9 n% L
16     #include "uart.h"* j+ I9 G4 g. m( A7 E* H! ^: {
17     #include "uartStdio.h"
/ Q- e+ e& R$ u" w- ^6 R 18
$ i+ O& J* J4 | 19     #define OUTPUT UARTprintf9 |1 C6 ~! q2 X0 V: [
20 #else
2 U9 v' S2 b* b# ]4 e( K 21     #include <stdio.h>
/ Y3 q* ?* O5 o. [3 ?0 i3 O- b7 V. I1 Q 22     #include <stdbool.h>
/ S: @1 B1 E- P  V  T 23
: p% _$ O/ @/ m/ y& [ 24     #define OUTPUT printf
! a' h; G- M0 r" L* a; Q! B 25 #endif, \1 o2 p( h; U* Z+ T0 |$ g+ X
26
' T3 L+ N! S* g$ M 27 /* Log init */* E9 P1 k8 k; |, @' A+ P$ p: @
28 #if OUTPUT_TO_UART1
' v5 q9 G; \8 y* O! E, U7 H 29     #define LOG_INIT() do {                                     \
$ p) Z, U2 _4 T3 M5 Z4 T+ A 30         PSCModuleControl(SOC_PSC_1_REGS, HW_PSC_GPIO,           \  A4 ?; [2 l4 M
31                          PSC_POWERDOMAIN_ALWAYS_ON,             \! [& W& |" V% p" o1 I; G; G1 N& W
32                          PSC_MDCTL_NEXT_ENABLE);                \
( f3 b0 _/ w, H' g! P9 b 33         GPIOBank6Pin12PinMuxSetup();                            \6 m% t0 o5 }2 }7 L$ I( d
34         GPIOBank6Pin13PinMuxSetup();                            \+ r) T' v& l% b8 `
35         GPIODirModeSet(SOC_GPIO_0_REGS, 109, GPIO_DIR_OUTPUT);  \! S/ @! T# v. }7 z
36         GPIODirModeSet(SOC_GPIO_0_REGS, 110, GPIO_DIR_OUTPUT);  \
8 r/ B: X- D% v. s 37         UARTStdioInit();                                        \4 H6 }* c" j1 W' ?7 X3 q2 G
38     } while (0)
" h& {7 k7 d' j6 Q1 D 39 #else
5 V7 R6 I/ ~9 |, F, @1 t6 b 40     #define LOG_INIT() do { } while (0): U2 o- }( Q6 D: Y$ }9 R
41 #endif0 N& Y+ R6 Q0 e- u/ N' t
42
6 E5 ~! g: L9 s; b& ]- v 43 /* Log Output */
. Z, ^( {5 w4 n; B9 j 44 #define LOG_INFO(format, ...)      \
: y/ _! \( V0 ~ 45     do {                           \
. {! t! Y+ V  ^$ d 46         OUTPUT("[%s|%s@%s,%d] " format "\n", "INFO ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
6 A, d: Q# A0 I 47     } while (0)
5 n# p0 U( J7 V9 r7 t 48 0 C" o+ R! ?* _4 g
49 #define LOG_ERROR(format, ...)     \
% v* H' ]3 F* m* ^  [, e8 }$ s: Q 50     do {                           \+ j% B7 o* i4 o* K: B$ e* P8 V
51         OUTPUT("[%s|%s@%s,%d] " format "\n", "ERROR", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
1 R9 R2 l+ Y! ]) F: U+ E 52     } while (0)7 T7 N! v; ]6 v. p8 g0 o( X
53   z$ v( t$ j# A8 g. g4 K7 A
54 #define LOG_DEBUG(format, ...)     \7 A) m, q; K% X  C1 {# S- ^/ n( q
55     do {                           \: c" j9 ^( h2 p
56         OUTPUT("[%s|%s@%s,%d] " format "\n", "DEBUG", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \9 X$ @4 ~  }6 k# N- @: k% r+ i, C
57     } while (0)0 @( I- k5 u, `2 }
58
5 a+ ]; v- \- t9 W4 _ 59 #define LOG_WARN(format, ...)      \
# u7 J$ ]# f; q/ W( D9 k1 s 60     do {                           \
8 a. L. Q) f) U 61         OUTPUT("[%s|%s@%s,%d] " format "\n", "WRAN ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
$ E$ V& `" `9 ~6 g* N$ }+ i: c9 R 62     } while (0)
+ q, Z* @  r! U, S, D 63 $ u7 G# p; q3 l, g% {
64 #define LOG_TRACE(format, ...)     \" h: g, M5 p! o6 s
65     do {                           \; a0 w, Q! L" ^* y
66         OUTPUT("[%s|%s@%s,%d] " format "\n", "TRACE", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \/ @: G8 _: D4 E2 i5 [# g  g
67     } while (0)
" A$ D% D. _# E! j 68
: n: x0 \" Y7 O* G2 X2 u0 ~% \$ e 69 #define LOG_FATAL(format, ...)     \
- Z( D* Q% m  h 70     do {                           \) C8 M& B: M4 h0 o
71         OUTPUT("[%s|%s@%s,%d] " format "\n", "FATAL", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
$ p5 }0 [9 h/ a 72         exit(1);                   \4 L" w& q4 B5 H0 B/ K
73     } while (0)7 @6 g" L: @" f/ B8 T& X. d5 K
74
* D2 V/ S: }% [- ~  F+ w 75 /* Assert */& O4 ]0 ^  s  k2 o. s( ?; P$ l
76 #define ASSERT(EXP)                \; c) Z4 e5 n; `2 J! j
77     do{                            \
. S  t  I8 x9 { 78         if (!(EXP)) {              \# ~2 L4 J+ P/ Q
79             OUTPUT("[%s@%s,%d] ASSERT: " #EXP "\n", __func__, __FILE__, __LINE__ );                  \  d& _, g9 R/ ]2 J. ]) h
80             exit(1);               \
" \4 `. o5 Y+ W$ m! p5 Y9 B. J; W 81         }                          \
, N& H) B# H/ P, K2 z4 O  D" j7 g9 C9 n  f 82     } while(0)
. Y; z1 S( q3 p  ~7 F 83 ! n+ T, Y: q" L1 L3 h9 Z0 i" o
84 #endif% x& ^* i8 O: O7 p
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
板凳
发表于 2014-12-4 14:03:10 | 只看该作者
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏
7 g! j) L- s# F' e8 b5 Y' M
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
地板
 楼主| 发表于 2014-12-4 15:21:54 | 只看该作者
tenny 发表于 2014-12-4 14:03) k2 c3 Z1 _6 f  ]4 E/ k& q
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏

% r+ O' ]+ X4 i0 R9 a8 V你好,是arm这一端的app" i# Y5 f2 ~8 F2 P
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
5#
 楼主| 发表于 2014-12-4 15:40:21 | 只看该作者
tenny 发表于 2014-12-4 14:03
1 j6 O) h6 _; t9 e1 K8 [修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏
+ \1 G) c5 z. D
你好,你是不是将host/app下的log.h和dsp/driver下的log.h和到一块啦,怎么说下你的思路, ?# o8 _- z/ r& N4 G' X# d3 [$ r8 p0 z
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
6#
发表于 2014-12-4 15:59:03 | 只看该作者
arm 端的 log 并没有用到 uart1
5 W' _- S9 D8 O, P( `2 _2 \' k0 `dsp 端的 log 才使用了 uart1( W, U7 O6 ~$ q6 A9 m0 r4 a. y: U
所以,你需要也只需要修改的是 dsp 子工程的 log.h(新版本的代码 是在 dsp/app/log.h,旧的是在 dsp/driver/log.h)# [/ \; r" D' O; a/ Y) `
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
7#
 楼主| 发表于 2014-12-4 17:19:24 | 只看该作者
tenny 发表于 2014-12-4 15:59
- ?0 X( u+ t  a  Z8 K/ M" E+ oarm 端的 log 并没有用到 uart17 p8 E$ w6 o& K3 E0 X
dsp 端的 log 才使用了 uart1  F+ a1 Z' x7 e, c1 t& Y$ ?: s
所以,你需要也只需要修改的是 dsp 子工程的  ...

( ^1 [$ Q+ p* x, b那我是不是将你贴出的那段代码,替换DSP/driver下的log.h就可以是吧,: ?- h$ G$ n# ?( Y
然后将#define OUTPUT_TO_UART1 1 换成
+ k6 {' C. Q9 i" O. N#define OUTPUT_TO_UART1 0
: k' \) @4 P7 p2 L; e* x# }$ ]  是不是这样" y8 Q/ T2 \- C' U

: E) i0 V0 i' f& }4 H* A; j# S* H- ^8 }2 T

. J( g. x3 K3 G/ _3 ~
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

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

# u3 g3 w: a) r1 W( O2 E$ }, i
回复

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2026-4-8 01:16 , Processed in 0.047231 second(s), 27 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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