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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
跳转到指定楼层
楼主
发表于 2014-12-4 11:08:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
你好我现在用的你们的omapl138开发板,跑的双核通信的程序,我现在需要通过串口一向外部发信息,但是串口一被DSP占用了,我怎样才能解除DSP占用呢
. h' L! i& V4 y9 C  ?  W( Q
" d* k* F, U, }5 ^
; q* b0 p- X0 x9 W0 ^- H7 ]谢谢* i( J4 b* Y- @+ Q2 u
7 n2 H5 j9 s8 `

+ X7 w3 z: D( d3 _6 u1 M: ^0 Q  F5 o
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
沙发
发表于 2014-12-4 14:01:26 | 只看该作者
  1 #ifndef _LOG_H_7 y) \4 d% A! g  X5 r# |: s6 v' r
  2 #define _LOG_H_& J% t( N, Q5 x" z8 T( {: D# D' I
  3 " B, H4 V0 C. m+ w# H
  4 /* 0: printf; 1: UART1 */% m( \0 p% K. ~* c. t7 O; G
  5 #define OUTPUT_TO_UART1 1/ Z5 T( k$ [0 R; P' I7 O
  6 5 R) u. o, v- l; p0 {
  7 /* Switch Log Output */
2 b& b% v; C6 E- |* L  8 #if OUTPUT_TO_UART1
# q$ _9 Y( p& U! u- H  9     /* For UART1 Initial */5 U+ C$ A9 B* I% q4 \
10     #include <stdlib.h>+ L  K- `" K" r/ z
11     #include "hw_types.h"  
) |0 E3 X" F9 M  l 12     #include "hw_syscfg0_C6748.h"
" p: r3 i  N  i9 P* k* M( m5 c/ ` 13     #include "soc_C6748.h"
- d8 B. |% S4 E7 ]' T) n* ?' n, P 14     #include "psc.h"               
. v5 W$ K3 g* A0 z! \8 J 15     #include "gpio.h"               / x7 W6 t0 o" {2 u$ ]/ J, ^
16     #include "uart.h": H7 W* @. {! j; P& c" s$ A8 j
17     #include "uartStdio.h"
5 Z, R8 [6 ~- O( p1 J4 ^ 18 ! e& E$ K& l9 n* B2 J
19     #define OUTPUT UARTprintf
" I: w( j( h. e; G 20 #else& ^. _7 b+ g7 T# H7 `% g7 _/ K
21     #include <stdio.h>6 g3 @' F  v1 A, I! \. M' N: x$ j- z3 a
22     #include <stdbool.h>, ]* d( _- m: v. P. I' O
23 ' J+ ?, b1 ]4 N+ p
24     #define OUTPUT printf! H( I5 D1 e% y  A7 W( [
25 #endif) I5 G+ ~9 k8 e& Y' x% ^4 N; \
26 2 A, c( f2 X9 e" a4 T, K
27 /* Log init */
$ R1 G1 c& n( C% P# r7 v" O; c 28 #if OUTPUT_TO_UART1
: v: u. p& U/ ~2 l+ p4 k 29     #define LOG_INIT() do {                                     \
9 B! K$ @; @" @5 o 30         PSCModuleControl(SOC_PSC_1_REGS, HW_PSC_GPIO,           \% ?5 c' {: E( c& X  b
31                          PSC_POWERDOMAIN_ALWAYS_ON,             \
3 D  v9 i  z* l; x% l, K+ d- P 32                          PSC_MDCTL_NEXT_ENABLE);                \9 O! b- ]0 n6 [5 p. M3 I* ?
33         GPIOBank6Pin12PinMuxSetup();                            \
4 v2 T8 {6 z( H4 Y/ d4 Q 34         GPIOBank6Pin13PinMuxSetup();                            \
9 d! D) B! }2 t 35         GPIODirModeSet(SOC_GPIO_0_REGS, 109, GPIO_DIR_OUTPUT);  \+ t$ o3 A1 `, `3 \
36         GPIODirModeSet(SOC_GPIO_0_REGS, 110, GPIO_DIR_OUTPUT);  \
5 t6 V, B6 |' I+ L$ n/ L 37         UARTStdioInit();                                        \
* h% n0 o6 S! `+ c$ G& }3 o 38     } while (0)1 `: L% t* `. P! J% J
39 #else5 |! l' W% D3 A: ?% A6 C* m5 Q7 {
40     #define LOG_INIT() do { } while (0)
6 B1 }9 Z, ^+ c- b. \# B' Z* G 41 #endif
# u% `1 A* V; G8 ^ 42
4 P+ h& q% Z3 B 43 /* Log Output */7 M) E, C8 N0 p: s& r7 J  [
44 #define LOG_INFO(format, ...)      \* k0 ]- C2 ]8 P6 ^1 {: B
45     do {                           \
% J+ h  m$ s% Q3 c7 o# [  d' d: D. w! O% A 46         OUTPUT("[%s|%s@%s,%d] " format "\n", "INFO ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
* H0 K+ a) k3 ?3 Y 47     } while (0)
4 c* k, n! {( W6 f& m 48 ' C2 B0 V( y/ j7 d0 o7 y4 e& |
49 #define LOG_ERROR(format, ...)     \
3 n# Z4 o8 L; A4 Z! s' C5 n4 r 50     do {                           \6 A( u8 V& K+ m7 R  u! `3 @
51         OUTPUT("[%s|%s@%s,%d] " format "\n", "ERROR", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \# z5 i* s  G3 j# |' R
52     } while (0)
9 r7 n; n! l2 N% n 53 & o/ J0 l: z/ f/ N4 J
54 #define LOG_DEBUG(format, ...)     \
9 [0 r2 P% z! _" p4 ^ 55     do {                           \% P  s3 q" w" S. x
56         OUTPUT("[%s|%s@%s,%d] " format "\n", "DEBUG", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \5 {% z& A8 C- T0 `- B6 z3 j1 z
57     } while (0)
# G3 r* x$ J8 h8 X, }3 o/ S 58 % j! l: n" M% I: n& A" c' P; \- ^
59 #define LOG_WARN(format, ...)      \
2 O$ w1 y( w3 t5 y: C* U8 o" t; x+ T 60     do {                           \6 I% g3 G$ s6 P  ?8 ~. P+ ^6 A! j
61         OUTPUT("[%s|%s@%s,%d] " format "\n", "WRAN ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
1 f3 Z  Y/ ~; m2 [1 s- s1 [8 C 62     } while (0)# I- r- `9 |# ^3 @- _$ B5 x( h
63 , S( S/ M6 ^% ^; _" e& e% L# D2 O
64 #define LOG_TRACE(format, ...)     \
6 [" }" i* x9 Q, I- q+ `- d6 [ 65     do {                           \. m6 _" H! `+ O; Z! e
66         OUTPUT("[%s|%s@%s,%d] " format "\n", "TRACE", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
2 Y8 B" X6 x4 W4 p. c% I1 X 67     } while (0)" K# L  I: N( j6 z
68 5 `& [3 e1 G  I* B
69 #define LOG_FATAL(format, ...)     \, y. t) z2 }5 V  J! P% x
70     do {                           \8 v4 V7 I- |# K' C, @
71         OUTPUT("[%s|%s@%s,%d] " format "\n", "FATAL", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \& q* f. O/ G1 {! y# G6 q4 g; f% c/ v8 i
72         exit(1);                   \
$ X2 Y! `& g/ h  E8 I6 g 73     } while (0)7 O- R9 o, q' x7 r" `
74
' e& {& d" u$ V. W5 S! ^ 75 /* Assert */; g4 J* J) F, k2 G( V
76 #define ASSERT(EXP)                \% I% `; e/ g9 \- B" d$ I
77     do{                            \
3 }% B. h! n5 [- t! I( i* o 78         if (!(EXP)) {              \; V" p# O' C: Q2 {$ f
79             OUTPUT("[%s@%s,%d] ASSERT: " #EXP "\n", __func__, __FILE__, __LINE__ );                  \
+ Q5 n" I" B  [; k9 U2 I& [ 80             exit(1);               \
* X* {# E0 c$ |0 B$ \, B& P 81         }                          \
& ^: p! _/ j) f9 s% p  \. t 82     } while(0): j, g/ R5 l+ u: I8 r( i+ g
83
  v, H) X5 r* i/ y, D4 V! C 84 #endif5 A' j4 h- G# O; F6 x4 Y
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
板凳
发表于 2014-12-4 14:03:10 | 只看该作者
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏
% z9 a9 n! x1 M5 V' ]4 F7 r+ w$ E- t8 ~
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
地板
 楼主| 发表于 2014-12-4 15:21:54 | 只看该作者
tenny 发表于 2014-12-4 14:03
" v4 D" h2 [, `4 t修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏

1 Z# T6 ?3 T) ~2 p1 B你好,是arm这一端的app  `  t4 e/ k8 i$ V3 @& L' ?$ E* X
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
5#
 楼主| 发表于 2014-12-4 15:40:21 | 只看该作者
tenny 发表于 2014-12-4 14:03
' M0 l3 q" F6 N, ]6 {修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏
# G( I: s; [" K" n+ _6 R
你好,你是不是将host/app下的log.h和dsp/driver下的log.h和到一块啦,怎么说下你的思路
3 ~7 [. u$ P; Q* v- f% Z0 {
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
6#
发表于 2014-12-4 15:59:03 | 只看该作者
arm 端的 log 并没有用到 uart1
/ P& e! ^/ G% r) j3 z. w2 k% Zdsp 端的 log 才使用了 uart1
8 q2 a& W4 G2 [2 A) d所以,你需要也只需要修改的是 dsp 子工程的 log.h(新版本的代码 是在 dsp/app/log.h,旧的是在 dsp/driver/log.h)' j" H6 o! @2 k0 n( B$ J, n% h
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
7#
 楼主| 发表于 2014-12-4 17:19:24 | 只看该作者
tenny 发表于 2014-12-4 15:594 @7 M! a/ q: Y+ H
arm 端的 log 并没有用到 uart1
( [) |! u+ {3 B( Udsp 端的 log 才使用了 uart1% G4 A1 q/ U. y  U# [
所以,你需要也只需要修改的是 dsp 子工程的  ...
$ U; w+ f& V" {$ ^, d! q& q2 Y
那我是不是将你贴出的那段代码,替换DSP/driver下的log.h就可以是吧,- ]* w, t7 z7 D7 K
然后将#define OUTPUT_TO_UART1 1 换成
) \3 Y8 P2 s* S) p3 s- @#define OUTPUT_TO_UART1 0
- i$ \" S# M4 M  ^( F6 y3 r% V& j  \  是不是这样# z! l5 f+ L. f! N3 B
3 o1 \" e# j' P$ F

( s7 P" n3 z* _2 h$ [3 o3 s  X8 h5 v! s5 I- L, W
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

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

  y4 D/ `. z) }7 l7 V4 ?
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-11-28 14:20 , Processed in 0.042177 second(s), 23 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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