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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
跳转到指定楼层
楼主
发表于 2014-12-4 11:08:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
你好我现在用的你们的omapl138开发板,跑的双核通信的程序,我现在需要通过串口一向外部发信息,但是串口一被DSP占用了,我怎样才能解除DSP占用呢; E8 u7 |# c4 o. R4 d7 p
! P! p$ W+ C' Q2 ]- @
: F, R/ @! G$ W
谢谢
+ S2 D1 c- B* s" w( U- e, f( s. ~3 d: Q$ E) W. ~5 @. V

6 u7 D! W8 v3 w; a( W8 S
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
沙发
发表于 2014-12-4 14:01:26 | 只看该作者
  1 #ifndef _LOG_H_
& \/ p+ N' H' i* D. d  2 #define _LOG_H_: D1 X* E5 O- u1 X- `, u* C6 n/ k  u
  3   {# c* X0 l! o
  4 /* 0: printf; 1: UART1 */
* s+ P- f# ^6 b  5 #define OUTPUT_TO_UART1 1
, c5 }6 ~5 h/ q5 M' r
  6
' ?& N' A2 Q3 N  7 /* Switch Log Output */; z6 O0 ]9 Y% y/ q+ X* o  \
  8 #if OUTPUT_TO_UART1) @0 V0 k& o0 I, v$ \
  9     /* For UART1 Initial */3 f8 u$ V" a" S! C# ~6 I) ~% }' G
10     #include <stdlib.h>, [+ c' j* Q! x0 W: V" m2 R9 s" g
11     #include "hw_types.h"  8 ], }  Y6 i# X
12     #include "hw_syscfg0_C6748.h"" `$ d: L5 b3 ]. ]
13     #include "soc_C6748.h"4 K3 c8 F, R/ x5 _. v" t' q
14     #include "psc.h"               : P  |5 W5 z" {# j% H9 n
15     #include "gpio.h"               4 y1 Q6 i& O4 {/ v7 ]6 C
16     #include "uart.h"
8 [' J* r+ i# i8 a+ F; t' T 17     #include "uartStdio.h"
! w# E; c( c  r+ H1 k 18 ' G# o  N$ o+ f; Z- w% ~) f7 F/ ~
19     #define OUTPUT UARTprintf
  U# }0 I- ^6 K( c5 ?0 N* G9 S2 r 20 #else
/ E4 s9 H$ |$ y) p$ u 21     #include <stdio.h>; e# x$ @/ C. v3 _
22     #include <stdbool.h>
( }+ h. L& f% M' j 23
  F6 @, B$ m2 U6 T7 v! A8 k 24     #define OUTPUT printf" `0 ?) P- t# j. x$ i  Q6 T0 x
