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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
跳转到指定楼层
楼主
发表于 2014-12-4 11:08:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
你好我现在用的你们的omapl138开发板,跑的双核通信的程序,我现在需要通过串口一向外部发信息,但是串口一被DSP占用了,我怎样才能解除DSP占用呢# |; w$ a+ o1 P) p5 |0 Y
$ t! t$ Z8 B/ S* c) P
0 V5 c" L6 I3 Y- n* x2 N, E
谢谢' H+ H% h; `/ C6 f: w
( `2 F$ i8 G. H: u' k" L

# A7 d! ^, |) {8 I8 O
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
沙发
发表于 2014-12-4 14:01:26 | 只看该作者
  1 #ifndef _LOG_H_4 S) V4 Z2 \% ~& \. r
  2 #define _LOG_H_
3 W; z0 c7 @9 h) `; p- o9 f( f2 n  3 0 L8 e1 n6 a' t
  4 /* 0: printf; 1: UART1 */
7 p0 |2 l$ [$ I6 w  5 #define OUTPUT_TO_UART1 1
! ^* r7 v/ g3 c' r3 |% W# h$ b9 s
  6 . t" l4 C+ ^0 {
  7 /* Switch Log Output */! e% ~+ m& C9 H) ?2 w3 Z# V
  8 #if OUTPUT_TO_UART18 z8 x' n3 Y; r! h' r+ q9 R
  9     /* For UART1 Initial */9 W( E3 z0 F" B) C0 q# q
10     #include <stdlib.h>' |% T5 {8 u/ G8 W
11     #include "hw_types.h"  3 g+ `( s# ^  Y$ z  _* m- {! @+ Z
12     #include "hw_syscfg0_C6748.h"6 L) Y7 P) A  S3 s+ _- j
13     #include "soc_C6748.h": i: A# k; I5 p
14     #include "psc.h"               & |; d5 z  ~1 j4 }+ u# N
15     #include "gpio.h"               ; J- r" G8 B9 m* `, P
16     #include "uart.h"
. ~& ?9 ?+ A$ p7 ], M4 N 17     #include "uartStdio.h"
" `/ c4 b5 _7 u% Q 18
3 t+ k. l1 V  J9 m2 g3 { 19     #define OUTPUT UARTprintf* l- J7 c; L$ w9 f: X
20 #else; ]& k; v1 |7 V3 _$ r4 q) G
21     #include <stdio.h>
7 N& R/ [0 X: }9 D1 k 22     #include <stdbool.h>
% h" H' Z9 s2 Y+ d: { 23
, g* }" R% q* _5 Y) N& S 24     #define OUTPUT printf0 n4 i/ O9 i) c2 O% M
25 #endif, r8 ^2 P4 O- ?2 K  K
26 ) i9 ?) J- [! D7 H  B- v. Y( f
27 /* Log init */
) B2 s8 Z& z) ?6 V! p! {& G$ C6 v 28 #if OUTPUT_TO_UART13 Z3 c0 x' ^9 u+ P
29     #define LOG_INIT() do {                                     \
& j" s9 R& R% o% D5 d( y) B; q( W2 j 30         PSCModuleControl(SOC_PSC_1_REGS, HW_PSC_GPIO,           \
* G6 N( {2 X# v: a& V  q 31                          PSC_POWERDOMAIN_ALWAYS_ON,             \4 a6 s3 J* @0 @4 n  H% {& x/ R: N
32                          PSC_MDCTL_NEXT_ENABLE);                \- f6 V. D0 s1 s
33         GPIOBank6Pin12PinMuxSetup();                            \
7 S# h3 m! o+ }; H! \ 34         GPIOBank6Pin13PinMuxSetup();                            \) j5 }& [% W( ^. T
35         GPIODirModeSet(SOC_GPIO_0_REGS, 109, GPIO_DIR_OUTPUT);  \$ x& ~! u( Y( E" o: w* Y- M; C
36         GPIODirModeSet(SOC_GPIO_0_REGS, 110, GPIO_DIR_OUTPUT);  \6 `* ~, V$ _3 P/ G. O
37         UARTStdioInit();                                        \/ u' G  O' w% ?9 A
38     } while (0)3 L2 C  W8 c6 n' ]1 W5 O1 p
39 #else
3 I5 G3 ~4 w# A- W$ P4 p, Z 40     #define LOG_INIT() do { } while (0)
, r; X# P# P! a& d1 I2 q 41 #endif1 ]5 a  G) @5 v9 n
42
6 M  l- t$ @) g' L: z 43 /* Log Output */; H8 _' l% w6 z8 k: X
44 #define LOG_INFO(format, ...)      \! G' g' J" p5 T8 D* B
45     do {                           \/ G% A9 g/ V" `0 p3 G
46         OUTPUT("[%s|%s@%s,%d] " format "\n", "INFO ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
: ]: z6 I1 U# [/ P- q( a 47     } while (0)
2 m4 N5 J4 ~. g  l5 i, _ 48
9 j  g% c5 n4 k# S' ?! M 49 #define LOG_ERROR(format, ...)     \
& s. ^5 x( I, E* m 50     do {                           \
6 X, U: P2 i+ @) |, G 51         OUTPUT("[%s|%s@%s,%d] " format "\n", "ERROR", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \  F3 A* C9 }) i1 G
52     } while (0)+ Z) r$ Z7 J! k0 }/ \
53 1 i2 h$ W# a3 v; z  _
54 #define LOG_DEBUG(format, ...)     \
2 W& H& {& |4 h6 ^' @; o4 t8 ?4 o- o 55     do {                           \# V- n9 ?3 N" Y
56         OUTPUT("[%s|%s@%s,%d] " format "\n", "DEBUG", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
4 {) x, O$ W  v$ v& O1 l 57     } while (0)9 ^# [9 w9 _1 I4 w& e% {* Q% [
58 ( c( A* Y4 K6 A; m
59 #define LOG_WARN(format, ...)      \% E4 O* I7 l: i1 b/ X$ Y) S, L) K
60     do {                           \. k! g4 Z9 S+ ]. P. A
61         OUTPUT("[%s|%s@%s,%d] " format "\n", "WRAN ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \: U( P8 q# D; \" z6 X
62     } while (0)
3 I: M$ ~) w. e5 j 63 7 I1 `; M/ J/ _% d% d" i
64 #define LOG_TRACE(format, ...)     \
4 z4 \& F: o8 m0 c6 Y! d) N 65     do {                           \
8 v! a- `7 H% b 66         OUTPUT("[%s|%s@%s,%d] " format "\n", "TRACE", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
% A/ H. _4 D1 J; E' g8 D% } 67     } while (0)
; g# P' d. O7 w/ J& @  x5 Y 68 ! [2 X) S5 n( J! d
69 #define LOG_FATAL(format, ...)     \' N3 P/ G9 p, |/ u& A4 H6 c
70     do {                           \+ P, F! _7 w, _/ E8 T: e. [
71         OUTPUT("[%s|%s@%s,%d] " format "\n", "FATAL", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \0 ~; l! }7 g( x* a: E% S; M6 T
72         exit(1);                   \
! L$ f8 l' F( D8 `3 ~9 `9 E 73     } while (0)
* O) k, H( _1 q$ X 74
5 k/ }4 J* W' a" r, B. f 75 /* Assert */
7 I) _) Q( J9 s  Y 76 #define ASSERT(EXP)                \* ?# m6 p0 I" u6 I( ^/ u( @5 w; Y
77     do{                            \& s4 D7 A3 g( ^
78         if (!(EXP)) {              \
) P0 a: d# b& c  `0 I: G0 s$ Y 79             OUTPUT("[%s@%s,%d] ASSERT: " #EXP "\n", __func__, __FILE__, __LINE__ );                  \
2 R$ v; I4 C, ~ 80             exit(1);               \3 e  j7 \5 _* ^; g/ |+ O
81         }                          \
6 o( X& \3 ^4 ~# Y& b0 k! Q/ _ 82     } while(0)
1 \. n' l# c& u. ^3 N% ~ 83
8 G4 r8 X2 Y+ ]  R" S& `, ?5 a 84 #endif
! `' D5 n1 J4 p; {! S) J
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
板凳
发表于 2014-12-4 14:03:10 | 只看该作者
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏: b0 x4 K3 X; L! K4 Z
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
地板
 楼主| 发表于 2014-12-4 15:21:54 | 只看该作者
tenny 发表于 2014-12-4 14:03
; Y6 K1 O+ Q2 q  o% a修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏

' e4 R% c) q6 ~8 K: X! f你好,是arm这一端的app
5 x1 i# I6 F5 i6 e8 ]; I4 `
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
5#
 楼主| 发表于 2014-12-4 15:40:21 | 只看该作者
tenny 发表于 2014-12-4 14:03- ~' A; G2 p5 k( C( c! y
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏
- M! a3 r! }- h$ J2 Y
你好,你是不是将host/app下的log.h和dsp/driver下的log.h和到一块啦,怎么说下你的思路
3 E0 I4 B% H8 K  A" |
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
6#
发表于 2014-12-4 15:59:03 | 只看该作者
arm 端的 log 并没有用到 uart10 x3 i: {! h0 s! S/ o, [
dsp 端的 log 才使用了 uart1. v8 v9 {! Y/ D
所以,你需要也只需要修改的是 dsp 子工程的 log.h(新版本的代码 是在 dsp/app/log.h,旧的是在 dsp/driver/log.h)( s, U! k7 v/ s! s& e1 J
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
7#
 楼主| 发表于 2014-12-4 17:19:24 | 只看该作者
tenny 发表于 2014-12-4 15:59
" n. v, I& P# B; s4 Oarm 端的 log 并没有用到 uart15 a$ v0 b. w) Z3 H$ P( L
dsp 端的 log 才使用了 uart17 m% L( E3 R& s% U7 r" y1 f( i. K6 W
所以,你需要也只需要修改的是 dsp 子工程的  ...
) v8 H" u+ m4 x4 b; z5 v7 _
那我是不是将你贴出的那段代码,替换DSP/driver下的log.h就可以是吧,
3 p7 I: T3 M; K0 j# t; T, U然后将#define OUTPUT_TO_UART1 1 换成. n9 c6 s( h0 W( E) h
#define OUTPUT_TO_UART1 0
( H6 k" p% a% T0 a  是不是这样
4 X; U. K5 `2 S& r6 X) x5 j" i; q2 T6 n/ W4 R
2 w. w9 C. i: `' E* F  e4 T  l9 Q
* R: @) P8 b1 J* m7 O
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
8#
发表于 2014-12-5 09:25:09 | 只看该作者
. R; z) p4 Q* N; }
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-11-4 17:09 , Processed in 0.049546 second(s), 26 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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