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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

8

主题

30

帖子

150

积分

注册会员

Rank: 2

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

) Z# q  O( s. n' t
$ Z  A: |+ u( ]! l1 t谢谢! e+ |4 [1 G! c

# X, Q2 J/ d+ V$ I' _; c( ~5 `- w: D+ \1 d) @
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
沙发
发表于 2014-12-4 14:01:26 | 只看该作者
  1 #ifndef _LOG_H_* {6 n3 p: y& H) x$ F. W
  2 #define _LOG_H_
/ b7 I2 K9 k$ g! S  3 ! E: x( ~2 W& c* N0 u5 ]8 ]% b
  4 /* 0: printf; 1: UART1 */
6 [0 ^9 g9 g2 k# R9 a  M. k' |  5 #define OUTPUT_TO_UART1 1% q2 U$ z% z4 v1 u
  6   M, y5 p; a/ Z* ^; ~6 T
  7 /* Switch Log Output */6 I# B1 F5 s4 l; d% X
  8 #if OUTPUT_TO_UART11 r' w: y5 }8 U; T
  9     /* For UART1 Initial */9 G) f7 h' [1 M5 g7 a
10     #include <stdlib.h>
+ ~1 r; s% r6 x7 A2 W: Q' M 11     #include "hw_types.h"  ( n' |! t' x) b3 P" V
12     #include "hw_syscfg0_C6748.h": r- ]; p/ s6 p5 w# ?
13     #include "soc_C6748.h"
. l& Y8 L1 w" R1 Q& ~. R( A) b 14     #include "psc.h"               
0 \$ ?' F8 i5 L# y; A 15     #include "gpio.h"               9 h8 @$ z% d/ z; ?+ Q; u
16     #include "uart.h"
( h' r  `- U# | 17     #include "uartStdio.h"( y5 {2 I+ I4 ?# T2 e
18 , x8 w0 A; N1 H8 x& G
19     #define OUTPUT UARTprintf
. s9 q. b: L5 Y, b- \1 a7 c 20 #else9 ?0 ?0 s. s& r5 L5 C
21     #include <stdio.h>
" {+ ^7 f$ t+ t. ^( S2 ^0 @9 W 22     #include <stdbool.h>2 Y9 Q: S0 L9 \) H5 H6 y9 E, N
23 9 B% m, ~& M" {
24     #define OUTPUT printf$ M, |5 q7 f0 s# g7 Z4 Y* l0 }6 f+ |
25 #endif
5 A. b) o! x9 \ 26
0 w/ C# K8 e! G 27 /* Log init */2 |- z6 |3 ?7 i+ w
28 #if OUTPUT_TO_UART1# P- x1 c% b0 A. E; Y
29     #define LOG_INIT() do {                                     \4 U! ?0 w( H- }. j0 @. a! S
30         PSCModuleControl(SOC_PSC_1_REGS, HW_PSC_GPIO,           \" Y0 P  A  D# Y2 A7 ]0 U
31                          PSC_POWERDOMAIN_ALWAYS_ON,             \
9 K3 r( F- C4 D9 H- i 32                          PSC_MDCTL_NEXT_ENABLE);                \6 @" y( ]+ H  S8 h* b
33         GPIOBank6Pin12PinMuxSetup();                            \' \2 Y* Z4 S( T2 d4 @* `  p
34         GPIOBank6Pin13PinMuxSetup();                            \
0 {+ E7 O# n  q7 a+ T 35         GPIODirModeSet(SOC_GPIO_0_REGS, 109, GPIO_DIR_OUTPUT);  \5 T3 \# H7 w: J% z6 g/ o2 K6 n
36         GPIODirModeSet(SOC_GPIO_0_REGS, 110, GPIO_DIR_OUTPUT);  \
* B$ w9 V. B& P6 [3 I/ Q8 O- e$ t9 B 37         UARTStdioInit();                                        \
1 M) i2 F9 p" a3 ~6 m. V 38     } while (0)+ S' P! ]) d" N% m
39 #else
: M9 E2 h+ F5 D' v  i 40     #define LOG_INIT() do { } while (0). Z* \' ~; z0 Y* j, C  ^+ R& _% z
41 #endif4 u2 |( h! Y6 S6 c: a: A
42 9 B# t- ?0 g( @8 o, N) I& K2 L7 N
43 /* Log Output */
9 C7 s! \/ i8 W% z 44 #define LOG_INFO(format, ...)      \
3 g5 }" [* t) z" D" C3 z4 F! H 45     do {                           \& [& `% G7 N( P2 i  C% O
46         OUTPUT("[%s|%s@%s,%d] " format "\n", "INFO ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \/ n) Y& _. z" G/ C
47     } while (0)
! s9 e$ V3 g/ U4 X7 k9 \ 48
' R/ C) W+ f% O, _# |+ ]6 ` 49 #define LOG_ERROR(format, ...)     \
5 H$ I3 K0 H1 z 50     do {                           \
" i8 n5 g# G- q4 t% A/ r 51         OUTPUT("[%s|%s@%s,%d] " format "\n", "ERROR", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \2 `" }- y+ ]. y* R
52     } while (0)
5 d7 a& n0 Q3 B* E 53
$ D6 c, ~8 R" |. C6 ?) {, A& n 54 #define LOG_DEBUG(format, ...)     \
! Y, u  s% I1 M% `$ j 55     do {                           \
9 z7 P6 l) u0 ?; Q/ V9 R 56         OUTPUT("[%s|%s@%s,%d] " format "\n", "DEBUG", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
7 b3 y# {- v% u9 {8 {/ u; h* m, l 57     } while (0)
# |& |& Y) t7 I9 M. q" j 58 4 Q! O: t/ v1 Z6 C
59 #define LOG_WARN(format, ...)      \
3 k& d4 C* q# s. e, i! U2 m$ Q. e 60     do {                           \: C/ ?! T4 v9 d: [. N/ u
61         OUTPUT("[%s|%s@%s,%d] " format "\n", "WRAN ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
: i9 Q. ^# `+ O& w' g2 g: Q$ Y5 k 62     } while (0)! C0 Z; _1 o; ?6 V) k; O& ~( q
63
5 N& h; S9 @/ o1 M- c+ B0 t7 u 64 #define LOG_TRACE(format, ...)     \
0 J2 {$ g! A3 @+ r, O7 O9 ~ 65     do {                           \
; X& ]: Z: S- v5 ^8 L# K9 ~3 e9 i 66         OUTPUT("[%s|%s@%s,%d] " format "\n", "TRACE", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \  o1 G) q7 S. c- F
67     } while (0)
; I' P& V9 b8 z5 T 68 : G+ Q1 q0 S6 I% O3 M0 E" \
69 #define LOG_FATAL(format, ...)     \) v7 }# M- ~" G
70     do {                           \
5 t7 o) w" @* N$ X5 e  o 71         OUTPUT("[%s|%s@%s,%d] " format "\n", "FATAL", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
% W) a6 z0 w( n6 ~, y2 y1 i6 A 72         exit(1);                   \
+ G+ p+ T* u" _  ]( u. i) E' q 73     } while (0)
) ]3 M+ y9 c6 U; x2 n: `- M8 R 74 / J2 u+ ]8 k& Z% l
75 /* Assert */, \% h& L8 d4 I& k. Y0 L
76 #define ASSERT(EXP)                \
. @/ i; H: r4 `! e  K& ?2 r 77     do{                            \* q, I3 Z# B0 y% Q" P* u* `
78         if (!(EXP)) {              \
* @! @% E% {" O' Q 79             OUTPUT("[%s@%s,%d] ASSERT: " #EXP "\n", __func__, __FILE__, __LINE__ );                  \! ]" ~0 \. T0 z+ `: M/ Q1 ]- x+ L
80             exit(1);               \
/ e  w, h1 u  |: X 81         }                          \
) A( ^+ p* {0 J; `# h7 t  K 82     } while(0): w) O' C! D, O3 B9 I
83 / M3 A0 B1 `5 h
84 #endif% x1 r! C9 f  T5 L$ G
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
板凳
发表于 2014-12-4 14:03:10 | 只看该作者
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏
. s3 k/ s9 r+ y8 l/ R9 `
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
地板
 楼主| 发表于 2014-12-4 15:21:54 | 只看该作者
tenny 发表于 2014-12-4 14:03
/ y% N: b( [6 A$ Y8 K. a修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏
2 L* W! t) O& r' T7 p
你好,是arm这一端的app
! K! Y4 N4 u, ^
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
5#
 楼主| 发表于 2014-12-4 15:40:21 | 只看该作者
tenny 发表于 2014-12-4 14:03
2 q1 h/ b3 F& m修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏

% D" [% B  L# u. t你好,你是不是将host/app下的log.h和dsp/driver下的log.h和到一块啦,怎么说下你的思路0 }  j: S7 n1 u5 M- J
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
6#
发表于 2014-12-4 15:59:03 | 只看该作者
arm 端的 log 并没有用到 uart1
$ G. U6 |0 E9 Q$ F& B3 Xdsp 端的 log 才使用了 uart1# [& Y: R# G7 `! Q+ F( }
所以,你需要也只需要修改的是 dsp 子工程的 log.h(新版本的代码 是在 dsp/app/log.h,旧的是在 dsp/driver/log.h)
; h% e: g  v7 k
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
7#
 楼主| 发表于 2014-12-4 17:19:24 | 只看该作者
tenny 发表于 2014-12-4 15:59$ Y, ^0 h. J% J6 O2 o
arm 端的 log 并没有用到 uart1
/ [* x) g0 b# z' j$ \dsp 端的 log 才使用了 uart1
8 K; t# y) o% c! ^/ P: d; R; k所以,你需要也只需要修改的是 dsp 子工程的  ...
  D: E! p8 d% ^2 o! X$ x0 T. I
那我是不是将你贴出的那段代码,替换DSP/driver下的log.h就可以是吧,( }! o4 r& H' d6 R  s' T: f
然后将#define OUTPUT_TO_UART1 1 换成
- G! j7 c$ ^  b# D2 z! u( S#define OUTPUT_TO_UART1 0) ^9 i% l: t& ?: m! [; |) G/ @
  是不是这样
% x8 b. N9 o, U( H* Q( o) s" O& B9 m+ y0 i/ s' F  l
% X  c$ a1 }% {; ^. v6 l
+ |1 `- A+ y  L
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
8#
发表于 2014-12-5 09:25:09 | 只看该作者
) v5 r+ z9 f$ U( k2 ~8 u* w
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-10-14 12:35 , Processed in 0.042468 second(s), 23 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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