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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

8

主题

30

帖子

150

积分

注册会员

Rank: 2

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

  ~) Q% A' m% |, p9 s! w5 M6 L( U$ p" `
谢谢
+ A1 i0 ]  |# b* [$ Q8 S# ^
+ Y# K7 b3 Z  L7 N  M# N' R7 U2 z9 |. O3 N& a
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
沙发
发表于 2014-12-4 14:01:26 | 只看该作者
  1 #ifndef _LOG_H_8 L' M0 Y% d. O) q% a
  2 #define _LOG_H_, m, T5 ^$ t; {  x' J/ V6 Z
  3 ' y+ d( Z5 @; O% V( Z/ Q
  4 /* 0: printf; 1: UART1 */9 |% w8 Q1 t; T: P
  5 #define OUTPUT_TO_UART1 1
* R5 M* W: y0 c! p6 v, r+ G* ]
  6 5 B4 M% y( C2 x
  7 /* Switch Log Output */
# \& w% K3 r& a+ r3 M  8 #if OUTPUT_TO_UART10 o2 j) u5 a7 u; P  @6 T& Z
  9     /* For UART1 Initial */6 D) |+ y) |! {; S
10     #include <stdlib.h>, H- ^2 Q, x0 `* j- a& V+ T
11     #include "hw_types.h"  
' n) v* D  N( M5 K 12     #include "hw_syscfg0_C6748.h"
1 O. k5 X# m" b* [7 I1 @ 13     #include "soc_C6748.h"3 {4 N3 W5 Y4 t- J$ x6 d- U
14     #include "psc.h"               
3 e. R& G; I" z8 m; h) a* m  g" k 15     #include "gpio.h"               
  F8 D* O- K, z 16     #include "uart.h"
! `/ g$ ^0 z$ U) D) | 17     #include "uartStdio.h"9 t8 Y6 Q5 l) y
18
% G  K4 g( r& D3 ^/ _ 19     #define OUTPUT UARTprintf3 L3 C( n  J( y0 B; C
20 #else
  S/ N' x% }- J) d* N, [ 21     #include <stdio.h>7 w  _2 j" |0 K, b0 k4 N! o
22     #include <stdbool.h>, E5 l8 I  d+ H' M3 y8 z% w
23
6 F2 T0 |% n$ W7 w 24     #define OUTPUT printf
" G/ v5 p5 C3 V2 i# O 25 #endif/ ?* x  p* g( n1 F7 Y) S) U4 Q8 e
26 ' W, N- |+ R- r. ?# ?2 v
27 /* Log init */! J; i, f) s$ W/ s) q) E. O
28 #if OUTPUT_TO_UART1
# o1 {+ u6 K+ O# p) N' J" }# O8 u 29     #define LOG_INIT() do {                                     \
9 ~/ }3 D! Y7 U  Y: J 30         PSCModuleControl(SOC_PSC_1_REGS, HW_PSC_GPIO,           \
! Q5 R7 f& w+ }, ?( k 31                          PSC_POWERDOMAIN_ALWAYS_ON,             \
( t& K% u5 }( M! @/ i" K' {7 l+ B 32                          PSC_MDCTL_NEXT_ENABLE);                \0 N- ?  ?; `) ~5 I( p# \
33         GPIOBank6Pin12PinMuxSetup();                            \# G6 ]' _' |9 D- I
34         GPIOBank6Pin13PinMuxSetup();                            \
: O0 K2 Y: l* v0 n 35         GPIODirModeSet(SOC_GPIO_0_REGS, 109, GPIO_DIR_OUTPUT);  \
1 L8 l7 Z' h0 m3 Q 36         GPIODirModeSet(SOC_GPIO_0_REGS, 110, GPIO_DIR_OUTPUT);  \
$ }& h1 u5 R# z" w" |9 w 37         UARTStdioInit();                                        \& j; T; u' p  v7 [. m. B: |
38     } while (0)0 Q/ g/ x1 Q2 d
39 #else# O' L9 p  u- j/ [8 b$ c4 O$ u
40     #define LOG_INIT() do { } while (0)
/ H0 v4 {: R: ?2 F' t' E. G 41 #endif
" }; {. f% g5 p  V" C# y& G. F/ B 42
8 r# ~2 B- E& c 43 /* Log Output */
+ @0 f- N. |' i) _  D 44 #define LOG_INFO(format, ...)      \
4 E2 `$ A! l7 |8 N8 ?  n 45     do {                           \2 x% N2 B# |( V
46         OUTPUT("[%s|%s@%s,%d] " format "\n", "INFO ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
9 B! w6 M9 A, p; H0 S4 O5 L' M. o 47     } while (0)
0 f# K1 a  m2 \% t 48 ; _  ~+ |5 ]) S/ U
49 #define LOG_ERROR(format, ...)     \
/ \1 N- p4 `8 T3 w' \5 ?* x 50     do {                           \
3 O* m) [5 `0 o: ]- b* s2 _% j0 s 51         OUTPUT("[%s|%s@%s,%d] " format "\n", "ERROR", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \. y* e1 e2 t7 Z: Y* x: B
52     } while (0)
4 Q3 a0 i% e0 Z9 m 53
1 E1 M7 \/ f4 `* Y" I" {: M& K% t 54 #define LOG_DEBUG(format, ...)     \( {$ b6 u( @0 o* L
55     do {                           \
  ]: {7 `- R! o/ i 56         OUTPUT("[%s|%s@%s,%d] " format "\n", "DEBUG", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
# K) ?# h& l# ]: ]0 q 57     } while (0)
/ @: K; F9 E  v0 P% }$ b0 N 58 ! ]7 I1 O1 \3 P2 r
59 #define LOG_WARN(format, ...)      \
5 M0 i1 h! j8 Z1 [ 60     do {                           \/ _% G# b( v/ {8 V
61         OUTPUT("[%s|%s@%s,%d] " format "\n", "WRAN ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
4 ?* V+ E- X8 [5 B" y% a 62     } while (0)& c6 F' k: X5 n5 Q
63
: M$ t' \+ d! { 64 #define LOG_TRACE(format, ...)     \
% r4 o$ q" P8 t- g3 @. G 65     do {                           \- N6 L0 z0 I3 V( j! I
66         OUTPUT("[%s|%s@%s,%d] " format "\n", "TRACE", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \) N1 W4 D4 H) \- z
67     } while (0). c& A, Q9 Z  J; j; F& }' m
68 # l: L, f; ^& U# t0 J" G
69 #define LOG_FATAL(format, ...)     \
9 D: x2 J* M5 F 70     do {                           \7 B7 p5 Y* @3 e2 ]& j' L" q
71         OUTPUT("[%s|%s@%s,%d] " format "\n", "FATAL", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \. z6 ]' [2 v/ W
72         exit(1);                   \  I: A1 N" g. ?* b, `
73     } while (0), Y* y5 o4 {( {& N  P$ V$ I# o
74
/ k. p  a& Z# H% t) T3 a9 Z 75 /* Assert */
4 b  S6 p- H8 w( J+ k- ` 76 #define ASSERT(EXP)                \
! r% W3 |, D- l" F) r 77     do{                            \3 d$ \4 \( `5 P$ C
78         if (!(EXP)) {              \
5 I* o) l- R4 S3 Y  `6 g" n. m 79             OUTPUT("[%s@%s,%d] ASSERT: " #EXP "\n", __func__, __FILE__, __LINE__ );                  \
) g: V0 J5 H6 m! o6 Q% H 80             exit(1);               \7 Z: H7 u* `/ T' \8 H
81         }                          \
* Q" m7 M4 b8 F% M; F 82     } while(0)
4 ]+ H4 X  |5 B 83
' U5 \7 M( X$ i7 n$ J 84 #endif- \" |" t- Z* I# x, m
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
板凳
发表于 2014-12-4 14:03:10 | 只看该作者
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏; F9 C3 J- A. y3 o
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
地板
 楼主| 发表于 2014-12-4 15:21:54 | 只看该作者
tenny 发表于 2014-12-4 14:036 e2 G$ D" [+ g' _0 M7 ^
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏
0 D6 u$ j! D# G* @0 j
你好,是arm这一端的app- d" K8 N0 @) p0 n7 Q; W6 {6 V: U
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
5#
 楼主| 发表于 2014-12-4 15:40:21 | 只看该作者
tenny 发表于 2014-12-4 14:03
: Q& {5 [9 k. M- }修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏
* T, v, p5 z- m( C
你好,你是不是将host/app下的log.h和dsp/driver下的log.h和到一块啦,怎么说下你的思路
  y$ U8 n! ]# b" h4 w$ _, Y
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
6#
发表于 2014-12-4 15:59:03 | 只看该作者
arm 端的 log 并没有用到 uart1
$ D! l$ Z+ Q7 [: tdsp 端的 log 才使用了 uart1/ m: _  V! N9 l. K7 U
所以,你需要也只需要修改的是 dsp 子工程的 log.h(新版本的代码 是在 dsp/app/log.h,旧的是在 dsp/driver/log.h)
0 ?" L$ r. n* H
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
7#
 楼主| 发表于 2014-12-4 17:19:24 | 只看该作者
tenny 发表于 2014-12-4 15:59) s1 F4 l; D, N9 n8 z: D
arm 端的 log 并没有用到 uart1
- z% M2 E! D9 B% Edsp 端的 log 才使用了 uart1
% x& A* l& d5 ~" G( P& Y所以,你需要也只需要修改的是 dsp 子工程的  ...

7 ^/ u& Q( y( b3 B7 Q8 T+ `那我是不是将你贴出的那段代码,替换DSP/driver下的log.h就可以是吧,
6 L1 ]+ N4 z/ p/ }' g3 r然后将#define OUTPUT_TO_UART1 1 换成- i2 v1 u: t! O7 i  Z
#define OUTPUT_TO_UART1 04 C* B7 `& c7 B& |* N
  是不是这样. H, V% P0 ~3 f4 g+ N0 m! }$ m5 V
$ ~  S2 J( [& a1 j. g; X, w

* E9 K1 U5 Q' B" w6 ~- F# t9 w! |. l0 v! K: c/ S
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
8#
发表于 2014-12-5 09:25:09 | 只看该作者
$ ~7 j: m# y+ ]% F- s: t! d
回复

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2026-2-19 02:58 , Processed in 0.041630 second(s), 25 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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