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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
跳转到指定楼层
楼主
发表于 2014-12-4 11:08:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
你好我现在用的你们的omapl138开发板,跑的双核通信的程序,我现在需要通过串口一向外部发信息,但是串口一被DSP占用了,我怎样才能解除DSP占用呢
  O# i6 C) X( o6 R  V: j& T0 c8 M* o. |- {; U9 r0 `% r4 }
+ Z" ^$ W& e2 g8 I: N: F% Y
谢谢& N8 W+ u( _# b9 F
5 R( U& d0 }& F5 m! v
4 G9 `+ L2 R& m; P+ [! S
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
沙发
发表于 2014-12-4 14:01:26 | 只看该作者
  1 #ifndef _LOG_H_
# I/ h+ h; F% o  G' r  2 #define _LOG_H_
2 J! Y2 Z/ ]+ b" _' }0 P. P  3
" s+ q0 S3 A# D$ @, n+ H4 H8 Y* ]# h! N  4 /* 0: printf; 1: UART1 */
3 g$ G2 T  g6 p  5 #define OUTPUT_TO_UART1 1" j% ^/ K3 I/ w" s
  6 . q0 A5 n. M. {; ~9 Q" q3 b4 J
  7 /* Switch Log Output */
5 z/ I) `0 j: r& f) R7 e  8 #if OUTPUT_TO_UART15 ~0 z. T$ L) t
  9     /* For UART1 Initial */! ^9 z4 Q9 N3 V3 r) Q# u: I
