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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
跳转到指定楼层
楼主
发表于 2014-12-4 11:08:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
你好我现在用的你们的omapl138开发板,跑的双核通信的程序,我现在需要通过串口一向外部发信息,但是串口一被DSP占用了,我怎样才能解除DSP占用呢
% N- M& U  c7 x9 y: |+ w- O* I, A0 i2 s4 L
: i2 b- ^* |5 K' v: [* T. Z2 H
谢谢
& K" _6 t& n" D4 f: U5 d2 w. `7 T/ e- s/ J" F2 ?) @
/ ^* \& b3 L' u! {1 L+ W( I
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
沙发
发表于 2014-12-4 14:01:26 | 只看该作者
  1 #ifndef _LOG_H_. G( [5 e# w1 J
  2 #define _LOG_H_
$ z: p+ S; x$ M4 Z  3
% |9 g" p  ^* ]+ q/ |  4 /* 0: printf; 1: UART1 */+ d. g& ^1 D1 s) l5 o/ B& Z
  5 #define OUTPUT_TO_UART1 1
2 D8 m( M9 d# M) W
  6
- ?9 V( B$ T2 f  @  7 /* Switch Log Output */9 S: T  E" m2 W" K
  8 #if OUTPUT_TO_UART1
- \! p: y2 m8 }7 i- ^  9     /* For UART1 Initial */
$ v" F7 u" U: S 10     #include <stdlib.h>8 v" M) \" t7 _+ _# I* B2 i5 N
11     #include "hw_types.h"  8 m4 K5 z+ N7 a/ K4 Z, B# T
12     #include "hw_syscfg0_C6748.h"# m3 `+ Z; O7 i! C* q7 A) b
13     #include "soc_C6748.h"
+ G8 h4 B- |- l* @0 i7 ] 14     #include "psc.h"               
0 ~+ a- A% g, Q: ^  z7 e+ d 15     #include "gpio.h"               . z' G4 H2 D/ o; B7 T
16     #include "uart.h"
' G0 S0 T, b( h. ^0 _- T8 t 17     #include "uartStdio.h"
3 `# z5 j3 t/ o% w6 K- W% K 18 * Q$ A: M) y0 B5 V6 y3 n
19     #define OUTPUT UARTprintf
# l; Q% [% g( X. F 20 #else4 F1 _. E# D& Z  B; W
21     #include <stdio.h>
. h5 ]( _; I1 Z" K: v' S1 V$ C 22     #include <stdbool.h>! V: ]5 w! I9 A
23
# Z* P$ [0 a( d# L9 W$ E* i 24     #define OUTPUT printf* G; Y: x. C: e  [
25 #endif
" E4 d- W7 g: P) W! J 26
* E- S% l# `3 b0 D$ O3 O& _; k 27 /* Log init */
# P0 E# J9 j; h; U 28 #if OUTPUT_TO_UART18 j( _0 \2 D+ ~! Y
29     #define LOG_INIT() do {                                     \
6 v7 ]  ?; X5 E3 H% i) S+ Y3 z! C 30         PSCModuleControl(SOC_PSC_1_REGS, HW_PSC_GPIO,           \
' l; u( ~% ~' _$ d  R, N 31                          PSC_POWERDOMAIN_ALWAYS_ON,             \2 }) P9 s. e# V% ?% H! A6 W9 u* V0 Y3 q
32                          PSC_MDCTL_NEXT_ENABLE);                \
5 b6 B9 U- y# Y' z# ] 33         GPIOBank6Pin12PinMuxSetup();                            \' I0 g" ]% j$ S7 M. z4 g# V* y
34         GPIOBank6Pin13PinMuxSetup();                            \
0 r, F8 E0 \6 P+ Q 35         GPIODirModeSet(SOC_GPIO_0_REGS, 109, GPIO_DIR_OUTPUT);  \
2 f1 G! E5 a5 R5 n( k0 c 36         GPIODirModeSet(SOC_GPIO_0_REGS, 110, GPIO_DIR_OUTPUT);  \
/ m6 b* D. g& {9 h. J1 \, d: {1 a 37         UARTStdioInit();                                        \4 y7 L" B* ~9 y: p9 B& R
38     } while (0); D( w4 j0 u- {! B, z* w
39 #else& V: W  s" j/ W* c1 i0 o; f8 R
40     #define LOG_INIT() do { } while (0)
9 U+ @6 G+ w: w/ { 41 #endif
+ H9 \) _$ A. S) ~1 U+ y0 `' W 42 : q/ b, U! K" R9 Z1 L
43 /* Log Output */
. l% K! o) ?) X+ N, C3 \9 m 44 #define LOG_INFO(format, ...)      \5 ]3 u3 M1 e$ ~  v
45     do {                           \
$ Y% ~9 Z6 P  |. h8 @! | 46         OUTPUT("[%s|%s@%s,%d] " format "\n", "INFO ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
% |7 d1 s: R" k 47     } while (0)6 {; V3 A- o4 i; ~. m8 a  [
48
8 F9 L, H; H! A) j 49 #define LOG_ERROR(format, ...)     \
; E" j+ {7 f" g; n- S1 q 50     do {                           \
2 T. A6 A  J/ P- N 51         OUTPUT("[%s|%s@%s,%d] " format "\n", "ERROR", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \0 H7 |6 G5 E+ a9 |' i# l& ]
52     } while (0)& Z) Z; C- r* t8 f+ d4 v" a% Z
53 % y, G7 G! ~' F/ _
54 #define LOG_DEBUG(format, ...)     \( J' O* u" `2 }# j8 p
55     do {                           \% V0 A5 @# j) Z9 N$ M& O# R
56         OUTPUT("[%s|%s@%s,%d] " format "\n", "DEBUG", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \3 D- O2 U4 d# b8 b; Z5 _$ S* W
57     } while (0)
6 N2 ?& h7 g6 H9 M! v2 X( o 58
7 t" B3 S( X* }! b. c: E 59 #define LOG_WARN(format, ...)      \- U# p" o! f6 ~
60     do {                           \
% K/ R4 x) k5 F5 A; T 61         OUTPUT("[%s|%s@%s,%d] " format "\n", "WRAN ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \1 y% v* b# ]' ?) n* n! s
62     } while (0)
$ b" h% v+ Y  z4 @3 D5 r! j# ] 63 & f8 X) W  y' j
64 #define LOG_TRACE(format, ...)     \
* F  a/ Y6 a" H+ s" G 65     do {                           \' W6 i5 o4 V$ _0 I0 v) Q9 j* \
66         OUTPUT("[%s|%s@%s,%d] " format "\n", "TRACE", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
. N) z3 \! a$ p: P/ ~# } 67     } while (0)* ~( }4 k3 r5 R  w: B
68 ) [0 [# G, Q! @8 c
69 #define LOG_FATAL(format, ...)     \
( a- \+ m, Q8 O& _2 C5 \ 70     do {                           \
) w( i7 }* x% v 71         OUTPUT("[%s|%s@%s,%d] " format "\n", "FATAL", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \3 |3 H4 C4 ]# r  W1 F) V, E! N
72         exit(1);                   \
) D/ W9 ]2 E9 }1 o! z5 J0 q9 U 73     } while (0)0 j) h+ O% @$ o* O+ c
74
* w  k' Y; I' b4 w* g1 u  b) x 75 /* Assert */
" r+ a! E. S- N& Z. i; b3 M$ \ 76 #define ASSERT(EXP)                \1 G+ b' K3 P$ J8 g
77     do{                            \2 W2 P3 r" u. p+ n* G
78         if (!(EXP)) {              \3 T% E7 J" j7 {. m7 g
79             OUTPUT("[%s@%s,%d] ASSERT: " #EXP "\n", __func__, __FILE__, __LINE__ );                  \
: _: @. w" T  ~ 80             exit(1);               \% ?+ Y1 e- z: T  r* f5 l
81         }                          \
& p6 c/ z  n3 ] 82     } while(0)
5 t2 V$ |* F  Y9 ] 83 ( O" L5 G* A2 h9 N/ ?* \
84 #endif/ P* f! Z& d2 R
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
板凳
发表于 2014-12-4 14:03:10 | 只看该作者
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏
7 `, I2 e$ R' _$ ?1 I: K& A
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
地板
 楼主| 发表于 2014-12-4 15:21:54 | 只看该作者
tenny 发表于 2014-12-4 14:038 `7 t3 z. l5 V; D% M2 }
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏

