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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
跳转到指定楼层
楼主
发表于 2014-12-4 11:08:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
你好我现在用的你们的omapl138开发板,跑的双核通信的程序,我现在需要通过串口一向外部发信息,但是串口一被DSP占用了,我怎样才能解除DSP占用呢
0 G1 D. A5 k3 l/ v& o( n2 y& C9 g  s' {3 U! l

2 R% ?+ }) J0 W4 k; a! p9 a2 p5 s/ m谢谢' U% K. Q* y: C1 r9 d4 f2 \

: T3 w- I6 P3 h* Z8 l. d" e! A  Y+ K/ R  R
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
沙发
发表于 2014-12-4 14:01:26 | 只看该作者
  1 #ifndef _LOG_H_
2 p' j: A, X/ v5 {  |- C9 W  2 #define _LOG_H_
4 d) K/ K6 I& }6 Z3 x  3
9 L/ _7 O6 b# Y- d: k& l  v  4 /* 0: printf; 1: UART1 */
4 m* ~( \. T6 e; x- R+ A  5 #define OUTPUT_TO_UART1 12 z- f3 y$ O' e4 E- y# \
  6
$ F; r6 Q& R$ T; g: A  7 /* Switch Log Output */# @, W: E+ [8 X* b6 R7 \) A/ t
  8 #if OUTPUT_TO_UART1
) g  Z7 @( y+ Y, t( k  9     /* For UART1 Initial */
# q0 o2 h$ z/ ^( g 10     #include <stdlib.h>3 _* {& h7 k5 X0 z
11     #include "hw_types.h"  
! |7 u" ~( B% I( x& h! R, k2 m' x 12     #include "hw_syscfg0_C6748.h"  P( O, X% Q5 W) u) C
13     #include "soc_C6748.h"
% l% t" E9 I2 o2 ~* J0 F( r6 j4 x 14     #include "psc.h"               
+ j/ F3 n$ Y# [+ a0 p 15     #include "gpio.h"               
* Q3 g! O. L" f$ e 16     #include "uart.h"" G$ k6 J1 k$ ^2 y9 U5 J
17     #include "uartStdio.h"
5 ]4 N0 o; T/ T) ^& L1 n 18 8 L: R# l- V" h  X
19     #define OUTPUT UARTprintf
( K9 W: D, y3 i1 v! o1 @+ n( r& b 20 #else, l( S/ u9 j5 m/ S9 ^; m0 c
21     #include <stdio.h>
& R- Z% r8 z6 o8 V2 x/ L 22     #include <stdbool.h>
: E2 o$ K4 W$ L. v0 B 23
6 E; [6 R' h5 o 24     #define OUTPUT printf
/ z2 `" Z1 B& }9 c7 s 25 #endif5 D# A- @* C; ?% d* h+ I; U
26
8 P& @1 T  d$ u  S( S; d 27 /* Log init */
" i2 G! J  E" u; g  c 28 #if OUTPUT_TO_UART1
4 W; ]9 f6 _" S" y 29     #define LOG_INIT() do {                                     \2 Z# }9 B% v, Y3 g
30         PSCModuleControl(SOC_PSC_1_REGS, HW_PSC_GPIO,           \
+ O9 ?7 U& U* C2 P" t$ b/ e 31                          PSC_POWERDOMAIN_ALWAYS_ON,             \1 K- f- u8 I0 C0 P1 m- r3 N
32                          PSC_MDCTL_NEXT_ENABLE);                \( i# _, a, @- Z! C: ^. H3 A
33         GPIOBank6Pin12PinMuxSetup();                            \
" \6 y8 v( R" D/ N1 ^ 34         GPIOBank6Pin13PinMuxSetup();                            \
6 z# s0 R! H) I 35         GPIODirModeSet(SOC_GPIO_0_REGS, 109, GPIO_DIR_OUTPUT);  \
4 V: c6 l( U' y 36         GPIODirModeSet(SOC_GPIO_0_REGS, 110, GPIO_DIR_OUTPUT);  \
0 }* ~& D+ F$ t. @6 o 37         UARTStdioInit();                                        \. e3 Z* X8 V0 g2 Y% ~: D
38     } while (0)
9 D) t3 |' G# W4 ^, v 39 #else! a" t( A: d& D0 X
40     #define LOG_INIT() do { } while (0)
9 J, }/ j/ y- s 41 #endif
- M# K0 |. o# m/ _# r 42
& Y# N; s4 u# C( s3 E, y 43 /* Log Output */# _6 U5 c4 ~0 B# D  q5 e
44 #define LOG_INFO(format, ...)      \
# V3 q4 ]6 f, [7 s 45     do {                           \
7 Q- W. z& V& G+ |4 [0 g 46         OUTPUT("[%s|%s@%s,%d] " format "\n", "INFO ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \; R& ^1 Q" p9 r- P3 \
47     } while (0)$ A: m/ P& a* ?
48
/ i1 j6 f3 b: x" d2 U, u 49 #define LOG_ERROR(format, ...)     \
( N& }+ t% Z/ ~3 f- k; H 50     do {                           \% q( U. y/ q7 a( x! v* K8 Z
51         OUTPUT("[%s|%s@%s,%d] " format "\n", "ERROR", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
% h: d) c5 q: E& n 52     } while (0)
  G+ w! n9 E# X: L3 x! r* Q 53 ! A: F8 o" u/ s' G6 \6 z
54 #define LOG_DEBUG(format, ...)     \
$ b- |* t/ w1 o* j" ]9 O7 c 55     do {                           \
% j1 ^0 R7 f2 @# T2 ^9 O 56         OUTPUT("[%s|%s@%s,%d] " format "\n", "DEBUG", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
1 f  K1 [. T3 S/ q" E 57     } while (0)
6 }1 z9 i# F6 d- S) V7 ]3 P 58
* u  W- H' G' B1 e' w& {! c 59 #define LOG_WARN(format, ...)      \
* ~  G- t: R/ c5 P) q. u" L 60     do {                           \: z$ y" j" A2 K; C, |
61         OUTPUT("[%s|%s@%s,%d] " format "\n", "WRAN ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \* ^) u0 O( r. {
62     } while (0), u+ \1 f3 Z7 b0 z9 I4 u$ @% p
63 0 i; |; x7 o, u
64 #define LOG_TRACE(format, ...)     \
! W' A7 C2 q- e4 A- ~( o5 z 65     do {                           \1 e1 T% b0 _' |9 z; ^" x2 ^
66         OUTPUT("[%s|%s@%s,%d] " format "\n", "TRACE", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \; [/ ?# H3 U5 z, g+ {, |+ T" s: h0 O
67     } while (0)
4 _; @2 w  p( V" e 68 # W; A6 M( f/ f' E+ B3 G
69 #define LOG_FATAL(format, ...)     \& d  V1 p" Z5 z5 k8 g
70     do {                           \" M$ z3 z5 n" l4 |
71         OUTPUT("[%s|%s@%s,%d] " format "\n", "FATAL", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \" t8 w' Y9 S, B
72         exit(1);                   \  m9 u1 s2 E& e) u) q
73     } while (0)( v0 g$ a3 ^5 {3 o
74 * _& r: \% y6 e- @* t% f+ {' w8 O
75 /* Assert */6 h' k6 o1 \! f$ p; y
76 #define ASSERT(EXP)                \$ A% C0 }2 r" p3 ?3 F( z; P# a
77     do{                            \8 A' L5 K; @' @
78         if (!(EXP)) {              \1 b5 z, i5 c* @, S9 |* G' F6 x: q3 ?
79             OUTPUT("[%s@%s,%d] ASSERT: " #EXP "\n", __func__, __FILE__, __LINE__ );                  \
# K- O+ w( M7 j* [- @8 V* _( M) K 80             exit(1);               \
* E  w$ }0 w5 n 81         }                          \
) s! s, L3 ^6 [( T& {% _ 82     } while(0)" p9 M0 U: g- Q3 U# v* Y
83
. }/ d- `- o( d0 S7 ^5 l% M 84 #endif
; I; _9 I4 R5 [% C: K& a! r1 @0 g
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
板凳
发表于 2014-12-4 14:03:10 | 只看该作者
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏
7 j, h, X) A7 O2 E2 B, q
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
地板
 楼主| 发表于 2014-12-4 15:21:54 | 只看该作者
tenny 发表于 2014-12-4 14:03+ I* f. t9 Y' K' M- m
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏
( {' m( F7 n2 S- C9 r
你好,是arm这一端的app
4 k+ c/ k0 ?) Y( [
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
5#
 楼主| 发表于 2014-12-4 15:40:21 | 只看该作者
tenny 发表于 2014-12-4 14:03
& q" x2 ]0 {( j修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏
2 d- J5 ]( ~% w) Y7 i
你好,你是不是将host/app下的log.h和dsp/driver下的log.h和到一块啦,怎么说下你的思路
% L) S  l/ M; P$ s
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
6#
发表于 2014-12-4 15:59:03 | 只看该作者
arm 端的 log 并没有用到 uart1
6 ]5 X9 |8 {" xdsp 端的 log 才使用了 uart1
1 i& r9 F. `  N9 W- p% Q3 h所以,你需要也只需要修改的是 dsp 子工程的 log.h(新版本的代码 是在 dsp/app/log.h,旧的是在 dsp/driver/log.h)
1 q& {4 y- R4 ~
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
7#
 楼主| 发表于 2014-12-4 17:19:24 | 只看该作者
tenny 发表于 2014-12-4 15:59
! g, i) s9 h( O5 o1 S2 c* h( Narm 端的 log 并没有用到 uart1
' x, C5 j# f. \: i6 Wdsp 端的 log 才使用了 uart16 M: a1 R( p; J
所以,你需要也只需要修改的是 dsp 子工程的  ...

/ |! N1 g5 A& v$ {2 P那我是不是将你贴出的那段代码,替换DSP/driver下的log.h就可以是吧,
' `3 i' m! c( g7 v然后将#define OUTPUT_TO_UART1 1 换成
' D0 M$ f7 k( |, B0 ~5 @# G#define OUTPUT_TO_UART1 0
, m2 n& n9 ~  {+ _0 ?  是不是这样
4 H/ ~( s: K) `9 M& @7 H
" B1 g7 u3 V0 f5 ^8 V0 T
6 W' ?2 Z) w8 r8 u
' M4 ]9 d. Q  G. v) P3 T# V" a
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

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

" M3 ^- G: U* J2 D( z4 d9 |
回复

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2026-1-30 23:38 , Processed in 0.050185 second(s), 25 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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