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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

8

主题

30

帖子

150

积分

注册会员

Rank: 2

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

# V2 T% H( A# Z/ m8 U* ^- D8 \0 m0 \+ \1 X
谢谢
3 r1 J/ u4 h5 R% k
( G5 J, i' `2 h8 M4 o+ h0 l* E
3 ^: Y( e! S$ G+ R. H6 w( i0 \
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
沙发
发表于 2014-12-4 14:01:26 | 只看该作者
  1 #ifndef _LOG_H_
1 d$ K4 g5 g9 s) m  2 #define _LOG_H_0 z: N: R* h/ h1 K
  3 2 s0 V7 e: R. P" v& `7 F4 K8 l
  4 /* 0: printf; 1: UART1 */. j6 Q; g/ F7 D9 s  X
  5 #define OUTPUT_TO_UART1 18 k; U0 ~* o' v' v) @# h: I! Y
  6 4 ~3 r& Q+ j/ A) R) q3 f4 B1 h
  7 /* Switch Log Output */
& t8 g$ ~2 q6 B  B0 }8 R  H  8 #if OUTPUT_TO_UART1
+ p/ Q! X+ H" p5 s( h+ Y' T  9     /* For UART1 Initial */
2 s% b4 t( J3 W 10     #include <stdlib.h>7 [. }+ U$ u  V' m
11     #include "hw_types.h"  
, g, T3 c1 F, a, S6 l 12     #include "hw_syscfg0_C6748.h"
  I! J6 Q& F- f5 d2 a' J 13     #include "soc_C6748.h"$ ]9 O7 V) w- _; g0 i, ~
14     #include "psc.h"               6 e( Z0 l5 J  N% f4 }1 {3 I0 a
15     #include "gpio.h"               
0 K( B2 h$ \" j6 h 16     #include "uart.h"
& s2 m% U/ m2 E  S2 [  U  M( ^3 | 17     #include "uartStdio.h"; g' [9 s" G8 N; p( L+ t& E3 x
18 # f* Z0 O5 l" F0 w* Y
19     #define OUTPUT UARTprintf3 p( s* m4 o: X2 M
20 #else
9 b+ C& F; {2 O1 X 21     #include <stdio.h>! ~) ^( A) Z1 e- R7 }* g; X% F
22     #include <stdbool.h>
' |5 {* w2 M2 }+ L1 Q 23   B6 ^5 A9 A9 z, T! g* Z8 o
24     #define OUTPUT printf* T5 c/ d' u) [* e- \! l; d
25 #endif
( G9 u: {8 R" U; H 26 ( c! C* Y& L# B3 q, J6 Z
27 /* Log init */
9 X9 b3 u% [6 w1 I! ~9 R+ v 28 #if OUTPUT_TO_UART1+ ]. P. l2 v* T, E
29     #define LOG_INIT() do {                                     \
) A- e& j! Y- g. H) q/ r/ x6 p 30         PSCModuleControl(SOC_PSC_1_REGS, HW_PSC_GPIO,           \2 u$ \! u5 M& B, W3 `. d, W5 _( }
31                          PSC_POWERDOMAIN_ALWAYS_ON,             \) k. G; h, \( W- Y  x' E; s( B5 q
32                          PSC_MDCTL_NEXT_ENABLE);                \
9 ]% X5 H, D1 a3 q# t% y 33         GPIOBank6Pin12PinMuxSetup();                            \; Z! m6 Z/ [: a; P  b
34         GPIOBank6Pin13PinMuxSetup();                            \# y- Q5 q2 t  e/ A6 G$ c; ^, E
35         GPIODirModeSet(SOC_GPIO_0_REGS, 109, GPIO_DIR_OUTPUT);  \. |# P" X7 ^# ?" K- M
36         GPIODirModeSet(SOC_GPIO_0_REGS, 110, GPIO_DIR_OUTPUT);  \
5 H- k* C. [! S: m* T, V/ i0 L 37         UARTStdioInit();                                        \8 J% f- ]) H1 e4 T9 t8 c" k
38     } while (0)
7 f  E5 A3 _  X! U  W) J) V7 p 39 #else6 R1 ?$ D# J' ~+ g$ M% O
40     #define LOG_INIT() do { } while (0)
8 r) ~  T# V2 F 41 #endif) @( b* B% q( y
42 9 H' f1 p; j& f8 J
43 /* Log Output */
% I  F0 I+ i; Z( I# r 44 #define LOG_INFO(format, ...)      \  a' s8 ^1 v9 N  M2 d+ v$ k
45     do {                           \
" n9 i- f$ r6 @+ N4 j& b7 U1 u 46         OUTPUT("[%s|%s@%s,%d] " format "\n", "INFO ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \, U" j* t) k5 Q
47     } while (0)
/ t) v$ r; j  n. A' g, t 48 ! M4 q1 ~  j$ Z* ~3 F# _
49 #define LOG_ERROR(format, ...)     \) ?! s- c$ B  |
50     do {                           \
0 v  G" ^, v+ S 51         OUTPUT("[%s|%s@%s,%d] " format "\n", "ERROR", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \" s2 e2 ^5 N3 j9 f* u, |
52     } while (0)' M& \& ?1 _0 g  S
53
; t# \0 D, |/ u1 A, Q* K( ? 54 #define LOG_DEBUG(format, ...)     \( U7 a9 t" u+ @2 Y8 P
55     do {                           \, S& X! x8 a- @/ P
56         OUTPUT("[%s|%s@%s,%d] " format "\n", "DEBUG", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \  T$ Y( M% M  T4 B
57     } while (0)) N, l1 O- A  J2 S) E
58
1 d& J' t7 ~6 \ 59 #define LOG_WARN(format, ...)      \
8 c  ~, v; k2 @2 `7 F 60     do {                           \' U/ p: j& @0 d* S6 f- I  x
61         OUTPUT("[%s|%s@%s,%d] " format "\n", "WRAN ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
7 I, U8 v( M) o2 J% @) c 62     } while (0)  S0 ?& p* X6 g2 G: Y- Z
63
+ h3 n4 O+ n  u/ U% s 64 #define LOG_TRACE(format, ...)     \7 g. C3 s0 C7 H" v
65     do {                           \! d, \0 R1 y# D  `4 ]: W
66         OUTPUT("[%s|%s@%s,%d] " format "\n", "TRACE", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
7 H6 u$ i( b0 v 67     } while (0)' t4 r( }2 D' M5 I: V% |6 r7 e# o+ i) r
68
- n/ I1 L0 C% X. _ 69 #define LOG_FATAL(format, ...)     \% g6 b3 }  {9 a6 t5 @, R
70     do {                           \6 {4 `; i$ x; N
71         OUTPUT("[%s|%s@%s,%d] " format "\n", "FATAL", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \2 f) D$ G, A7 _- f5 g# }  Q
72         exit(1);                   \4 F7 i8 `8 K# K( h
73     } while (0)
7 ?0 M7 L+ b8 z. Z# p" O+ D! q 74
! V; l6 [8 W# K* c) D 75 /* Assert */4 Y* [# E1 Y. p- D# M, i5 ~9 m
76 #define ASSERT(EXP)                \: D! I8 F! G6 `; \' l
77     do{                            \% x+ X( L9 A6 M% Z7 I4 ~
78         if (!(EXP)) {              \
% ]. n' C6 ]# ^4 x9 x# R: {% E 79             OUTPUT("[%s@%s,%d] ASSERT: " #EXP "\n", __func__, __FILE__, __LINE__ );                  \
, D' L! T7 U: a% R 80             exit(1);               \2 N0 x) g" K$ ]1 `' M# |; x
81         }                          \8 F! C8 I' L( c
82     } while(0)5 ?, _  l  r+ {
83 / d& q( z8 b& f( C3 S' T
84 #endif" ?4 ~, Y& T2 i# a4 k
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
板凳
发表于 2014-12-4 14:03:10 | 只看该作者
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏8 P  {  ~5 x* l0 ]2 B& ?
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
地板
 楼主| 发表于 2014-12-4 15:21:54 | 只看该作者
tenny 发表于 2014-12-4 14:03
  a; T- W% s8 V! p1 @% z! M修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏
; ?- A. P( U  o% B& D
你好,是arm这一端的app2 ?$ f  a: W! D' w% c/ A$ M8 ?- Q
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
5#
 楼主| 发表于 2014-12-4 15:40:21 | 只看该作者
tenny 发表于 2014-12-4 14:03
4 \; p# F9 |& v' \6 t! c1 g修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏
; u: D9 i( M3 v" p
你好,你是不是将host/app下的log.h和dsp/driver下的log.h和到一块啦,怎么说下你的思路6 M  I" u$ t% ]# D
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
6#
发表于 2014-12-4 15:59:03 | 只看该作者
arm 端的 log 并没有用到 uart1& K4 ^+ x' I' i( s/ d/ q8 L
dsp 端的 log 才使用了 uart1
5 {3 V5 l6 R8 @2 v, I2 u所以,你需要也只需要修改的是 dsp 子工程的 log.h(新版本的代码 是在 dsp/app/log.h,旧的是在 dsp/driver/log.h)
1 Z% L" \/ H' J7 H; b0 }
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
7#
 楼主| 发表于 2014-12-4 17:19:24 | 只看该作者
tenny 发表于 2014-12-4 15:59
7 l! ?+ O% W5 d% L" qarm 端的 log 并没有用到 uart1! X+ ~9 P- ?2 f4 I
dsp 端的 log 才使用了 uart1
5 H; Y8 S  l  y( V- w8 @所以,你需要也只需要修改的是 dsp 子工程的  ...
. E: Y: `* F' n* a- f( v- \1 j
那我是不是将你贴出的那段代码,替换DSP/driver下的log.h就可以是吧,) Z' e, h' S) O% I) G
然后将#define OUTPUT_TO_UART1 1 换成
2 ~3 U& ~/ L/ f9 x: X7 _#define OUTPUT_TO_UART1 0
, ^& g( j3 B  ^  是不是这样! T/ N+ Y3 R$ @' I9 f  Z
. g: f) o1 A$ F- w: [

9 y% h! c; g5 O( Y+ }% o" {# M
) Q2 U: n5 C: |: L. @
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
8#
发表于 2014-12-5 09:25:09 | 只看该作者
0 @# R! Q8 d5 l$ \
回复

使用道具 举报

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

本版积分规则


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

GMT+8, 2026-1-12 01:08 , Processed in 0.041970 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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