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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
跳转到指定楼层
楼主
发表于 2014-12-4 11:08:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
你好我现在用的你们的omapl138开发板,跑的双核通信的程序,我现在需要通过串口一向外部发信息,但是串口一被DSP占用了,我怎样才能解除DSP占用呢
2 k0 C$ p& g1 X" f, Y; n5 O: ?
- I( i" b% @( ~& a4 y$ l, O( \' a, ?
: E# L7 Q% v" a1 D" e" A6 g谢谢
( g3 i* |: ^8 F( ^! F. B( A9 e2 [3 B: S* o5 Q+ m5 A
5 s7 t0 \" g1 ?$ k) g
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
沙发
发表于 2014-12-4 14:01:26 | 只看该作者
  1 #ifndef _LOG_H_+ U% }: I- T! ]/ D) P6 `8 v& c
  2 #define _LOG_H_& a8 X/ O) ~9 A1 }
  3
5 y) J9 k, W5 T" `  4 /* 0: printf; 1: UART1 */* I& s# }& V* w! F( b
  5 #define OUTPUT_TO_UART1 19 F5 X, @% h1 f; |: O! z# I
  6
- m, c  j- l: F5 M  L( Z  7 /* Switch Log Output */
' P; ^$ ]9 l6 m; h0 I, }  8 #if OUTPUT_TO_UART1) N! z3 y  G* c
  9     /* For UART1 Initial */' F* d" F' q/ P0 t
10     #include <stdlib.h>" q: z" a7 i! T6 S/ S  B" S
11     #include "hw_types.h"  8 b- {. o& P! H: u/ {7 u
12     #include "hw_syscfg0_C6748.h"
5 {4 j# U" ?5 [7 @4 |. e- x$ }% L. D 13     #include "soc_C6748.h"
! I- p6 i  @2 x) s4 ]) B: A5 F, I 14     #include "psc.h"               ' o4 g* ]" [5 _* e# k. _$ Z
15     #include "gpio.h"               4 |2 F% e5 H- H) d; a; u" T* Q6 _% F
16     #include "uart.h"7 O3 f# B) _  F( n* C
17     #include "uartStdio.h"8 H& p% i& \) q0 {' I
18
5 a5 v5 X  C. K' n1 s( S5 k6 Y$ l- d 19     #define OUTPUT UARTprintf, F3 @% W9 C& V
20 #else: U* A$ }4 A" D0 [1 ~% U
21     #include <stdio.h>
' l# O7 b  U/ [2 G7 _  `; E 22     #include <stdbool.h>9 E7 {2 k* ~5 I& z9 b
23
7 Y/ z( x) t1 L0 Z/ M+ Z; \ 24     #define OUTPUT printf0 a- u) @! Z+ G4 W
25 #endif1 W5 K- }/ x5 O% T# J
26
" A% S0 W$ m  k; p  Y9 N( f& j 27 /* Log init */# L9 k8 V. {! Z( _
28 #if OUTPUT_TO_UART1
  B. `- I0 m0 m+ R, J2 Z 29     #define LOG_INIT() do {                                     \
2 Q0 p( Z5 b, @5 {1 J! a4 t 30         PSCModuleControl(SOC_PSC_1_REGS, HW_PSC_GPIO,           \6 L# `: Z7 ^- O* P* H, s3 K2 a
31                          PSC_POWERDOMAIN_ALWAYS_ON,             \
; ^9 U3 C; K' M- ~. o 32                          PSC_MDCTL_NEXT_ENABLE);                \2 n, \  ]2 M, }8 W1 T
33         GPIOBank6Pin12PinMuxSetup();                            \5 [9 d- M6 ~9 b3 Y" T
34         GPIOBank6Pin13PinMuxSetup();                            \
: R  y8 i1 T% O" x: _0 _% z 35         GPIODirModeSet(SOC_GPIO_0_REGS, 109, GPIO_DIR_OUTPUT);  \
( d3 ?; _8 H. \% d! r: c# J 36         GPIODirModeSet(SOC_GPIO_0_REGS, 110, GPIO_DIR_OUTPUT);  \7 {8 J7 x+ D5 A) h8 h' g: a' c
37         UARTStdioInit();                                        \
6 @  _; ~0 |$ v' l4 p. B 38     } while (0)
7 z& U: R, `; \( C$ a7 J 39 #else
4 \' A+ O/ g- S. G. B 40     #define LOG_INIT() do { } while (0)
7 j* S! ^& e1 R& U& b/ B( x 41 #endif
5 Y1 h$ I: p/ T: ` 42
% x3 L4 i& T- V 43 /* Log Output */
- @( }/ s* U/ |2 Y 44 #define LOG_INFO(format, ...)      \
; R2 b3 E/ Y5 K  E6 D+ e/ H 45     do {                           \! [, h: Q7 n9 p0 w
46         OUTPUT("[%s|%s@%s,%d] " format "\n", "INFO ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \) ^+ ]; ^1 ]* d9 m% y7 Z
47     } while (0): H7 U, I) |  N# l! g2 q
48
- l5 q0 i5 \. {8 G, N 49 #define LOG_ERROR(format, ...)     \
, I& v# g* j5 s/ K3 ^& w 50     do {                           \
( W9 N# W5 Q& O  U. D) B1 P4 w2 s 51         OUTPUT("[%s|%s@%s,%d] " format "\n", "ERROR", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \' u$ T; W& s" n, L
52     } while (0)8 u3 a/ ?- I$ X( h) @& g5 }
53
- j8 f4 }5 H' Z 54 #define LOG_DEBUG(format, ...)     \0 V4 }' ?+ I# A5 H& O0 S
55     do {                           \
& B( p$ f, W& A6 s  z" i* R 56         OUTPUT("[%s|%s@%s,%d] " format "\n", "DEBUG", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \# |* Q' ]  ~) S3 j& l( h
57     } while (0)
, T7 i& Z, r1 O1 l7 F 58
( b, T4 H( c& M% ^0 |- |, ] 59 #define LOG_WARN(format, ...)      \# L$ j- N+ N0 ?2 M/ s$ V
60     do {                           \& h* H& T2 D4 q
61         OUTPUT("[%s|%s@%s,%d] " format "\n", "WRAN ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
8 H* x+ `4 K* q 62     } while (0)4 O, `+ ]" J. N( U7 _
63
1 f* D' g8 |& j 64 #define LOG_TRACE(format, ...)     \; M+ h  G$ ~/ m7 F6 z
65     do {                           \1 y' n" E/ w6 L# v
66         OUTPUT("[%s|%s@%s,%d] " format "\n", "TRACE", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
% h2 e3 S* z/ N, O/ F 67     } while (0)* B0 M: W" y, v$ [' J
68 2 W- `7 @* e' s& T3 b
69 #define LOG_FATAL(format, ...)     \( d9 e+ v* Z5 [9 {( G
70     do {                           \
6 @3 P- q( @4 d$ [ 71         OUTPUT("[%s|%s@%s,%d] " format "\n", "FATAL", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
& _* K1 P: ~% t* N+ [7 _ 72         exit(1);                   \
! Q& G( Z  i. F( x! c 73     } while (0)6 i2 n# P! L: s5 A  v/ p$ {
74 7 m$ S' |3 x6 Y' A/ ^9 n7 I& d
75 /* Assert */6 y& S5 W# G! q
76 #define ASSERT(EXP)                \4 K5 ^$ ^& ^/ j% A! O# I9 n! O
77     do{                            \( P3 B7 j; b: r' x; o
78         if (!(EXP)) {              \
+ O9 W/ ?7 E& b3 p- S 79             OUTPUT("[%s@%s,%d] ASSERT: " #EXP "\n", __func__, __FILE__, __LINE__ );                  \
! G/ S! Z! n' x" ]% V6 I  J7 D3 o 80             exit(1);               \0 h, t' `2 L3 H2 k* t/ e& Z
81         }                          \; _: J" K; l, D9 r5 _4 U
82     } while(0)5 P& Y9 j" _2 i0 g/ K
83 4 z/ b2 e; C8 F: O) d& M
84 #endif& o0 l! L* w$ \/ ^
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
板凳
发表于 2014-12-4 14:03:10 | 只看该作者
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏0 U/ P5 K! f( S+ X( o  t0 `
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
地板
 楼主| 发表于 2014-12-4 15:21:54 | 只看该作者
tenny 发表于 2014-12-4 14:03
2 f- V5 p3 @: z, ^# z修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏
- M/ [/ ^  R) }9 H$ v4 K& P
你好,是arm这一端的app
+ J2 Q% O8 {% P( F3 V7 _" E
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
5#
 楼主| 发表于 2014-12-4 15:40:21 | 只看该作者
tenny 发表于 2014-12-4 14:03; P! e5 w' q4 Q. S8 v9 J$ O. P
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏

. W; U! f+ ?6 Z' f. U  i( l你好,你是不是将host/app下的log.h和dsp/driver下的log.h和到一块啦,怎么说下你的思路
8 i% _0 _) a5 w, C
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
6#
发表于 2014-12-4 15:59:03 | 只看该作者
arm 端的 log 并没有用到 uart1
. j2 N% P4 O- J3 G9 X0 f. V# kdsp 端的 log 才使用了 uart1
0 a% d$ L: b7 H( J$ L% R所以,你需要也只需要修改的是 dsp 子工程的 log.h(新版本的代码 是在 dsp/app/log.h,旧的是在 dsp/driver/log.h)
+ L# ^3 p9 x+ M' M( h8 n
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
7#
 楼主| 发表于 2014-12-4 17:19:24 | 只看该作者
tenny 发表于 2014-12-4 15:59
9 N3 d$ t1 v! y& ]7 oarm 端的 log 并没有用到 uart15 z: z2 K$ u0 W0 t3 ?  S
dsp 端的 log 才使用了 uart1
* [( q! R' p* y* {所以,你需要也只需要修改的是 dsp 子工程的  ...

9 _( l- ~; j8 F# Q: ]" e5 F7 y那我是不是将你贴出的那段代码,替换DSP/driver下的log.h就可以是吧,
. ]& a% w, _* N/ t/ k3 W- U# P* G然后将#define OUTPUT_TO_UART1 1 换成6 s" D3 E6 z! G% C0 e, `
#define OUTPUT_TO_UART1 08 [% C) P4 Q5 I) L+ W6 M; c' a
  是不是这样
2 B. n2 I# K. f
5 ], t- y9 A( I  O. }. b7 z( ~/ S0 T1 [; J# L: P' I4 ~7 P

2 a3 q1 ]: E* J& J
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

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

- }- u1 E  M# H; z* G' w9 i. k
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-8 10:08 , Processed in 0.056415 second(s), 23 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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