25 #endif
; O8 g/ x6 m9 i  q& y 26 4 V' y$ i  f. N; F  ]  V- G+ M
27 /* Log init */
1 v) q% H' I1 S+ K- e0 s1 a( A; r 28 #if OUTPUT_TO_UART1
' E7 q, b4 y3 e2 V* n 29     #define LOG_INIT() do {                                     \3 g; \& ~: f4 K* m
30         PSCModuleControl(SOC_PSC_1_REGS, HW_PSC_GPIO,           \
% b. T# A$ E) j, M 31                          PSC_POWERDOMAIN_ALWAYS_ON,             \
& V0 o" F# ^% p5 g7 o' b- U' p 32                          PSC_MDCTL_NEXT_ENABLE);                \
6 B8 H: A9 s( p) [7 P+ m 33         GPIOBank6Pin12PinMuxSetup();                            \1 F; e# q2 v$ q- E/ V) e
34         GPIOBank6Pin13PinMuxSetup();                            \
5 r: i4 t4 ]* }" M2 U) a& x 35         GPIODirModeSet(SOC_GPIO_0_REGS, 109, GPIO_DIR_OUTPUT);  \2 m9 w5 F. E/ r* L7 r6 u
36         GPIODirModeSet(SOC_GPIO_0_REGS, 110, GPIO_DIR_OUTPUT);  \
& V9 Y% v2 l  r  t. x2 G 37         UARTStdioInit();                                        \/ |) A5 |. _, ?
38     } while (0)
% b4 q  M4 p! E& n% J 39 #else. w: B9 A1 T& Q# n# a  f
40     #define LOG_INIT() do { } while (0)
, k: f3 u/ s: y! ~+ n 41 #endif
; e$ R8 i- D3 L 42 6 Q0 V2 C* I* L5 P, O
43 /* Log Output */
5 r$ E! Q% J& }* M8 G" ~ 44 #define LOG_INFO(format, ...)      \9 l; C5 |+ ^7 s- a/ q
45     do {                           \
2 U; z( j& C! J; D 46         OUTPUT("[%s|%s@%s,%d] " format "\n", "INFO ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \/ @( j4 i1 m" @) t/ A* R
47     } while (0)' n* B8 t% m3 \
48
' k3 O! i. B! W! C- a- u 49 #define LOG_ERROR(format, ...)     \7 `$ W, d9 r$ `0 H% y% `
50     do {                           \
4 l! @8 D  C: @ 51         OUTPUT("[%s|%s@%s,%d] " format "\n", "ERROR", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \. P) K) s7 r# K+ Z7 I" ~
52     } while (0), g  P/ T, g/ V/ ~  A
53 & ?. r) X1 }0 l
54 #define LOG_DEBUG(format, ...)     \
8 o- Z  ^1 x8 s+ X% S- o 55     do {                           \
! p6 Q2 e, l& D! o5 o+ E 56         OUTPUT("[%s|%s@%s,%d] " format "\n", "DEBUG", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \% g. `6 T0 @  u/ h: S. t% x
57     } while (0)* S  c2 m; S, E1 T
58 , F1 r4 B3 i3 ?( C! T
59 #define LOG_WARN(format, ...)      \0 G# L9 N9 `$ A: w( W5 I. [6 k
60     do {                           \
% }! D# @$ f. J; ^# M- c9 A, H 61         OUTPUT("[%s|%s@%s,%d] " format "\n", "WRAN ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
( v: A6 g* x# \1 ]# O8 d 62     } while (0)
8 R7 e% I- N( _) y6 B 63
! B4 A2 K+ x+ [, P9 j7 L 64 #define LOG_TRACE(format, ...)     \
0 e8 j% D$ l' M9 _ 65     do {                           \
. T  K# _& r( w" C6 r& J$ G: } 66         OUTPUT("[%s|%s@%s,%d] " format "\n", "TRACE", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \1 c7 `8 N  g- I" ^9 [3 S
67     } while (0)1 F) s0 u9 P' T0 o, Q7 I' J5 R
68
- E' v2 g9 |1 b2 J7 | 69 #define LOG_FATAL(format, ...)     \
  `; f+ k3 @' n, q( ~+ z 70     do {                           \
$ y7 w8 |9 p! @ 71         OUTPUT("[%s|%s@%s,%d] " format "\n", "FATAL", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
1 [. T+ O# Z" x7 d8 E6 f8 q 72         exit(1);                   \
& {. N" c  g+ J/ L: | 73     } while (0)2 A) x) G1 |0 ]" x0 g5 V
74 ( l* t6 y3 X8 E5 ]
75 /* Assert */, z8 v* t5 D& r# x' c$ x: G
76 #define ASSERT(EXP)                \
3 d; e* N3 T4 c1 Q0 J+ Q 77     do{                            \  @  N( d" ?2 L: I- _6 q  B
78         if (!(EXP)) {              \4 h  u3 z7 \# b3 S
79             OUTPUT("[%s@%s,%d] ASSERT: " #EXP "\n", __func__, __FILE__, __LINE__ );                  \
4 K0 T2 \% k% A$ h6 S 80             exit(1);               \
( R: E& K7 h/ v4 q* _ 81         }                          \
1 }2 G6 H- O" O* f% n5 w 82     } while(0)
4 t; u- v/ }! g* I 83
9 ]' g) y) w, J0 y 84 #endif4 H% T" `. O7 f5 v
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
板凳
发表于 2014-12-4 14:03:10 | 只看该作者
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏
% ^5 a* ?4 z  p- a9 w* Q
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
地板
 楼主| 发表于 2014-12-4 15:21:54 | 只看该作者
tenny 发表于 2014-12-4 14:033 P, b+ H1 S4 N8 u7 u% V
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏
  o" U0 l7 c! U, y0 v
你好,是arm这一端的app/ V; [3 V/ u( E# l3 `- w, K
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
5#
 楼主| 发表于 2014-12-4 15:40:21 | 只看该作者
tenny 发表于 2014-12-4 14:03
  }& a3 C6 ^- g. I, \6 m: [/ _1 ]# {修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏

& @7 T! C  t0 e4 w9 {你好,你是不是将host/app下的log.h和dsp/driver下的log.h和到一块啦,怎么说下你的思路& x  u0 \$ r4 [! c- C) k6 L; b' z
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
6#
发表于 2014-12-4 15:59:03 | 只看该作者
arm 端的 log 并没有用到 uart1
& S3 O0 K: K3 C9 e& ?9 P' qdsp 端的 log 才使用了 uart1
# z% P$ {/ Q+ F2 p所以,你需要也只需要修改的是 dsp 子工程的 log.h(新版本的代码 是在 dsp/app/log.h,旧的是在 dsp/driver/log.h)( h+ y8 F* o5 e7 Q& J
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
7#
 楼主| 发表于 2014-12-4 17:19:24 | 只看该作者
tenny 发表于 2014-12-4 15:59
/ D' Z5 U' Q5 X  R- i4 }arm 端的 log 并没有用到 uart1
) _1 y3 ?$ Y$ ~& H; pdsp 端的 log 才使用了 uart16 n9 ^5 n$ a. @2 ^
所以,你需要也只需要修改的是 dsp 子工程的  ...

% B+ |# u9 I% q$ u6 s那我是不是将你贴出的那段代码,替换DSP/driver下的log.h就可以是吧,' p1 H2 t/ V( c9 G+ ]
然后将#define OUTPUT_TO_UART1 1 换成
# {! c6 Q3 s$ U5 A& f: a0 t# l#define OUTPUT_TO_UART1 02 x9 q8 {6 `: }& N' [
  是不是这样! N* v! o% n6 q6 Q1 ]
: x# a4 {& ?5 I2 p2 l' C3 k

' @) a' \% O" T6 b, }. k  Q' B9 [5 I. V* }1 B) h9 v; m: r
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
8#
发表于 2014-12-5 09:25:09 | 只看该作者
, b3 \, T4 A+ C( _. h
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-9-14 12:00 , Processed in 0.043915 second(s), 23 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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