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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
跳转到指定楼层
楼主
发表于 2014-12-4 11:08:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
你好我现在用的你们的omapl138开发板,跑的双核通信的程序,我现在需要通过串口一向外部发信息,但是串口一被DSP占用了,我怎样才能解除DSP占用呢' U6 y' b$ O" C/ a" ]: v. k/ ?: ]

! h3 S& Y! o2 ?4 }+ Y# n- M" C- f" W+ G; J( t; a- H
谢谢
. G3 G/ W2 D4 P( z) V
6 B4 d4 m) T* |/ H0 U  s( M2 a6 r+ H: M7 `3 u
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
沙发
发表于 2014-12-4 14:01:26 | 只看该作者
  1 #ifndef _LOG_H_
% c) C8 A$ m; H9 Z' ]7 l' c  2 #define _LOG_H_8 j, T  `! h7 E" W# M0 r  c: I# p
  3 % h9 X* k5 Q9 Z: e7 p
  4 /* 0: printf; 1: UART1 */
7 M) K3 ]: o: C. t  5 #define OUTPUT_TO_UART1 1
  R2 o9 S  f. d/ m; U3 n/ L
  6 : k" q" h; v) \& M% B
  7 /* Switch Log Output */& i/ _  {+ X4 _1 [5 L
  8 #if OUTPUT_TO_UART1" d- P4 X' r& a' l0 X6 I
  9     /* For UART1 Initial */, p/ o# i; V+ ~0 p: K/ l. L, v' S
10     #include <stdlib.h>
0 w) G2 I, u; x$ r. A 11     #include "hw_types.h"  " `% @; M! g9 h, ]" v* a2 M* g
12     #include "hw_syscfg0_C6748.h". P' i* G. m8 I# R, K
13     #include "soc_C6748.h"
+ }2 d1 l2 _2 M" g8 R5 ? 14     #include "psc.h"               , h& o6 @: f4 ]9 k( v: G
15     #include "gpio.h"               & w: |. ]) n/ _; Z
16     #include "uart.h"1 o! m/ j' ?9 Y: @; x6 L; p; n
17     #include "uartStdio.h"8 |* N- t$ n6 a
18
6 f+ h8 c) o5 j. H2 C2 o) M 19     #define OUTPUT UARTprintf
7 X/ U% \6 h: M 20 #else& A$ v0 t- r. b1 B6 L
21     #include <stdio.h>
% c. t* }! j/ z: x# `+ d! N% [7 _ 22     #include <stdbool.h>
2 }  K- ^! j7 h 23 2 `4 r$ \6 }% L/ [7 G+ S
24     #define OUTPUT printf6 f* S8 |5 ~0 \% G1 w2 K5 u5 x
25 #endif! L; E! h4 `' ~; S6 L, Z& E. y; j' F9 ~
26
4 J8 g0 h. }/ r* X 27 /* Log init */& v3 k3 [- T: _% _
28 #if OUTPUT_TO_UART1! O" r! X2 Z7 P: w  q
29     #define LOG_INIT() do {                                     \$ [9 o  F0 v& k0 w, q" b
30         PSCModuleControl(SOC_PSC_1_REGS, HW_PSC_GPIO,           \3 I, t! M  i. I) i2 a
31                          PSC_POWERDOMAIN_ALWAYS_ON,             \6 F+ u& u1 h7 h% v7 P# G  O) |; x
32                          PSC_MDCTL_NEXT_ENABLE);                \
$ F0 a3 o) b9 U% j" L 33         GPIOBank6Pin12PinMuxSetup();                            \
% u8 V$ b! d. ]- h7 U- c 34         GPIOBank6Pin13PinMuxSetup();                            \
$ b6 S6 ?' m* Q" l  K' \ 35         GPIODirModeSet(SOC_GPIO_0_REGS, 109, GPIO_DIR_OUTPUT);  \& H' B- d/ t% `3 N+ g( S) A7 A; ~
36         GPIODirModeSet(SOC_GPIO_0_REGS, 110, GPIO_DIR_OUTPUT);  \
! g. F! y  D: b2 V' e. z/ ] 37         UARTStdioInit();                                        \9 e- Q7 }' k. q  d
38     } while (0)
2 Q* [- j" }, m9 t) Y6 r 39 #else0 {( d% z5 w: d; `) ~
40     #define LOG_INIT() do { } while (0)5 \& ~" f5 |( T% r/ R
41 #endif9 ?: U/ T5 _; ~3 e, h
42
6 p. N0 l5 U( M) e  w! @9 Y5 }7 A 43 /* Log Output */: U) V8 L6 x% ]+ \7 F( ]  _
44 #define LOG_INFO(format, ...)      \
+ R% `7 U; _( q3 X1 p0 t8 M- E7 j7 Y 45     do {                           \/ H1 e3 T9 Q5 G) n5 H8 D. u" {
46         OUTPUT("[%s|%s@%s,%d] " format "\n", "INFO ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \( o5 a3 Z: X% K: @' h/ j
47     } while (0)% X' o% s5 G$ Z: B
48 ! S" P8 Y: E9 S
49 #define LOG_ERROR(format, ...)     \
8 N% g  y- t# T# M 50     do {                           \* j& X9 Y) b9 F- H& |3 L
51         OUTPUT("[%s|%s@%s,%d] " format "\n", "ERROR", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
9 e0 r( @; `. c4 X: K 52     } while (0)) L4 e+ M, ]4 l% a& X% a
53
* I5 i. q2 v8 ?: p 54 #define LOG_DEBUG(format, ...)     \* B+ L8 p, q& S& F
55     do {                           \
  g8 K2 a1 G4 c1 O! W- e 56         OUTPUT("[%s|%s@%s,%d] " format "\n", "DEBUG", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \) S; c4 \* g9 ]7 C) G8 g& t* b/ U