1 F7 |$ ]; n2 N% V; m) b你好,是arm这一端的app3 ]. s( [! u" Q5 L- ?
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
5#
 楼主| 发表于 2014-12-4 15:40:21 | 只看该作者
tenny 发表于 2014-12-4 14:03
! d. C6 ?! A  d* I0 Y, L修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏
4 z, O/ q6 `3 P) M
你好,你是不是将host/app下的log.h和dsp/driver下的log.h和到一块啦,怎么说下你的思路( H% b5 l' m* L' r! e
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
6#
发表于 2014-12-4 15:59:03 | 只看该作者
arm 端的 log 并没有用到 uart1
: f( j5 g" ^9 P2 ~- ^1 \dsp 端的 log 才使用了 uart1- I4 x5 y0 `: W- x
所以,你需要也只需要修改的是 dsp 子工程的 log.h(新版本的代码 是在 dsp/app/log.h,旧的是在 dsp/driver/log.h)
: A" d: B6 y7 a' B8 ~, C  P
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
7#
 楼主| 发表于 2014-12-4 17:19:24 | 只看该作者
tenny 发表于 2014-12-4 15:593 j# B0 o* ^: r: ~2 }
arm 端的 log 并没有用到 uart1
; V. x/ _* D; u9 H0 e# hdsp 端的 log 才使用了 uart1
9 V+ u2 @) w: z- F2 A所以,你需要也只需要修改的是 dsp 子工程的  ...

# j# [- H- O0 H$ n6 V0 x那我是不是将你贴出的那段代码,替换DSP/driver下的log.h就可以是吧,# I+ ^2 {% P: [: K
然后将#define OUTPUT_TO_UART1 1 换成. e) v* @" H) G' Q* `" C# J) @
#define OUTPUT_TO_UART1 03 \4 `+ v8 G& ~8 A' `8 u
  是不是这样
' t; ]* G! q9 y2 K
/ Y. c0 E% h" s- R3 r2 `! T( g  D* k9 Q; G9 n5 m- I0 {
$ Q, X5 p% q9 I
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

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

+ Y6 s, k" w2 j! D0 t  P" z" [+ v
回复

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2026-4-4 04:38 , Processed in 0.045826 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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