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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
跳转到指定楼层
楼主
发表于 2014-12-4 11:08:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
你好我现在用的你们的omapl138开发板,跑的双核通信的程序,我现在需要通过串口一向外部发信息,但是串口一被DSP占用了,我怎样才能解除DSP占用呢7 W' \  ~5 M: G
7 u' K6 U9 Z/ B8 z5 N
/ a% O: q2 i# K0 x! T, m* d
谢谢1 Q8 t: N' w8 q- m( Y

- X# X8 I6 e1 ?# [' O" C5 z
" Y& l2 o, l3 t7 b8 ^, p
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
沙发
发表于 2014-12-4 14:01:26 | 只看该作者
  1 #ifndef _LOG_H_& g# f. G; i7 D9 \/ u: K6 L+ f% T
  2 #define _LOG_H_
% x* S2 c) p2 x- b; ^  3 . L8 ]3 }$ {4 X, O2 b
  4 /* 0: printf; 1: UART1 */7 e4 @6 `  f& @. R* x4 {
  5 #define OUTPUT_TO_UART1 1
* B; S2 O) O- a0 b
  6 5 o- O* `: A0 H2 c9 ]
  7 /* Switch Log Output */
0 z, p; h) {) p/ O5 f' U7 I  8 #if OUTPUT_TO_UART1
+ H: ?+ K6 ^- Y- ^8 K  9     /* For UART1 Initial */
0 @6 D' B& ]. h% | 10     #include <stdlib.h>
, D6 V$ A' _4 R7 I! F% M/ s; w 11     #include "hw_types.h"  8 w! x2 z1 J1 t5 i2 Y
12     #include "hw_syscfg0_C6748.h"
$ Z9 w4 A2 h) D& X, K) B5 i 13     #include "soc_C6748.h"
& R* |1 o; S+ Y: s6 q! E: p, w/ x 14     #include "psc.h"               
  _% }0 C4 E7 t0 s 15     #include "gpio.h"               6 [- w" h* n# j) T" V( i
