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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
跳转到指定楼层
楼主
发表于 2014-12-4 11:08:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
你好我现在用的你们的omapl138开发板,跑的双核通信的程序,我现在需要通过串口一向外部发信息,但是串口一被DSP占用了,我怎样才能解除DSP占用呢- N3 E! R# b. R3 L2 ]7 ]

6 `" |8 l  e" m# {: B9 T8 m* c" `4 w2 L8 P, D
谢谢& T* N( f( }6 m4 i' x

  |! U5 k" W! L8 t- H  _
. ?& l5 E4 R( C2 T% Q4 J7 ^
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
沙发
发表于 2014-12-4 14:01:26 | 只看该作者
  1 #ifndef _LOG_H_
6 U& ]5 [7 g" i  2 #define _LOG_H_5 H8 L: ^5 M+ Y0 X
  3 % B$ g) t" x6 J  i9 c. e% U0 i
  4 /* 0: printf; 1: UART1 */& j$ O: n# Y# b: b- |
  5 #define OUTPUT_TO_UART1 10 U2 R8 {- n1 E4 P4 _- ^
  6
. ^$ W2 @, I9 `- j. i  7 /* Switch Log Output */- R. K  [( q  Q( n3 g! M" Y
  8 #if OUTPUT_TO_UART1$ |3 e0 \/ K; }/ n# ^
  9     /* For UART1 Initial */
3 G& }+ b8 ?$ F& l 10     #include <stdlib.h>, V! h7 x) D: {
11     #include "hw_types.h"  , R: `5 A; O0 @, J6 _
12     #include "hw_syscfg0_C6748.h"0 s) S6 D' z' N; S" v2 C3 B* q  u
13     #include "soc_C6748.h"7 y, S6 |( ?7 u
14     #include "psc.h"               
8 Z3 l. [, L# h" \, j- a0 N# I; N 15     #include "gpio.h"               ( v% H5 [; p. H! g+ ]
16     #include "uart.h"4 r' U4 c, D2 @# M5 j' }
17     #include "uartStdio.h": g" y' R9 U. Y, ^2 s0 v. p# B$ @
18
6 ]5 h3 p1 o6 n' | 19     #define OUTPUT UARTprintf) q" R1 l" z7 L" P4 G4 J5 `. H$ ~
20 #else/ u3 g3 J9 O" }0 h+ c/ L
21     #include <stdio.h>
- ?2 n2 N5 Z" F" w+ I  u& t2 W 22     #include <stdbool.h>
; u: a7 g5 |4 }: c* _1 C/ c 23
; c8 K3 E+ P6 S' A; q6 T/ c, r 24     #define OUTPUT printf
# I3 F& c# `( r4 A4 _# T2 h$ @ 25 #endif
0 d+ P& S9 r, \+ \ 26 : a  m  y$ P; ?/ S2 H- k) I
27 /* Log init */5 e4 R$ B3 v0 f+ c& B
28 #if OUTPUT_TO_UART1
- c. J+ U$ w( \0 z 29     #define LOG_INIT() do {                                     \
3 \9 m" ~* D9 L7 j! {# |) C7 ^ 30         PSCModuleControl(SOC_PSC_1_REGS, HW_PSC_GPIO,           \3 M) H! j2 `2 F
31                          PSC_POWERDOMAIN_ALWAYS_ON,             \' v; S+ H. G2 d( R4 c9 q" m
32                          PSC_MDCTL_NEXT_ENABLE);                \8 c% Q4 D7 _$ G( u, R' x
33         GPIOBank6Pin12PinMuxSetup();                            \* c: C% l3 {: ~, K  @" z
34         GPIOBank6Pin13PinMuxSetup();                            \
1 I3 K6 ?8 o5 y- R 35         GPIODirModeSet(SOC_GPIO_0_REGS, 109, GPIO_DIR_OUTPUT);  \) \, s1 l% ?# P6 F; x  z5 m
36         GPIODirModeSet(SOC_GPIO_0_REGS, 110, GPIO_DIR_OUTPUT);  \
; Q0 {, D4 n8 r 37         UARTStdioInit();                                        \
! T2 ]$ ?9 K1 B- D* _& b 38     } while (0)8 o/ a, Z+ `; @2 k
39 #else
& c% S; R, Z. e- u' D2 V 40     #define LOG_INIT() do { } while (0), g/ o# r" f5 e$ o0 y% B9 [
41 #endif
% Q9 P" c; q# C6 ~ 42
" k/ p5 i5 d) U, _9 A: K. d 43 /* Log Output */
6 O- S; U+ U$ _- \ 44 #define LOG_INFO(format, ...)      \9 Y1 O/ z' }2 T, F) [. c
45     do {                           \
& y. _7 V1 ~$ j 46         OUTPUT("[%s|%s@%s,%d] " format "\n", "INFO ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \! Z2 |' {; }" j9 u
47     } while (0)8 H! U: V1 ]" @# D5 _. H9 u( a: h
48
% u2 \5 k% Z5 V( ~$ @  ` 49 #define LOG_ERROR(format, ...)     \: [" K% W' L  K- k  \+ L: ]
50     do {                           \
( y( \+ o# T1 {; g: [. ` 51         OUTPUT("[%s|%s@%s,%d] " format "\n", "ERROR", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \( \/ P6 I0 {' [* I0 H1 Q
52     } while (0)- a. V5 I# N0 s8 F- C
53 2 |, P# E; D" f# {& y: f+ A, O
54 #define LOG_DEBUG(format, ...)     \
' ^; K8 \5 N# m  \ 55     do {                           \$ A% {& V  S1 i4 V+ A4 m4 R
56         OUTPUT("[%s|%s@%s,%d] " format "\n", "DEBUG", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \" C$ [* [  v- y1 t7 e3 D
57     } while (0)
3 _) y0 G7 n; {) W( J* R6 \ 58
6 M, z8 I! W6 Y+ e! O3 }9 f 59 #define LOG_WARN(format, ...)      \! r% R2 j" `4 C$ P/ H; [* I% y
60     do {                           \. N1 [/ _9 D& r6 t, \/ _# x1 d$ `
61         OUTPUT("[%s|%s@%s,%d] " format "\n", "WRAN ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \4 T0 C" G8 H: f; V
62     } while (0)
( Y, l- t5 G5 s% Q. i% w: I  P1 D( o 63
- [" Z- ]) L1 P. L8 p 64 #define LOG_TRACE(format, ...)     \
* L' c3 u2 t8 J- ]5 @7 q/ s 65     do {                           \/ s4 k! l5 R. D6 P3 K, m4 V2 Q
66         OUTPUT("[%s|%s@%s,%d] " format "\n", "TRACE", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \3 a, T0 o+ C+ @) s2 }; X, |  w
67     } while (0)
6 K! J% _* S  e8 D1 E8 Q' Y8 Z1 M9 M 68 5 K% h2 [; M. V; q, v' b
69 #define LOG_FATAL(format, ...)     \; m# K! Z; m% J2 F  }  Y
70     do {                           \
8 I$ f0 Z) A0 b. `( W% \3 q) M 71         OUTPUT("[%s|%s@%s,%d] " format "\n", "FATAL", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \3 X. Z& L  A- _9 @2 i  G$ N
72         exit(1);                   \! S1 A  Q5 \4 r  G! O. A; c
73     } while (0)
% P! s" `& o$ B. p/ k% t9 a  ] 74
' E; {. q  q+ D" m( e$ ? 75 /* Assert */
1 ^7 G. V2 X& E  d( S 76 #define ASSERT(EXP)                \0 M# D% G$ T7 G/ A
77     do{                            \
9 H; Y" E9 E* ` 78         if (!(EXP)) {              \
$ c# l/ X* w8 {% q% m 79             OUTPUT("[%s@%s,%d] ASSERT: " #EXP "\n", __func__, __FILE__, __LINE__ );                  \
6 a! Q4 J3 v& \* ]2 R0 u 80             exit(1);               \: x. u2 h! [  R/ U! g  {5 H% f
81         }                          \0 w, e' ]  n: m  {7 `
82     } while(0)3 q2 v) }3 c4 h7 f7 [2 Y
83
( Y! v5 v$ q* H# L, f& r$ O1 V 84 #endif
6 H9 m: ]4 o" A, {2 W. a
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
板凳
发表于 2014-12-4 14:03:10 | 只看该作者
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏
4 Z3 P) \" c+ k' f1 b* P
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
地板
 楼主| 发表于 2014-12-4 15:21:54 | 只看该作者
tenny 发表于 2014-12-4 14:03/ j# B* u: E% @* _, Q
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏

' K) {: r- p  K* e# c你好,是arm这一端的app
2 a$ j2 B8 P3 i
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
5#
 楼主| 发表于 2014-12-4 15:40:21 | 只看该作者
tenny 发表于 2014-12-4 14:03* L2 p' Y0 M6 V3 C
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏

9 ]' Z& X. O: i, r! B你好,你是不是将host/app下的log.h和dsp/driver下的log.h和到一块啦,怎么说下你的思路5 ?( G# E/ D/ m
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
6#
发表于 2014-12-4 15:59:03 | 只看该作者
arm 端的 log 并没有用到 uart1
( K5 _2 N8 k" f! K1 Bdsp 端的 log 才使用了 uart16 k2 ]' [, k2 n4 {2 _$ D
所以,你需要也只需要修改的是 dsp 子工程的 log.h(新版本的代码 是在 dsp/app/log.h,旧的是在 dsp/driver/log.h)$ ?6 r& U7 n- ^. r4 k% ]
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
7#
 楼主| 发表于 2014-12-4 17:19:24 | 只看该作者
tenny 发表于 2014-12-4 15:592 }' F3 o1 t, \' t7 l! ]: q
arm 端的 log 并没有用到 uart18 J4 p7 l2 V' N! Q/ U; n" E
dsp 端的 log 才使用了 uart1- w3 a/ G) _6 ^5 p
所以,你需要也只需要修改的是 dsp 子工程的  ...
6 j& B) V& c/ S" y) I; N2 ]+ w! ^* m
那我是不是将你贴出的那段代码,替换DSP/driver下的log.h就可以是吧,
, X9 Q; v: d% G7 e# F" T' b9 |  j$ z, D然后将#define OUTPUT_TO_UART1 1 换成
! F; P2 O. o5 k/ B1 \% T4 n#define OUTPUT_TO_UART1 0& M8 g+ f' t& ?# `" t
  是不是这样, P4 K; d7 ~- r  ^) M( T
$ l# N# O4 ~! Z$ U/ }8 t4 U

# q6 x5 T) Z  F1 L- Y
3 x% h3 e) L# k. t6 _6 X$ I
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

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

: a$ U* `4 t, r# l
回复

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2026-1-29 05:28 , Processed in 0.050266 second(s), 25 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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