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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
跳转到指定楼层
楼主
发表于 2014-12-4 11:08:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
你好我现在用的你们的omapl138开发板,跑的双核通信的程序,我现在需要通过串口一向外部发信息,但是串口一被DSP占用了,我怎样才能解除DSP占用呢
) P# v4 y4 `, s6 V& @7 O' Y, i9 Q+ W3 S/ u" q
# }; x1 }8 n: C/ Y% i; g! \) n
谢谢( c* V, p8 _: ]! H# _

2 s, k  H1 A; U
, ~9 _5 I# R* Z, K5 `
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
沙发
发表于 2014-12-4 14:01:26 | 只看该作者
  1 #ifndef _LOG_H_
; s( \8 u+ t: i  2 #define _LOG_H_; G+ S- `+ E5 Q' b4 ~
  3
, I$ d& {/ f# C  4 /* 0: printf; 1: UART1 */! w; ?* Q3 c  a' |
  5 #define OUTPUT_TO_UART1 1. u, B/ h0 x8 i; A0 j
  6 , ^1 H+ q% x! v! p) @; `# g0 r% t4 N
  7 /* Switch Log Output */
8 r' [$ w8 ?  ?: b7 e8 Y  8 #if OUTPUT_TO_UART1
7 H5 J- v: k! ~" h3 a6 [  9     /* For UART1 Initial */; d9 j( d8 O) ?1 ~# i) C( G0 f
10     #include <stdlib.h>
9 l' |+ m2 [7 C9 m7 a' T- D 11     #include "hw_types.h"  
/ ^% u" e# g) c, N, Q- v! ~7 C 12     #include "hw_syscfg0_C6748.h"1 v& D6 _* j  i0 g( `% k
13     #include "soc_C6748.h"! C; F+ f4 f1 i) Q- T" W
14     #include "psc.h"               
0 q! O$ q" N# @ 15     #include "gpio.h"               ( c$ X% @) Y; @; c, N, S- @
16     #include "uart.h"5 Y6 I# c( Z! m2 G
17     #include "uartStdio.h"( w# O) h# H; X* ]# S2 j: S7 s1 B' n  t
18
8 b8 K% x6 j3 W, ` 19     #define OUTPUT UARTprintf
( Y; n4 u' e' B; h. M 20 #else
/ {4 R: _9 H% z( j8 c! B 21     #include <stdio.h>. C' {5 u8 g0 B# E( a. _
22     #include <stdbool.h># a2 {3 S# w2 T) }7 X$ H( C
23 1 _# _' [: b& d  H! y! J& v5 K
24     #define OUTPUT printf" H# b2 D* _; F7 a) s. M$ m4 x
25 #endif
5 v; R  @) C8 a4 ]  O5 V 26
9 v1 j+ F6 x  k 27 /* Log init */5 ^4 j( p3 X' m: z; ^
28 #if OUTPUT_TO_UART1
/ c7 E/ u: C: C1 D: v% O 29     #define LOG_INIT() do {                                     \) y5 G0 T0 Y9 O: @; D. @
30         PSCModuleControl(SOC_PSC_1_REGS, HW_PSC_GPIO,           \( \6 D% M1 i* g- x* N6 U
31                          PSC_POWERDOMAIN_ALWAYS_ON,             \! b; o) P8 T; Z
32                          PSC_MDCTL_NEXT_ENABLE);                \
7 f2 F- c" a/ H7 {3 s1 m7 ^) ^ 33         GPIOBank6Pin12PinMuxSetup();                            \
. L& ^' y% [5 Y; _" z  w2 {9 E 34         GPIOBank6Pin13PinMuxSetup();                            \
: }- D6 @9 l2 ~* e. s2 x' ? 35         GPIODirModeSet(SOC_GPIO_0_REGS, 109, GPIO_DIR_OUTPUT);  \
: \  G0 p: M3 Q! w4 d. Q0 s+ u: L 36         GPIODirModeSet(SOC_GPIO_0_REGS, 110, GPIO_DIR_OUTPUT);  \- b: S6 \5 T9 g/ [
37         UARTStdioInit();                                        \1 I, b" n7 k4 I' N' o3 z: m' V
38     } while (0)* {! Q: G# }; a. W- B+ l
39 #else; j; V0 k) E# P+ i9 J* M
40     #define LOG_INIT() do { } while (0)
' |$ _# t, }3 H/ y' E3 ?% y' V 41 #endif. i* [6 U/ ]6 R* k4 e7 R9 P: R# t
42
! `' |$ p2 S+ E7 `% R1 o0 ^ 43 /* Log Output */' C9 h4 E$ y+ h
44 #define LOG_INFO(format, ...)      \
& ]5 E! e4 T% z' {, w$ R* I 45     do {                           \3 L6 G: d0 r' e1 }; f! [
46         OUTPUT("[%s|%s@%s,%d] " format "\n", "INFO ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
3 K  \5 }: K5 M, ?6 y& T 47     } while (0)
/ M3 T0 t  y' Q 48
  B, J- [# F- V4 D 49 #define LOG_ERROR(format, ...)     \
& i! |& ?) I  _- u- I$ w3 X 50     do {                           \% d3 i+ t; p. H/ j0 y8 d
51         OUTPUT("[%s|%s@%s,%d] " format "\n", "ERROR", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \2 e* I+ S+ r2 h' K6 a+ J
52     } while (0)4 t+ H* H8 ?* B6 l9 [  ]
53 + A1 m- H6 v* b9 X" b; U, q6 L
54 #define LOG_DEBUG(format, ...)     \
# P$ k; C/ A8 A2 r5 p) L  i 55     do {                           \1 v0 B& f; Y; X( ?
56         OUTPUT("[%s|%s@%s,%d] " format "\n", "DEBUG", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \4 Z  t6 j! A" ~. x
57     } while (0)
% F+ v/ G* \+ N% a 58
% U7 t3 j& ?* _% O! E8 B 59 #define LOG_WARN(format, ...)      \
/ G. m. M% J; o1 d 60     do {                           \
; O2 \: Q, s  ^9 { 61         OUTPUT("[%s|%s@%s,%d] " format "\n", "WRAN ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
4 Z- Y; S7 A- {, {3 ~4 x 62     } while (0)1 P7 V/ F: R! X& V$ B) W
63 " ]1 ]; [. c+ R( p3 K7 e$ \
64 #define LOG_TRACE(format, ...)     \
5 m' B5 L$ d7 O' c' M3 ~  \+ J 65     do {                           \
: f$ X* \. Q+ t  H; j 66         OUTPUT("[%s|%s@%s,%d] " format "\n", "TRACE", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
0 x( Z- U( I  l0 k 67     } while (0)+ {  w4 j& Y; U, O$ b/ |
68 " [! C8 G  i' ^4 e' V
69 #define LOG_FATAL(format, ...)     \) g, `. x7 P/ i
70     do {                           \
4 @- U9 q9 h( l 71         OUTPUT("[%s|%s@%s,%d] " format "\n", "FATAL", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
7 t8 E6 V# P( S* ~7 Y* d. p 72         exit(1);                   \, g3 \7 o4 ]0 f) h" {% W* l
73     } while (0): d. u( |* z4 t2 K* T
74 8 J/ n" B7 ~9 ]1 r4 F
75 /* Assert */
7 S( T  V+ i/ [7 N6 e/ Z 76 #define ASSERT(EXP)                \) C4 z0 s3 Y$ H4 R; Y6 D" ^
77     do{                            \& U" o8 l" a7 F1 k! B4 h
78         if (!(EXP)) {              \3 D( V" s: a6 O3 R
79             OUTPUT("[%s@%s,%d] ASSERT: " #EXP "\n", __func__, __FILE__, __LINE__ );                  \
6 I+ j& q5 i6 O5 X 80             exit(1);               \
. M+ f) S+ ~% \4 A  b/ Y 81         }                          \
& U0 ]& [. e  J$ a) o6 y" B) R 82     } while(0)" u9 ~/ T8 m+ G0 |; k7 G
83
8 s1 c: O9 ]) W8 H 84 #endif
0 t4 g# i# W0 d( U: b& O
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
板凳
发表于 2014-12-4 14:03:10 | 只看该作者
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏
. L0 x# I* ^0 ?
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
地板
 楼主| 发表于 2014-12-4 15:21:54 | 只看该作者
tenny 发表于 2014-12-4 14:03! h* A+ @* O) Z- k  q$ o- |
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏
) \8 [; i) S) h+ n) ?  L
你好,是arm这一端的app
2 ^- W5 X$ P- G# x7 T3 p$ ~* i
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
5#
 楼主| 发表于 2014-12-4 15:40:21 | 只看该作者
tenny 发表于 2014-12-4 14:03
/ X% x7 l0 Q# N$ E# ~1 \/ a修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏

* X1 B# P, @" @" v你好,你是不是将host/app下的log.h和dsp/driver下的log.h和到一块啦,怎么说下你的思路! I" e. ~( y& A$ m& z
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
6#
发表于 2014-12-4 15:59:03 | 只看该作者
arm 端的 log 并没有用到 uart1
4 k- T/ |# ~) sdsp 端的 log 才使用了 uart1/ x& }. O+ W1 U$ r; i, d+ W
所以,你需要也只需要修改的是 dsp 子工程的 log.h(新版本的代码 是在 dsp/app/log.h,旧的是在 dsp/driver/log.h)! k' l* }( J0 S& R4 g  \
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
7#
 楼主| 发表于 2014-12-4 17:19:24 | 只看该作者
tenny 发表于 2014-12-4 15:59" ]. T! q! [! A1 {
arm 端的 log 并没有用到 uart19 B0 c1 i4 J) f% A7 x: h4 z5 c: |, q  A
dsp 端的 log 才使用了 uart1
( }5 f( F  K; n, q0 u所以,你需要也只需要修改的是 dsp 子工程的  ...

5 c6 N7 k3 O# D6 o! r# F+ Q0 a那我是不是将你贴出的那段代码,替换DSP/driver下的log.h就可以是吧,
0 V+ R5 o0 H: D然后将#define OUTPUT_TO_UART1 1 换成
! y% |3 g- j  T#define OUTPUT_TO_UART1 0
  |. q. ?0 A+ G- K2 ?& @) O  是不是这样
2 \- B$ h. e3 F
8 r1 Z/ n6 g6 u& y5 B  r
& \7 w. R# O! w; E( y0 q, M; l
3 T( L/ r3 Z5 |3 O* n' z
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
8#
发表于 2014-12-5 09:25:09 | 只看该作者
9 P6 G9 z3 U8 ]0 H7 c& W/ I
回复

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2026-2-12 02:32 , Processed in 0.044431 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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