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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
跳转到指定楼层
楼主
发表于 2014-12-4 11:08:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
你好我现在用的你们的omapl138开发板,跑的双核通信的程序,我现在需要通过串口一向外部发信息,但是串口一被DSP占用了,我怎样才能解除DSP占用呢5 V4 z  `0 S" k) E* [: @3 I
% a' s% K, q& [# Q$ d

9 w2 v' C0 y& R0 ]9 v谢谢& A- [0 k5 B5 a6 @+ x& l4 g8 b$ S

0 x: k% I0 d$ J( R! `9 ^; A
; ]2 b( s: f, N4 w- v
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
沙发
发表于 2014-12-4 14:01:26 | 只看该作者
  1 #ifndef _LOG_H_: y2 s! A$ B) n% f
  2 #define _LOG_H_
; f2 k& f8 s3 g. E1 q2 r  3
% E3 |8 c* x) c8 W5 z  4 /* 0: printf; 1: UART1 */
# G+ V0 W. r6 D' B6 G' c' n% s  5 #define OUTPUT_TO_UART1 1
! x& ]5 B5 M) n3 e+ q$ p
  6
* B& N  d" e" @4 S' N7 C2 H  7 /* Switch Log Output */0 J4 l3 i7 d0 M; v6 L
  8 #if OUTPUT_TO_UART19 c) j3 ?( C1 t
  9     /* For UART1 Initial */) M& R! {: p! o, J3 p
10     #include <stdlib.h>
9 V' R0 D7 B* S- S$ j 11     #include "hw_types.h"    e. c$ }) F! }8 I1 O) C8 m
12     #include "hw_syscfg0_C6748.h"$ _. w$ {) e1 C& l* ?/ U: ?# f
13     #include "soc_C6748.h"
2 o4 h* u% U% A; D 14     #include "psc.h"               
# A+ ?7 m( U7 z+ p- X 15     #include "gpio.h"               0 T+ F, M6 P! o8 c' u: G
16     #include "uart.h"
0 f. ?* S9 D7 i. l/ H 17     #include "uartStdio.h"
4 d: L; t! ]9 z) Y( B 18
5 [! T& M; Q8 z- j4 U( _" W& v 19     #define OUTPUT UARTprintf5 {& s& a" s3 A( \: W$ F
20 #else4 O- Z! W2 j: `" {
21     #include <stdio.h>
* c; ]+ _4 D  c" h 22     #include <stdbool.h>5 f8 ~# W* v$ U- W3 m* }5 H1 J$ w
23 0 f. }  Y6 G2 w) E- i* m/ M$ E) @
24     #define OUTPUT printf
# W: p# D6 \2 z- C% {( X' u 25 #endif
5 E6 v3 I- i' b% S( r6 _, }, F 26
' b  a. z+ p7 S% m 27 /* Log init */! K6 j% C! s$ A2 L# Q
28 #if OUTPUT_TO_UART1
5 h0 F! s7 Q# }1 J: F7 j7 O7 e 29     #define LOG_INIT() do {                                     \" Q) F  u9 I9 |/ Z
30         PSCModuleControl(SOC_PSC_1_REGS, HW_PSC_GPIO,           \
" O' s1 [7 |0 T7 d% x# v 31                          PSC_POWERDOMAIN_ALWAYS_ON,             \6 J4 H6 Y4 r0 ~' S  [
32                          PSC_MDCTL_NEXT_ENABLE);                \' f4 u) F, U3 }2 E
33         GPIOBank6Pin12PinMuxSetup();                            \
& v$ V: P. C* |5 `% | 34         GPIOBank6Pin13PinMuxSetup();                            \2 W# c% N2 C7 r7 x, X
35         GPIODirModeSet(SOC_GPIO_0_REGS, 109, GPIO_DIR_OUTPUT);  \4 y- u$ Z& A! q) X! a* X8 T) g
36         GPIODirModeSet(SOC_GPIO_0_REGS, 110, GPIO_DIR_OUTPUT);  \
' J3 V. U. i0 u5 W+ |: R: R 37         UARTStdioInit();                                        \1 ^: u8 l/ `* i  S
38     } while (0), P& W' u; t, q: X* l7 {: L1 t# X
39 #else
# A2 t7 f* B8 ]" q/ s 40     #define LOG_INIT() do { } while (0)
0 s, f/ |* D# X 41 #endif
  G: Y" _9 j( f 42
