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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
跳转到指定楼层
楼主
发表于 2014-12-4 11:08:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
你好我现在用的你们的omapl138开发板,跑的双核通信的程序,我现在需要通过串口一向外部发信息,但是串口一被DSP占用了,我怎样才能解除DSP占用呢
4 U1 K: Q! I4 M
# j* I  t# h6 E' S2 W! e: u; X! {, p) P6 n! K; |* l) \3 l% j
谢谢
4 [/ a9 K7 q  r6 N
' t' [6 W2 Y% g- c. X. ~/ ?9 ^5 _" G- C4 b" L' _
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
沙发
发表于 2014-12-4 14:01:26 | 只看该作者
  1 #ifndef _LOG_H_
$ v; {8 N3 P  x" J: Q1 c  2 #define _LOG_H_
  J3 [3 ~3 n! w  d  3 $ V7 Z% Z* T7 _9 z( z
  4 /* 0: printf; 1: UART1 */
% P) H, @1 T( g2 I9 p" I& y0 j  5 #define OUTPUT_TO_UART1 1
0 r1 m$ v/ l6 w, U) P
  6 + t, G1 D2 n  p( e
  7 /* Switch Log Output */( g: ^* k% M1 Z! y$ _
  8 #if OUTPUT_TO_UART1  F" f4 R8 _# M# s& ]
  9     /* For UART1 Initial */
( H* Z1 j  u' O7 @4 o# h) ?# U 10     #include <stdlib.h>
- Y! Z$ N& v3 ?7 h" a3 i- U+ z 11     #include "hw_types.h"  
4 ~: q5 O' X$ f$ k7 d 12     #include "hw_syscfg0_C6748.h"
& Z: E, Y: M% V6 W* F" K 13     #include "soc_C6748.h"8 i, t; b: w- \" F# x* v- D. N
14     #include "psc.h"               5 b9 C% C# }3 k3 X. m9 `+ w4 @; \2 @
15     #include "gpio.h"               
& N0 x# f" q/ `! D& b! j 16     #include "uart.h"/ L8 D2 `- X" K& G  A
17     #include "uartStdio.h"
! y, ^) k- Z6 K- C! d! c9 e% K$ {: ? 18   h* N2 H, Y: O, f' Q0 A
19     #define OUTPUT UARTprintf
! Y+ }2 o1 _% A. O% g 20 #else% l; m( |; F$ k- H
21     #include <stdio.h>' K1 L5 u& F/ G8 ?) m
22     #include <stdbool.h>" m# E& c1 _" ~/ o. V/ q( L
23
: p0 A6 }" y3 t6 T3 O 24     #define OUTPUT printf
) y- v' p" \! _3 w* G+ ~+ t# t& x 25 #endif* [' C# N  a6 o
26
% S+ N) |: }* }' w 27 /* Log init */3 {- I- F2 z- Q5 g! m' R
28 #if OUTPUT_TO_UART1
# h8 f  I: e% Z1 e 29     #define LOG_INIT() do {                                     \
+ i" ?: y# x2 w 30         PSCModuleControl(SOC_PSC_1_REGS, HW_PSC_GPIO,           \: h4 E- [. Q; E6 T! N7 \% w! l( m% ^5 X
31                          PSC_POWERDOMAIN_ALWAYS_ON,             \( r  u2 T  z# I7 I0 D9 A
32                          PSC_MDCTL_NEXT_ENABLE);                \
3 i  J9 X' [5 g 33         GPIOBank6Pin12PinMuxSetup();                            \- \& H0 `! X8 X! d4 h% @  u/ B& ?
34         GPIOBank6Pin13PinMuxSetup();                            \! {8 v% P1 p4 Z. R4 l+ B
35         GPIODirModeSet(SOC_GPIO_0_REGS, 109, GPIO_DIR_OUTPUT);  \7 a/ u9 ?  w: U2 Y& R+ k7 {
36         GPIODirModeSet(SOC_GPIO_0_REGS, 110, GPIO_DIR_OUTPUT);  \( `; K% S1 A4 _8 N4 m
37         UARTStdioInit();                                        \
- t- g, X( ]7 a& o6 u/ e  G 38     } while (0), t1 \# G/ w' l# y/ `
39 #else: u- L1 Z" j* l) t0 f: x; ]; z
40     #define LOG_INIT() do { } while (0)7 {' q. ^3 u; n3 e9 z6 p3 j) A
41 #endif
% l: ?5 e5 R: [ 42 - I) _/ ~5 k, ?  M9 N3 w5 H
43 /* Log Output */
; r# L# N2 h6 v 44 #define LOG_INFO(format, ...)      \
/ w8 [. e0 F7 D- B 45     do {                           \
: d( `/ Q" g0 e# Q 46         OUTPUT("[%s|%s@%s,%d] " format "\n", "INFO ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
5 v" W0 }+ T$ Z1 i4 f1 C3 T  N 47     } while (0)
; r. H; Q" h( z9 C7 p1 h 48 : B  _' G, l+ T
49 #define LOG_ERROR(format, ...)     \7 W* ^& h. d' L1 Z5 l
50     do {                           \1 r% P1 w5 a4 {4 ~
51         OUTPUT("[%s|%s@%s,%d] " format "\n", "ERROR", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \2 u  G) P+ i1 b* D
52     } while (0)& y# n3 S% U& S* M
53
' w" J- ], J! A  f 54 #define LOG_DEBUG(format, ...)     \6 q! T' {- w' l. w3 [8 D
55     do {                           \
# a- @- r" ?1 c 56         OUTPUT("[%s|%s@%s,%d] " format "\n", "DEBUG", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
0 P" K) Q+ B+ Y6 f- P+ d6 A. s 57     } while (0)
3 z: }( f2 u) E/ m 58 ; B* J! I: ]" i$ O5 J3 @; X
59 #define LOG_WARN(format, ...)      \
3 g# T% a5 P% N/ _ 60     do {                           \; C3 L9 H8 v6 |
61         OUTPUT("[%s|%s@%s,%d] " format "\n", "WRAN ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
& f9 B4 A. b: x6 E- \5 m$ x 62     } while (0)
, w4 `3 C! x6 T7 W8 [  V( I+ x 63
. l+ ?2 H. C1 E- \9 S; B% D( J 64 #define LOG_TRACE(format, ...)     \
- {0 P* v& l. }7 e5 l0 H 65     do {                           \9 x+ a7 w! [# }, T  x
66         OUTPUT("[%s|%s@%s,%d] " format "\n", "TRACE", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \* v+ d( b- X/ C) c9 C3 M* @
67     } while (0)& e; L, S) U  ?
68
0 O" b7 L# b( ^5 D0 x 69 #define LOG_FATAL(format, ...)     \, N2 y$ ^1 c; {/ u# U
70     do {                           \
) D8 o/ P5 ]  M) u: S 71         OUTPUT("[%s|%s@%s,%d] " format "\n", "FATAL", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \/ i9 R& e: T0 J" U2 o* W3 M
72         exit(1);                   \
3 ~6 Q, v. [* Q- T 73     } while (0); R0 O0 F0 k% H+ t4 B5 O
74 * E+ r+ U  ?8 H3 Z  W
75 /* Assert */
8 o4 _+ [, q/ ^ 76 #define ASSERT(EXP)                \  y5 v+ `/ T" w
77     do{                            \: D0 S: r# L4 Y8 k
78         if (!(EXP)) {              \/ Q1 ]" }$ ]" b# U: W
79             OUTPUT("[%s@%s,%d] ASSERT: " #EXP "\n", __func__, __FILE__, __LINE__ );                  \
4 Y% R' t4 \; I7 n. e( M 80             exit(1);               \7 L" F1 T8 _; _& m1 k! _
81         }                          \+ `# R+ |$ g7 A9 y
82     } while(0)
8 ?7 x6 U) f1 V+ W; }4 I2 X# V% o 83 1 T7 s' M; q# K, N0 \1 C) [2 }& M
84 #endif/ ~" u/ z: a5 ~
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
板凳
发表于 2014-12-4 14:03:10 | 只看该作者
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏
: G; f4 j5 B( F
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
地板
 楼主| 发表于 2014-12-4 15:21:54 | 只看该作者
tenny 发表于 2014-12-4 14:03% h: n, N( s6 H8 X2 n  S/ ], V6 N
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏

2 R: s) f. V! C* q你好,是arm这一端的app
* f% E# s: v. S# U1 f
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
5#
 楼主| 发表于 2014-12-4 15:40:21 | 只看该作者
tenny 发表于 2014-12-4 14:03
. k7 L" j3 t% I, T2 E+ M7 G修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏
. b% J' r: ?( @1 D
你好,你是不是将host/app下的log.h和dsp/driver下的log.h和到一块啦,怎么说下你的思路
2 m" z2 ?0 }! |: s
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
6#
发表于 2014-12-4 15:59:03 | 只看该作者
arm 端的 log 并没有用到 uart1! J( |7 W6 h. Z) L& ?) O
dsp 端的 log 才使用了 uart1; f# n! I; O' B* ?: g
所以,你需要也只需要修改的是 dsp 子工程的 log.h(新版本的代码 是在 dsp/app/log.h,旧的是在 dsp/driver/log.h)
* z7 l) {* b( \$ Q
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
7#
 楼主| 发表于 2014-12-4 17:19:24 | 只看该作者
tenny 发表于 2014-12-4 15:59: f5 J! X$ {( X( Z- ]
arm 端的 log 并没有用到 uart18 B2 h9 @& s' n6 `
dsp 端的 log 才使用了 uart1
' Z4 W8 d8 s7 Y: L- l2 g3 A: q所以,你需要也只需要修改的是 dsp 子工程的  ...
5 _( ~# `6 o! R! M% T5 ?
那我是不是将你贴出的那段代码,替换DSP/driver下的log.h就可以是吧,
. j" F$ |9 r! T3 r% h: U! F& D; W然后将#define OUTPUT_TO_UART1 1 换成1 n' |* |0 c3 J$ S$ R
#define OUTPUT_TO_UART1 0
! y  `) {7 h: \) a/ r  是不是这样
8 l  {3 s6 Z. ?5 i2 ^$ S
9 b3 O7 V9 z$ v% l" o$ \
5 h5 W, ^1 d5 W5 \4 [; I& z+ @' \9 `( j
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

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

$ f! t5 H9 ]# a/ O
回复

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2026-1-18 12:23 , Processed in 0.043097 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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