10     #include <stdlib.h>
/ Z. K+ b1 j! e0 M 11     #include "hw_types.h"  ' L$ c4 L+ F) _! |8 d
12     #include "hw_syscfg0_C6748.h"4 K" c9 p5 g- A( c! {
13     #include "soc_C6748.h"
" Q# k8 O2 F$ T: C! ?+ X5 X0 @ 14     #include "psc.h"               
% y9 Z% V3 N. |( F% r; ?$ F 15     #include "gpio.h"               
) ]- G2 F9 D6 F- h 16     #include "uart.h"1 `) I; a; W. X  D
17     #include "uartStdio.h"; E. J/ p' I6 @  |0 t- ?" e; Q* ]
18 ! r. O" G. f1 g% B- `3 M6 u
19     #define OUTPUT UARTprintf- \* f- ]7 n' f& Z6 j) D
20 #else
- I+ M/ e, [; _  f+ y* ?  E 21     #include <stdio.h>9 I& a8 Z- n9 R: ]
22     #include <stdbool.h>
% C  X/ A1 e# N$ ^ 23 ' g. [+ h3 a6 w1 A2 ]4 u6 S
24     #define OUTPUT printf" E% e3 a) K" G
25 #endif
. J, i  A% X: E! {: w 26 ; _3 a9 Q1 q' g( _' m. b
27 /* Log init */
! O: Z" E0 C6 v, l4 m. B; w 28 #if OUTPUT_TO_UART1
2 R/ O8 b! I, v& S7 _0 k 29     #define LOG_INIT() do {                                     \
4 j+ Q& ^, A, {7 N" ` 30         PSCModuleControl(SOC_PSC_1_REGS, HW_PSC_GPIO,           \
# x1 Z- m  Y7 C+ h2 V2 |* E 31                          PSC_POWERDOMAIN_ALWAYS_ON,             \; F6 @0 x; j, C* q0 A7 D0 z
32                          PSC_MDCTL_NEXT_ENABLE);                \
: y  `1 ~) M* L. @. ]1 g 33         GPIOBank6Pin12PinMuxSetup();                            \
, b" a0 P9 y; p! Y( ~9 d 34         GPIOBank6Pin13PinMuxSetup();                            \0 `3 E3 N2 d+ f( O
35         GPIODirModeSet(SOC_GPIO_0_REGS, 109, GPIO_DIR_OUTPUT);  \& u; B. A' x8 ^2 }
36         GPIODirModeSet(SOC_GPIO_0_REGS, 110, GPIO_DIR_OUTPUT);  \2 f- t/ e$ W2 p, `" t
37         UARTStdioInit();                                        \2 v! U. N' G: B6 F0 }# {
38     } while (0)
9 P8 z7 S8 }9 B# ^3 V" b0 _ 39 #else0 \+ Y4 W: w0 G
40     #define LOG_INIT() do { } while (0): h, q* E! \0 k9 Y8 d( W
41 #endif
, H5 S( V$ n9 I 42
* b" y  {% j) u+ t 43 /* Log Output */" |2 E; ^0 M$ F: g& q
44 #define LOG_INFO(format, ...)      \
# l1 g% C7 z, ?6 Q# \ 45     do {                           \9 d: g4 Q3 z9 c( Z. g
46         OUTPUT("[%s|%s@%s,%d] " format "\n", "INFO ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \  m! Z$ N, S) f- s' a+ C
47     } while (0)0 A% j3 G, m/ ^) E' t
48 1 w4 n+ ?4 w( |) F5 V8 C
49 #define LOG_ERROR(format, ...)     \2 d, {. d1 E! l6 v1 O( x& r8 T
50     do {                           \/ w$ V. Z7 n# X# e' |
51         OUTPUT("[%s|%s@%s,%d] " format "\n", "ERROR", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
0 A+ y3 k5 `' m7 x 52     } while (0)
6 f- V' B# C  |0 j, ?, X 53 4 D( C4 y8 c7 T, {+ o6 W  N, ]
54 #define LOG_DEBUG(format, ...)     \
- {: _7 Y- ?( M! W  s 55     do {                           \; k7 ?! D) A: X: z8 i3 T
56         OUTPUT("[%s|%s@%s,%d] " format "\n", "DEBUG", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
9 B# B" X) V6 W! e 57     } while (0)
0 v2 w7 N4 t, l% _4 g6 e; X 58
8 f* Z# ^1 l+ N 59 #define LOG_WARN(format, ...)      \2 o6 U* Y. L6 ~4 ]
60     do {                           \
! Q1 Y3 Z; d2 Q0 ^( N$ F 61         OUTPUT("[%s|%s@%s,%d] " format "\n", "WRAN ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \0 U0 E  T9 W1 S- \
62     } while (0)
! n; e. V% V6 h8 D! D( M 63
2 S" p7 U5 W1 H. N8 e/ M 64 #define LOG_TRACE(format, ...)     \
  B3 d, W9 U$ ]% d3 o 65     do {                           \
9 r" R0 y+ d/ _7 |9 {0 f  H( ]/ U 66         OUTPUT("[%s|%s@%s,%d] " format "\n", "TRACE", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
; }- y1 E& ^" s% b, N6 S4 Z 67     } while (0)
' _) _( R+ O, j0 p9 y0 X, z 68 5 c' D1 ~- o  Q  M  C! i
69 #define LOG_FATAL(format, ...)     \+ e: n" g( H5 h+ F. g1 R
70     do {                           \
7 r' u% `3 ^5 H: \+ M2 j: H 71         OUTPUT("[%s|%s@%s,%d] " format "\n", "FATAL", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
. _) X4 X% a! L* D% a. a 72         exit(1);                   \" N1 H+ d3 i4 R% C( M. P
73     } while (0)3 Z7 G6 a+ \3 Y9 y5 _5 c
74 . v1 D6 C( o+ z2 ~  g3 [
75 /* Assert */
" g1 _& F  ^3 T6 D3 \- z 76 #define ASSERT(EXP)                \
/ Q2 a( T+ a9 I6 k# x7 U/ j 77     do{                            \/ ^1 f9 f9 e3 \6 B6 U' _# K+ X
78         if (!(EXP)) {              \2 U. X8 n* I+ w7 u( E' e- X
79             OUTPUT("[%s@%s,%d] ASSERT: " #EXP "\n", __func__, __FILE__, __LINE__ );                  \
" x# m- H% t  w2 s 80             exit(1);               \/ j8 V4 O8 k2 y
81         }                          \3 B; r: g$ U% C7 c
82     } while(0)' ?; y2 Y& s; {! |0 {1 g5 M$ O  a
83 " U$ @8 ^7 e4 h' c
84 #endif& Z5 h* B3 B* C: c3 d* d3 N. b
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
板凳
发表于 2014-12-4 14:03:10 | 只看该作者
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏
8 D; C' J! ~6 Y0 k
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
地板
 楼主| 发表于 2014-12-4 15:21:54 | 只看该作者
tenny 发表于 2014-12-4 14:03
# F& k+ t. z5 F% X% }修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏

" [  |5 y$ R$ p9 M你好,是arm这一端的app+ t/ g4 r2 [% @: O; z1 h' T
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
5#
 楼主| 发表于 2014-12-4 15:40:21 | 只看该作者
tenny 发表于 2014-12-4 14:038 R, K% t9 g0 m# a3 b1 s  T
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏
# D2 r+ u1 R4 x( `6 {  m4 q- ]
你好,你是不是将host/app下的log.h和dsp/driver下的log.h和到一块啦,怎么说下你的思路
* o6 k. [% {$ @/ \* A' G
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
6#
发表于 2014-12-4 15:59:03 | 只看该作者
arm 端的 log 并没有用到 uart1
; X5 ?) z, l5 O! kdsp 端的 log 才使用了 uart1, j% W" K. c6 c
所以,你需要也只需要修改的是 dsp 子工程的 log.h(新版本的代码 是在 dsp/app/log.h,旧的是在 dsp/driver/log.h)
% b- k+ M, {% S5 P$ t/ S# x
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
7#
 楼主| 发表于 2014-12-4 17:19:24 | 只看该作者
tenny 发表于 2014-12-4 15:593 {" l2 h$ q: e$ U7 q; n6 G/ q
arm 端的 log 并没有用到 uart1
/ q, p1 [% K. o3 B# \" N" d# u8 Odsp 端的 log 才使用了 uart1, I# D- O& ~1 W. g
所以,你需要也只需要修改的是 dsp 子工程的  ...

4 S; ]+ p. s5 I% e- a' D那我是不是将你贴出的那段代码,替换DSP/driver下的log.h就可以是吧,) f* @% o) h( d" X. ?: Z3 f/ a
然后将#define OUTPUT_TO_UART1 1 换成
$ |& ^% Z7 [, a8 b6 \/ n#define OUTPUT_TO_UART1 0
9 B4 H" R1 [1 W# b  \7 A  是不是这样
7 L( x* e4 K' f. u+ L& i
" n/ k& n! Y; h2 C! K5 x, z( {0 x
# o! [9 C# f' w6 A2 Z+ i! `* R* m+ o  |9 l
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
8#
发表于 2014-12-5 09:25:09 | 只看该作者
5 X' }/ p1 R0 c+ A
回复

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2026-1-31 02:08 , Processed in 0.044183 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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