" Q; C) f7 `& w 43 /* Log Output */8 c$ J2 s& ~3 `. r( H" ^5 t$ C) C% `
44 #define LOG_INFO(format, ...)      \
6 p8 S* h5 w4 x$ Q" C 45     do {                           \. F, p* Z9 R4 }; l6 K( W) N* j) v
46         OUTPUT("[%s|%s@%s,%d] " format "\n", "INFO ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \: C1 j0 @& P, D9 Q' a
47     } while (0)  Y9 t( ~" {* F4 j
48 7 l! h! L$ m& E  ]7 e
49 #define LOG_ERROR(format, ...)     \; C; B8 {. s, C4 X7 L
50     do {                           \
) ~0 a5 ?3 u. } 51         OUTPUT("[%s|%s@%s,%d] " format "\n", "ERROR", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
9 ^0 ?' C3 c+ {8 m1 e0 J 52     } while (0); U% d+ i3 i. A" I* V
53 % A3 L7 ]7 j! T
54 #define LOG_DEBUG(format, ...)     \
* E3 e8 P* i$ ^* O/ Q 55     do {                           \
6 `* F( g" J9 U) U 56         OUTPUT("[%s|%s@%s,%d] " format "\n", "DEBUG", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
0 \% F2 N2 O& D0 R' V+ n 57     } while (0)
. B# z. I; v, X9 ~8 k 58
: O( l# e  M9 R" k6 \ 59 #define LOG_WARN(format, ...)      \! I" T( C7 X0 Z: P
60     do {                           \
' ]2 o" v8 }- B6 ] 61         OUTPUT("[%s|%s@%s,%d] " format "\n", "WRAN ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
; B$ O2 U. j# W$ a# { 62     } while (0)6 J) I, f! g3 z& a$ x
63 # i7 p% [0 e# ]; h, f
64 #define LOG_TRACE(format, ...)     \
( ?& q( R4 m3 ^! t 65     do {                           \
" U- v- O" w$ Q( u' o5 h 66         OUTPUT("[%s|%s@%s,%d] " format "\n", "TRACE", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
9 a2 c1 ?% a" Y- a- h) M5 N 67     } while (0)
# u& R! u1 L- f8 T0 J 68 4 d& W! O, g5 m
69 #define LOG_FATAL(format, ...)     \. o  g8 i! b9 `; f+ W
70     do {                           \2 V1 x8 v: B7 z' {( h# F
71         OUTPUT("[%s|%s@%s,%d] " format "\n", "FATAL", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
+ Y4 \/ p- Q8 j5 ~# R 72         exit(1);                   \/ Q; b, p1 N$ e8 W; Z4 r. _
73     } while (0)
- A! A2 x& D, K6 L 74 4 p- ^4 y' A5 R. V
75 /* Assert */
% J# r& F$ n8 D- h1 I5 U- t7 A0 V6 W 76 #define ASSERT(EXP)                \! t8 U! C6 v' Z! Y
77     do{                            \
# O5 g' e% f, H- ^& O3 q 78         if (!(EXP)) {              \
: }, F( a. {8 M; k4 L; n9 p 79             OUTPUT("[%s@%s,%d] ASSERT: " #EXP "\n", __func__, __FILE__, __LINE__ );                  \4 l7 Z$ `4 r+ ]2 g
80             exit(1);               \! q: l  y! V# G( Y8 W" W, W9 |
81         }                          \
1 v& W+ ?3 f6 E: A2 O 82     } while(0)- g7 V* Q4 u; a$ M+ Z6 j/ [
83
  |/ B) G3 \* y1 H  N" |+ D 84 #endif
. w+ l( U& r$ E' S
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
板凳
发表于 2014-12-4 14:03:10 | 只看该作者
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏" e6 n# r( T: S
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
地板
 楼主| 发表于 2014-12-4 15:21:54 | 只看该作者
tenny 发表于 2014-12-4 14:03
: G# `6 A; ^# A. p3 O修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏
- K) s6 w2 M. _1 R6 l, @2 k
你好,是arm这一端的app' x, d& g* c& T' J
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
5#
 楼主| 发表于 2014-12-4 15:40:21 | 只看该作者
tenny 发表于 2014-12-4 14:034 z/ f$ p) l% b2 \6 h
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏

0 N- v9 \4 i9 K  V9 j8 |你好,你是不是将host/app下的log.h和dsp/driver下的log.h和到一块啦,怎么说下你的思路
  _4 {! b/ i& M
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
6#
发表于 2014-12-4 15:59:03 | 只看该作者
arm 端的 log 并没有用到 uart1+ }4 K! k& O1 C. j: s! R' L; @
dsp 端的 log 才使用了 uart1$ L* Z7 r6 h4 I1 c( V* T
所以,你需要也只需要修改的是 dsp 子工程的 log.h(新版本的代码 是在 dsp/app/log.h,旧的是在 dsp/driver/log.h)% r9 e  @1 P5 k% K1 J# y0 V
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
7#
 楼主| 发表于 2014-12-4 17:19:24 | 只看该作者
tenny 发表于 2014-12-4 15:59
8 N, `, u, l9 D/ d- R  ^arm 端的 log 并没有用到 uart14 c1 W" S/ i' r
dsp 端的 log 才使用了 uart1
. t$ [& T5 c5 I+ s8 t. Z, S% m所以,你需要也只需要修改的是 dsp 子工程的  ...
3 _5 Y8 p: A. q, \
那我是不是将你贴出的那段代码,替换DSP/driver下的log.h就可以是吧,7 F$ ^1 H2 X2 w! w
然后将#define OUTPUT_TO_UART1 1 换成
% `- }( _3 g3 H1 E9 L#define OUTPUT_TO_UART1 0
+ |7 g+ x. i, z4 S, k  是不是这样
+ q" S# g% W) L4 q! p8 B8 w1 L4 s8 |& d: m& D
9 Y# ~5 ^7 A* Z: R

7 o8 p( E. R% Q9 d1 J0 H2 E, O) s
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

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

4 p2 w  y: t, e1 U6 u/ C5 j
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-11-21 07:34 , Processed in 0.076906 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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