16     #include "uart.h"
; g- [- b& x4 ?" N8 _, i 17     #include "uartStdio.h"0 l8 j* Q! @! V* Y
18 : w6 Q4 ]4 {+ o$ U; w
19     #define OUTPUT UARTprintf. J$ w# ?8 v) N  R1 i
20 #else
8 {3 P) U& `  D. W: F6 X 21     #include <stdio.h>
# a8 j! H( g6 ^% Y9 O# r1 B3 [ 22     #include <stdbool.h>
2 A' c  u) x) _; w 23 7 W# ^  f: `, Z. {2 N6 A
24     #define OUTPUT printf
$ N( ~; _- J% O# E5 [* _ 25 #endif
3 B2 V7 Y5 v. H+ X5 u1 [ 26
1 y& I' m6 R5 v0 g* Z 27 /* Log init */: \: O3 R; A& P3 y- S
28 #if OUTPUT_TO_UART1
7 J/ W5 f. d7 G5 [- d 29     #define LOG_INIT() do {                                     \/ [# \/ O! a$ q
30         PSCModuleControl(SOC_PSC_1_REGS, HW_PSC_GPIO,           \9 l+ P) O9 M; c3 D$ S
31                          PSC_POWERDOMAIN_ALWAYS_ON,             \$ h: A! _6 V3 |0 ~1 y% B! ]
32                          PSC_MDCTL_NEXT_ENABLE);                \: {: ?: v# ^+ j- ~& @0 J$ P; S
33         GPIOBank6Pin12PinMuxSetup();                            \
  R8 Z: h! e5 G) k6 N: A' E" U$ ~% k 34         GPIOBank6Pin13PinMuxSetup();                            \
3 z& ]0 q7 p+ ]0 x 35         GPIODirModeSet(SOC_GPIO_0_REGS, 109, GPIO_DIR_OUTPUT);  \& C" q6 A7 y& b5 Y* j1 M
36         GPIODirModeSet(SOC_GPIO_0_REGS, 110, GPIO_DIR_OUTPUT);  \
- g6 O& \, q- p8 Y+ V4 ~0 q 37         UARTStdioInit();                                        \
8 _2 k6 u. \# S& G6 L( [ 38     } while (0)* ~' k. q) g) X( w/ r6 i3 x! e
39 #else
! }# Y+ ]2 Z. w" O: k 40     #define LOG_INIT() do { } while (0)0 |, M$ z1 N) u5 L5 b
41 #endif
  @* W2 F% y3 r/ M# L' I' G 42
5 u6 w) w7 Q: A, O: F6 k 43 /* Log Output */& m7 l! Q% H' I9 X. R/ P
44 #define LOG_INFO(format, ...)      \+ \- S2 J: W, p( s  w" {! I" N
45     do {                           \" w6 F& S0 q, u
46         OUTPUT("[%s|%s@%s,%d] " format "\n", "INFO ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
, V- _+ f, O' l4 Z 47     } while (0)
9 P2 a) W6 L2 y) b3 O+ T, H 48
' S% U+ J( |1 {- N& p 49 #define LOG_ERROR(format, ...)     \6 j4 W8 R2 \% F8 M  S+ X
50     do {                           \
3 d& ~# c8 a4 {5 A 51         OUTPUT("[%s|%s@%s,%d] " format "\n", "ERROR", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
* a  D0 S' y& s  u- S 52     } while (0)
/ @# S/ B  D3 a 53 : h2 |# _) w1 B' Y' H8 y8 h
54 #define LOG_DEBUG(format, ...)     \
: _% ?2 ?9 @) D& t7 D' q 55     do {                           \9 r+ ?6 f9 i6 J  j) _0 Y0 f
56         OUTPUT("[%s|%s@%s,%d] " format "\n", "DEBUG", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
; i( R; G7 L2 S# |7 l. z 57     } while (0)
! v  u/ B; S1 v9 }" \; u 58 + l+ y1 |' D$ _  i
59 #define LOG_WARN(format, ...)      \* S, I7 s6 t* X/ A1 Y
60     do {                           \  c& R) n' e. }! k
61         OUTPUT("[%s|%s@%s,%d] " format "\n", "WRAN ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \& v( v) @! F. U
62     } while (0); C3 E( b3 z: C# S! {
63
! {( X8 {* Y3 \/ Q* ^9 Z 64 #define LOG_TRACE(format, ...)     \
1 P1 w7 X0 c6 F/ |) G 65     do {                           \2 Y7 m; M0 l! }* H# T* @+ ?0 [
66         OUTPUT("[%s|%s@%s,%d] " format "\n", "TRACE", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
1 I% Z8 w. L8 |* v" F1 ^ 67     } while (0)
" ?9 m7 J5 o( `/ ]/ _" P9 I 68 0 n! O0 a+ n! u% K
69 #define LOG_FATAL(format, ...)     \
! w; a+ Y. `: i* Z0 r; Z2 { 70     do {                           \
; p. u* e. K) @ 71         OUTPUT("[%s|%s@%s,%d] " format "\n", "FATAL", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \2 r; _# J/ }. h7 e2 m! g* I- I) j7 |
72         exit(1);                   \
; H0 B" l- K3 z, @ 73     } while (0)
8 M9 m/ G% F! p8 [" K 74 2 R3 \  `/ P4 c6 K
75 /* Assert */+ X  @% e4 C% l. X  E% q, B
76 #define ASSERT(EXP)                \, a- j: t. n. o8 X9 }
77     do{                            \: U$ G9 H9 S' x+ Q7 L
78         if (!(EXP)) {              \3 J! U# D4 z& t7 h1 J  w# J3 O) P
79             OUTPUT("[%s@%s,%d] ASSERT: " #EXP "\n", __func__, __FILE__, __LINE__ );                  \5 }8 w- |! o" b: Z9 a, V
80             exit(1);               \% Y+ U: O9 g; U" u4 @
81         }                          \3 z/ T+ X2 @5 ~6 `, i
82     } while(0)
  D& T0 o" s! ]+ p4 g 83 ' n" m4 I3 E) b8 |  }! a" d- T
84 #endif
: w! l. E5 R/ ^) @1 Q
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
板凳
发表于 2014-12-4 14:03:10 | 只看该作者
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏
$ l$ V, e: E7 B$ `7 `$ g) l8 `- m( X
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
地板
 楼主| 发表于 2014-12-4 15:21:54 | 只看该作者
tenny 发表于 2014-12-4 14:03# S( E% |) S4 X7 ?# C
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏

' b4 H4 M( J( `+ Z; T: h你好,是arm这一端的app3 W& v2 A$ o* ~4 f
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
5#
 楼主| 发表于 2014-12-4 15:40:21 | 只看该作者
tenny 发表于 2014-12-4 14:03
! V- m% n  V* p0 O. n; ^  V9 ^修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏
1 P+ ?2 E+ |. G: v! J6 U
你好,你是不是将host/app下的log.h和dsp/driver下的log.h和到一块啦,怎么说下你的思路4 l& Q: U! r4 J1 [/ D7 {: }5 A7 h
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
6#
发表于 2014-12-4 15:59:03 | 只看该作者
arm 端的 log 并没有用到 uart1
) s' S! S. i4 C  N) L+ Z' Tdsp 端的 log 才使用了 uart1
4 S& m* t2 {$ E1 `5 l4 W所以,你需要也只需要修改的是 dsp 子工程的 log.h(新版本的代码 是在 dsp/app/log.h,旧的是在 dsp/driver/log.h)
5 X, H$ R# B& H( ^- d% k
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
7#
 楼主| 发表于 2014-12-4 17:19:24 | 只看该作者
tenny 发表于 2014-12-4 15:590 x1 L1 w! |- y. d
arm 端的 log 并没有用到 uart1
& T9 z5 Y0 L% y0 _/ Fdsp 端的 log 才使用了 uart1
/ {8 y3 I; j  @7 A5 y9 ?* x所以,你需要也只需要修改的是 dsp 子工程的  ...

9 Y) C* x7 R. [6 e% t3 {: p那我是不是将你贴出的那段代码,替换DSP/driver下的log.h就可以是吧,
8 m# [. y# F% A- p- W8 f' k然后将#define OUTPUT_TO_UART1 1 换成" e5 H/ ^$ l1 {
#define OUTPUT_TO_UART1 05 j; l4 q* X) i+ b$ G9 L
  是不是这样
3 a( e8 t  o: [
& J5 d  d- u! b# }" S/ K# D% D: i( F) _5 l& X

" C2 D/ N% x9 L3 }
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

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

7 D# z5 J# A7 b3 B3 a" z; V  v/ M- x
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-7-12 21:16 , Processed in 0.042084 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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