57     } while (0)
) x6 D- |& ]9 D7 h% ?# ~! Q+ u 58
. t# f+ L. Z5 {/ _& ^+ |9 K5 v 59 #define LOG_WARN(format, ...)      \
; A" b0 W6 d; y( L4 b( o( M6 V 60     do {                           \+ f) W; L/ I: o3 X
61         OUTPUT("[%s|%s@%s,%d] " format "\n", "WRAN ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
/ O& F3 a/ `7 }7 J  b. u& h 62     } while (0)1 p$ @1 G" x; d, p9 A, o
63
9 N) Y7 ~* n  W: w* e8 C 64 #define LOG_TRACE(format, ...)     \9 Q7 a; F: Q8 _* e% N
65     do {                           \
  Z+ r) B- u* U; B: s3 C) V" z4 \ 66         OUTPUT("[%s|%s@%s,%d] " format "\n", "TRACE", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
/ e4 Q& z) [& ~ 67     } while (0)
- Z% M% p$ N  p 68
# }" a, c! Z7 s: r$ H 69 #define LOG_FATAL(format, ...)     \* S' K& t3 j4 ]9 r3 M' s3 S3 c$ I0 N
70     do {                           \
8 B' [7 Q: Z2 [ 71         OUTPUT("[%s|%s@%s,%d] " format "\n", "FATAL", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \6 m+ `5 v% w9 x# j
72         exit(1);                   \9 k$ M! H: q) \: ]2 _1 H! ^
73     } while (0)
2 R+ _% t4 ~7 C- ]# }4 |. k 74
/ c  z* m1 Q/ _ 75 /* Assert */
% T2 i$ S6 v9 ]  O 76 #define ASSERT(EXP)                \0 l/ L# S7 x* O# l7 k& t# r4 S
77     do{                            \: M5 b: X1 A7 @  A, R) @/ F
78         if (!(EXP)) {              \1 t) ]$ C2 W( h7 }% c# c( `
79             OUTPUT("[%s@%s,%d] ASSERT: " #EXP "\n", __func__, __FILE__, __LINE__ );                  \2 p4 s+ x% y- r. `4 x& M" C8 P7 j
80             exit(1);               \
: M! A: t7 t9 B+ f 81         }                          \" O+ R. R$ \: r7 {" q% A7 ^4 l- L
82     } while(0)
- M: j: Y+ K6 q7 A, F$ R: W 83 0 b9 h9 N6 p9 ]0 }# x- Q- i' ^
84 #endif
/ ?5 M% M' Z5 O, E
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
板凳
发表于 2014-12-4 14:03:10 | 只看该作者
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏
2 ^$ g, ^3 R7 t( g5 }: F( h
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
地板
 楼主| 发表于 2014-12-4 15:21:54 | 只看该作者
tenny 发表于 2014-12-4 14:03
8 Q1 Z0 W, A( o6 ?1 l修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏

- z4 B! m0 ?# l, q7 Z# ]+ `你好,是arm这一端的app' @1 L0 P) V3 \% D
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
5#
 楼主| 发表于 2014-12-4 15:40:21 | 只看该作者
tenny 发表于 2014-12-4 14:03
1 n) }, e! U7 s) w5 {7 _修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏

0 }* B3 V8 q( h" M你好,你是不是将host/app下的log.h和dsp/driver下的log.h和到一块啦,怎么说下你的思路
7 Q+ M/ \% ?3 w1 V* v) [2 @
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
6#
发表于 2014-12-4 15:59:03 | 只看该作者
arm 端的 log 并没有用到 uart1
8 ~1 W% X' X, H: s5 y: N0 H7 adsp 端的 log 才使用了 uart1
/ A! Q1 {* c2 X$ R所以,你需要也只需要修改的是 dsp 子工程的 log.h(新版本的代码 是在 dsp/app/log.h,旧的是在 dsp/driver/log.h)
9 A3 m" v2 g4 H
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
7#
 楼主| 发表于 2014-12-4 17:19:24 | 只看该作者
tenny 发表于 2014-12-4 15:59
* F5 |2 @! A1 u* `4 A$ t. Sarm 端的 log 并没有用到 uart15 P1 ^* o% b. ]2 q: O. g
dsp 端的 log 才使用了 uart1
4 M# u% F, X5 }5 x8 U5 b2 E所以,你需要也只需要修改的是 dsp 子工程的  ...
% n* V( G6 H  C2 Z2 }  _  E
那我是不是将你贴出的那段代码,替换DSP/driver下的log.h就可以是吧,9 A+ `5 f' U3 t  Q! I5 A; m  ~
然后将#define OUTPUT_TO_UART1 1 换成
# x5 f& j7 ?1 d, l/ _  K#define OUTPUT_TO_UART1 0
4 ^' k- z2 j' ]% }, u  Z  是不是这样
% k9 R4 T/ F9 B' ]8 ~# r( e: K' c& u# V" Y1 _+ a8 f
  g0 k/ H2 |+ \$ M8 G" m& h
! X/ {* m% q* A  R8 v
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
8#
发表于 2014-12-5 09:25:09 | 只看该作者
2 V$ }" O8 ?" R4 m$ w8 O: _0 |& Y* e  k
回复

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2026-1-25 13:50 , Processed in 0.062762 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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