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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
跳转到指定楼层
楼主
发表于 2014-12-4 11:08:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
你好我现在用的你们的omapl138开发板,跑的双核通信的程序,我现在需要通过串口一向外部发信息,但是串口一被DSP占用了,我怎样才能解除DSP占用呢3 ~& B' e# m5 D) |, e. K
4 x+ D" G, E' F7 C5 [" [; y
& \1 b7 M5 R0 N* Y" E1 V2 Y
谢谢0 {, s5 \6 `* W6 a/ |) L# a  y+ P& G

7 k3 p& x2 \" r9 S9 y6 c. r4 u
! K* Y5 m' S6 I- B: C
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
沙发
发表于 2014-12-4 14:01:26 | 只看该作者
  1 #ifndef _LOG_H_
! G( w$ }% C( d+ f# e3 G! Z/ M  2 #define _LOG_H_
9 r4 O* H7 I' J7 O  3 # D$ ?/ F( M0 f2 E! [
  4 /* 0: printf; 1: UART1 */
- P: q( |, M! B" O; n8 s% y, S  5 #define OUTPUT_TO_UART1 1. D. K8 n3 l5 F. z
  6
9 I* [& U5 T0 o/ ?5 S$ ^  7 /* Switch Log Output */
( a$ Y, n2 P9 s+ q6 T  8 #if OUTPUT_TO_UART1
1 {$ X- O: B2 v# L  9     /* For UART1 Initial */
  G2 F' `1 Q0 x. Q  X 10     #include <stdlib.h>
& k1 M- y: B1 t0 T- ^5 c4 { 11     #include "hw_types.h"  
' e- Q0 ]. ]# A2 n4 h" ]9 ^( M 12     #include "hw_syscfg0_C6748.h"
" w9 A6 @' K, H6 o6 r- N 13     #include "soc_C6748.h"
8 h" B3 N+ x% d9 r( I 14     #include "psc.h"               
+ U( Z% u# j( _3 p 15     #include "gpio.h"               
, i2 J8 {8 J% C5 O+ d: _ 16     #include "uart.h"
. _% H" `/ S/ X2 s# w* M 17     #include "uartStdio.h"+ _% t$ f) k2 h7 X* W
18 / F$ [6 z, G' r% Y- ?1 M. u. h
19     #define OUTPUT UARTprintf
7 ]" S: ]/ G8 V# B- {9 s 20 #else; z- A) p% ~4 K6 k
21     #include <stdio.h>, D8 n, `% q( V$ _1 s
22     #include <stdbool.h>
# T, F" z- J  |# s- p0 A# K 23
& M* b" S& A" B1 V5 ?3 t$ B 24     #define OUTPUT printf
+ a6 ], Z" O4 X! X. l7 K7 v 25 #endif
7 D  \; \- T$ o& H 26 8 E0 h9 q+ e+ x$ |
27 /* Log init */
/ X1 T3 L2 l* u 28 #if OUTPUT_TO_UART1
' h: d/ h0 W3 x" S/ |5 v: K- b' m 29     #define LOG_INIT() do {                                     \
' ~2 e) @1 `+ K. m; d 30         PSCModuleControl(SOC_PSC_1_REGS, HW_PSC_GPIO,           \
& k( T8 L" Q- _ 31                          PSC_POWERDOMAIN_ALWAYS_ON,             \7 C+ @5 q; d  P3 x0 s! y
32                          PSC_MDCTL_NEXT_ENABLE);                \/ N. [# J4 s& q
33         GPIOBank6Pin12PinMuxSetup();                            \% z: x6 ?, _4 g- [  }- s
34         GPIOBank6Pin13PinMuxSetup();                            \
+ u) g4 h. T/ J0 d- v 35         GPIODirModeSet(SOC_GPIO_0_REGS, 109, GPIO_DIR_OUTPUT);  \
, T0 M/ o2 t; g. K( n7 m7 g 36         GPIODirModeSet(SOC_GPIO_0_REGS, 110, GPIO_DIR_OUTPUT);  \, M& x+ D- O0 ~: W( F# a
37         UARTStdioInit();                                        \
! ~$ R7 p( H( {- \/ f 38     } while (0)& O2 z" l+ G: w) Y$ v1 h' o
39 #else
  K% B) B* @* s3 m 40     #define LOG_INIT() do { } while (0). E' T: J/ Z! T& A, \2 ]8 v
41 #endif
1 n9 B8 @0 R) [. {# Y 42
7 i; i2 K. p  C, ~ 43 /* Log Output */
% U: {7 Y. E0 O3 c% G; v 44 #define LOG_INFO(format, ...)      \
$ o5 C1 [+ P' B8 |* O) c8 q% j9 ^ 45     do {                           \
; U0 @0 G1 n" j$ p 46         OUTPUT("[%s|%s@%s,%d] " format "\n", "INFO ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \% _! x* k1 [* `) B
47     } while (0)
/ Q: O7 ?2 s# s* Y* ?7 q/ _ 48 $ W) V( G- l  t
49 #define LOG_ERROR(format, ...)     \' w2 f0 @1 o8 X8 N+ L0 x
50     do {                           \
8 o0 W6 R5 ~  f; o1 j3 ^) ~7 r 51         OUTPUT("[%s|%s@%s,%d] " format "\n", "ERROR", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
# K# z, o( f$ d; @8 c* O- { 52     } while (0)
- b4 l: F3 {) u# T7 R2 I* D6 B9 R 53 ; J- O# f0 {) L( C( g
54 #define LOG_DEBUG(format, ...)     \
# I6 l# `& H# v- o7 n% X 55     do {                           \
! v" {- S) B" Y9 k" X! j 56         OUTPUT("[%s|%s@%s,%d] " format "\n", "DEBUG", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
6 E. @8 Y3 U$ w: P- ^9 c' x& B: e 57     } while (0)
9 A8 _/ r4 q( ^8 r0 t4 ~' b( x. S3 @ 58 ; L" e$ R# j0 g+ n' y' c, t* N
59 #define LOG_WARN(format, ...)      \
4 L2 g( c! Q- y8 a. ~/ r 60     do {                           \' D) H- ~. L' j# M( d2 P
61         OUTPUT("[%s|%s@%s,%d] " format "\n", "WRAN ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
+ \, V* m3 S5 N: N( W 62     } while (0)1 i/ E* z( e: ~' }+ M" Q# a# r
63 ) O8 H. R6 S( u1 D1 U$ J
64 #define LOG_TRACE(format, ...)     \' T  J, P; C- q0 b  L
65     do {                           \
1 b3 h! K% D. U' n+ h 66         OUTPUT("[%s|%s@%s,%d] " format "\n", "TRACE", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \5 J8 n+ [5 [, l6 L
67     } while (0)
0 ?% O+ C7 z3 T 68
- ], i3 {( c2 V0 y 69 #define LOG_FATAL(format, ...)     \4 \/ ~6 z: I" X4 m* n
70     do {                           \
2 W! t# e+ I0 ~1 W0 B 71         OUTPUT("[%s|%s@%s,%d] " format "\n", "FATAL", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \" T8 y/ t: @+ ?, D& x
72         exit(1);                   \
: V4 Y# G' _/ D0 N* T4 _$ J$ I 73     } while (0)
* T6 F2 d0 S4 u" q) G+ |( j 74
" t) o9 L, E) s- \& y 75 /* Assert */: h; h. c" B( i' K9 p# e  @8 W1 {- F
76 #define ASSERT(EXP)                \
) d, E. G& i- c4 T 77     do{                            \+ Y) n- Q- X3 `* F9 x
78         if (!(EXP)) {              \& b7 ]& G# M, `' c$ ]! y! L7 I
79             OUTPUT("[%s@%s,%d] ASSERT: " #EXP "\n", __func__, __FILE__, __LINE__ );                  \/ w4 O* D! |3 r
80             exit(1);               \1 m4 N3 ^, c* {8 \: {6 ]2 C
81         }                          \
- h4 [" @7 E$ O2 X 82     } while(0)! P2 l* E; U  M9 b) i% g: q( V
83 ' N: k; d, K" W! _* G9 d8 V" d
84 #endif% c; }9 O3 P2 P! d) z5 L8 ]- x9 R3 K
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
板凳
发表于 2014-12-4 14:03:10 | 只看该作者
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏
3 M: ~( y- `* O8 V2 g
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
地板
 楼主| 发表于 2014-12-4 15:21:54 | 只看该作者
tenny 发表于 2014-12-4 14:034 b% L/ ~% C& G' i. A( _4 q
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏

+ c2 Q4 R$ G' q' W) e- c0 {, B% Q你好,是arm这一端的app
  ?9 ?1 u9 s+ F4 T$ b
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
5#
 楼主| 发表于 2014-12-4 15:40:21 | 只看该作者
tenny 发表于 2014-12-4 14:03
8 z' i# Q- U- s$ h+ }修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏

& X# Z& T) i: {. u# ^0 c) o你好,你是不是将host/app下的log.h和dsp/driver下的log.h和到一块啦,怎么说下你的思路0 l4 S" f% A2 A, a3 B
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
6#
发表于 2014-12-4 15:59:03 | 只看该作者
arm 端的 log 并没有用到 uart1; J! g) q4 W6 B, n
dsp 端的 log 才使用了 uart1) H$ y+ G# L, x& u# k6 [1 X
所以,你需要也只需要修改的是 dsp 子工程的 log.h(新版本的代码 是在 dsp/app/log.h,旧的是在 dsp/driver/log.h)
# h; ^* ]. m$ O( \! H
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
7#
 楼主| 发表于 2014-12-4 17:19:24 | 只看该作者
tenny 发表于 2014-12-4 15:59
- `. D# |! H* Q5 Tarm 端的 log 并没有用到 uart1
7 n' S7 u' A# k" A3 @dsp 端的 log 才使用了 uart13 R! i8 u2 W0 @6 R3 e
所以,你需要也只需要修改的是 dsp 子工程的  ...

5 ^2 B1 A' S2 q" n2 h那我是不是将你贴出的那段代码,替换DSP/driver下的log.h就可以是吧,
+ T! A* I4 o$ ]  K& Q然后将#define OUTPUT_TO_UART1 1 换成* k7 W4 _0 x7 c' ^* I6 Q0 @
#define OUTPUT_TO_UART1 0+ ^% W! r7 S  H8 x' z
  是不是这样5 B% R3 d6 y* k: D* U0 r

4 ?- S( k. W8 {
" y2 ~9 x9 \+ N  t) I' `8 V! H( ^" Q! s* ]5 b+ O& h& U+ Y5 m
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

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

9 b$ \* }2 }$ S) Q1 r& @! N
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-16 12:00 , Processed in 0.076925 second(s), 23 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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