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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

8

主题

30

帖子

150

积分

注册会员

Rank: 2

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

" Q8 q( G4 c1 o& s0 z4 Z8 ~4 H+ j
% D) D1 s% ?- i; _* E! [谢谢2 A1 Y$ z0 v! c( N
! E; D* O6 x. w$ }1 m
. d4 _7 [' r" A; E! R
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
沙发
发表于 2014-12-4 14:01:26 | 只看该作者
  1 #ifndef _LOG_H_
/ H8 [) {, q$ u, ]+ I1 X  2 #define _LOG_H_" [+ s% r9 H. j9 _! M
  3 ! |, Q6 |1 A) J
  4 /* 0: printf; 1: UART1 */( m2 a" |1 F, e+ G* l
  5 #define OUTPUT_TO_UART1 1
2 b* o/ h$ g3 {( y3 [
  6   d9 O3 O; Z- E( x0 K  r6 |# `  {
  7 /* Switch Log Output */
. g1 q6 s( u4 l! }& w  8 #if OUTPUT_TO_UART1
+ ]/ c( Q$ J4 T3 J) l  9     /* For UART1 Initial */
+ s) k% V' D1 X 10     #include <stdlib.h>* b! O& j0 |- O, n6 U6 Q
11     #include "hw_types.h"  
3 j* i4 _# P5 [% b 12     #include "hw_syscfg0_C6748.h"; N6 f5 V- [# C2 B* P
13     #include "soc_C6748.h"
4 n" T* i4 l  q- |4 x 14     #include "psc.h"               2 L7 ^. [; T" R
15     #include "gpio.h"               " U: {7 d  \) M3 R& K& [/ r
16     #include "uart.h"% G, {" n2 L- x: o7 v# i
17     #include "uartStdio.h"" O% B/ _5 ]/ s/ ^
18 8 F! I, D2 {# F
19     #define OUTPUT UARTprintf
) ~/ T+ C. v3 `& ^3 w- x" P, P 20 #else
5 w5 ^7 \4 ^  `/ l9 e5 b8 e4 F, f 21     #include <stdio.h>
8 b5 b* U  e8 M3 h# k* k+ ~ 22     #include <stdbool.h>8 C* p  F% q+ n; h9 W
23 / A/ \3 R( X% u6 g- ^. _0 V( y+ X4 z
24     #define OUTPUT printf: O" a1 D. Q) K) V
25 #endif7 r6 u2 f4 W* H6 ]4 V( [  ~8 [; J! O* K
26
. R1 ]2 x7 T: T" W 27 /* Log init */3 F0 G+ p* e" R! X
28 #if OUTPUT_TO_UART1# u$ p) F* G  k( C( ?! c; }+ y
29     #define LOG_INIT() do {                                     \( Z+ z, z, l" c" G9 X, |
30         PSCModuleControl(SOC_PSC_1_REGS, HW_PSC_GPIO,           \8 N- v2 u8 O: t% d& r2 u6 e
31                          PSC_POWERDOMAIN_ALWAYS_ON,             \) k6 H# b( s( Y, b; t6 h
32                          PSC_MDCTL_NEXT_ENABLE);                \0 `4 |7 n  F8 e' h& c$ [% x0 y
33         GPIOBank6Pin12PinMuxSetup();                            \
* k) N/ U; Z  v7 M! K 34         GPIOBank6Pin13PinMuxSetup();                            \4 n( ]4 K8 ~! W8 ]# [& M9 v6 B
35         GPIODirModeSet(SOC_GPIO_0_REGS, 109, GPIO_DIR_OUTPUT);  \0 I! z4 b1 l" c; @' F: D
36         GPIODirModeSet(SOC_GPIO_0_REGS, 110, GPIO_DIR_OUTPUT);  \/ A& W/ O$ L: N( T6 [
37         UARTStdioInit();                                        \% z+ Q3 A& t, X1 e5 I7 d0 Y3 q  R
38     } while (0)* V% L- j% Q6 w- }+ {& R: w& o) Y
39 #else7 C$ ~* J% M' f1 r/ A: [
40     #define LOG_INIT() do { } while (0)" M+ O* k. _0 L# a5 B) o2 t
41 #endif( I) I  ~1 p! q
42 ; {' a$ j9 x( o' H; U
43 /* Log Output */
9 p9 ]! q+ ^* G5 N 44 #define LOG_INFO(format, ...)      \! o4 a* N7 x) x5 d! d! r
45     do {                           \
/ B3 K) K9 M1 g: c* `- Y 46         OUTPUT("[%s|%s@%s,%d] " format "\n", "INFO ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
" i$ d5 Q: r/ Q# m; B 47     } while (0)+ E7 Y9 [. l1 {
48
6 [; _  U- H. { 49 #define LOG_ERROR(format, ...)     \
  t, h. K8 {$ ^, W0 U 50     do {                           \
- b% t# u8 f2 L) i 51         OUTPUT("[%s|%s@%s,%d] " format "\n", "ERROR", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \9 P) X* P0 S' U6 t
52     } while (0)
3 r; p; ^' L3 U: E- B8 ^' { 53 . Y" ?% ]6 w$ z' g+ `; C9 w
54 #define LOG_DEBUG(format, ...)     \7 Y1 }+ G) ]4 |8 x' V
55     do {                           \
3 t7 L; g, n4 { 56         OUTPUT("[%s|%s@%s,%d] " format "\n", "DEBUG", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \2 k* x* H, N! y: F( L
57     } while (0)
+ L' c' i' z# [: C" f' i, X 58   h# e1 H  R- N" f
59 #define LOG_WARN(format, ...)      \
) m' B2 F2 K# q 60     do {                           \* F! `/ e; A1 X1 l1 ~7 Q- @4 Z
61         OUTPUT("[%s|%s@%s,%d] " format "\n", "WRAN ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
4 D+ D: y- [1 V' ^ 62     } while (0)1 o( P/ Q2 |7 J3 H
63 * l7 \6 b4 s1 }; g3 t
64 #define LOG_TRACE(format, ...)     \3 J+ ~; O1 F3 n! Y6 K
65     do {                           \1 U* X8 A% ^7 V/ r1 P
66         OUTPUT("[%s|%s@%s,%d] " format "\n", "TRACE", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \* w9 m5 o$ I: F& ^3 z5 r, z9 P
67     } while (0)
3 T; C0 j8 r! u6 G( }0 C6 h 68   P0 z* G  r0 G: S" Q/ ?
69 #define LOG_FATAL(format, ...)     \6 D* U* e; i$ j
70     do {                           \
( [5 m1 I! U. r, `8 @. F 71         OUTPUT("[%s|%s@%s,%d] " format "\n", "FATAL", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \# t4 f5 t; s. i4 _1 H* I
72         exit(1);                   \
$ O; n6 \7 f, O* h" O4 z 73     } while (0)5 m" |3 w8 [; D( N& a: C$ Q) U' ^
74
( `# w8 b& u% x 75 /* Assert */- ~: m  b) S: [! p5 K
76 #define ASSERT(EXP)                \  L- x+ G. }, E( C4 Q  e
77     do{                            \
/ D" [3 x! A: l4 M9 r* D! v- D8 C0 G 78         if (!(EXP)) {              \
' h3 Z9 e) o* M; V 79             OUTPUT("[%s@%s,%d] ASSERT: " #EXP "\n", __func__, __FILE__, __LINE__ );                  \
4 c& T! s/ x/ e+ U! k0 O5 M 80             exit(1);               \- u0 ]0 }7 C8 |5 i8 c3 ^
81         }                          \- q( J5 o* K8 I7 j
82     } while(0)
) {* {( E% ^5 }) }6 X 83
7 B! b7 [1 I  s1 u+ J$ V 84 #endif
+ P+ V% e4 V- j; `+ i% g
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
板凳
发表于 2014-12-4 14:03:10 | 只看该作者
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏2 v; I/ s6 I# V) T8 t7 N. d) t
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
地板
 楼主| 发表于 2014-12-4 15:21:54 | 只看该作者
tenny 发表于 2014-12-4 14:03
% y, g) w9 d% ]8 W3 X% Z* W" E$ h修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏
2 A9 u1 U7 h2 s  p& ^
你好,是arm这一端的app. c, @8 G, e6 A) ]1 n( p
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
5#
 楼主| 发表于 2014-12-4 15:40:21 | 只看该作者
tenny 发表于 2014-12-4 14:03; R/ c/ ]- ]) `/ f3 ]
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏
( s( S" Y$ |( n, s
你好,你是不是将host/app下的log.h和dsp/driver下的log.h和到一块啦,怎么说下你的思路
) _/ {5 Q" }* W0 A+ S
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
6#
发表于 2014-12-4 15:59:03 | 只看该作者
arm 端的 log 并没有用到 uart1! E7 l" s; D/ J
dsp 端的 log 才使用了 uart1( S) l7 ?' z6 _
所以,你需要也只需要修改的是 dsp 子工程的 log.h(新版本的代码 是在 dsp/app/log.h,旧的是在 dsp/driver/log.h)2 a: |5 @  S' B
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
7#
 楼主| 发表于 2014-12-4 17:19:24 | 只看该作者
tenny 发表于 2014-12-4 15:59
* p3 h: i) n2 c. ], p' Qarm 端的 log 并没有用到 uart1
: K  x( a' J0 ydsp 端的 log 才使用了 uart1
! Z% a) |$ f' Q/ B. u$ \所以,你需要也只需要修改的是 dsp 子工程的  ...
; p8 W/ Y! @7 W3 t8 |$ z8 y
那我是不是将你贴出的那段代码,替换DSP/driver下的log.h就可以是吧,9 M0 Y! q9 F* U; @' ~* H3 ~6 [
然后将#define OUTPUT_TO_UART1 1 换成
' S9 Z8 V! L$ V#define OUTPUT_TO_UART1 0
  L  F3 ~. ]' q* Z  是不是这样9 |; C+ O5 a5 s, Z8 o
3 l& k2 |" [6 z6 p8 i/ m% [

0 m3 N* N7 l" [, Z; u$ s7 {7 w6 |  P2 [" k7 X: B: K
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
8#
发表于 2014-12-5 09:25:09 | 只看该作者
6 S% l* |7 U8 k4 }5 r
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-10-31 08:19 , Processed in 0.043296 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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