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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
跳转到指定楼层
楼主
发表于 2014-12-4 11:08:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
你好我现在用的你们的omapl138开发板,跑的双核通信的程序,我现在需要通过串口一向外部发信息,但是串口一被DSP占用了,我怎样才能解除DSP占用呢
1 U+ v2 y" D' X" F4 s# J5 |6 K# w7 s
4 n# N6 S& `" d( z- @5 R& Z. X
谢谢
3 c& w, Y: G% b. Y0 ?8 [
9 U8 U4 C8 f0 O8 M% _, Z2 c
/ b  i3 A6 A- v& L. N: a
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
沙发
发表于 2014-12-4 14:01:26 | 只看该作者
  1 #ifndef _LOG_H_- h6 E6 C0 {+ z7 \) C
  2 #define _LOG_H_
# h5 n6 z$ j$ A+ X% R; w  3
( u1 u+ w' V" A" z( a, d4 h% y  4 /* 0: printf; 1: UART1 */
5 S& M1 ?% e9 f  5 #define OUTPUT_TO_UART1 1
7 \& K5 e$ |* t' X* ]
  6
3 V8 H5 U8 N: {# D  7 /* Switch Log Output */
+ ?% S6 N9 q" f0 w. ~  8 #if OUTPUT_TO_UART1, H* M' t# x. y4 \# ^
  9     /* For UART1 Initial */
, g9 d  M2 Y. d0 A. o7 R 10     #include <stdlib.h>& `5 i* g4 u# S
11     #include "hw_types.h"  ' L9 n$ K& H8 d7 ?* ~
12     #include "hw_syscfg0_C6748.h", _. C; |- n- ~5 z; s
13     #include "soc_C6748.h"
1 c) S! v- y5 r: a8 E/ y; ]/ ` 14     #include "psc.h"               % P, Z5 B/ T- s) W' A: A) Z
15     #include "gpio.h"               
: v: H/ I$ W( \ 16     #include "uart.h"
  _: M% o! _. X# A0 D0 l4 ? 17     #include "uartStdio.h"
) x/ M$ w- y& [" U5 | 18
7 ?% ~3 G% r7 J, o/ M 19     #define OUTPUT UARTprintf+ x) e4 j4 d! I4 k! v
20 #else
- t/ }$ c1 j8 i: e- R. J 21     #include <stdio.h>
7 q' }; u2 C! v; C8 o 22     #include <stdbool.h>; N2 g: v' f% Z$ ~! r; m
23
' G1 I0 c$ }2 @/ H) Q& P 24     #define OUTPUT printf
9 O; c6 {7 Z: W; [ 25 #endif& H5 f- l4 \2 u
26 $ t' {' L5 g% U+ l8 g) D! p
27 /* Log init */
! `0 l9 w' C+ H4 a% O 28 #if OUTPUT_TO_UART10 k3 _( G4 W# @7 Y0 y* E
29     #define LOG_INIT() do {                                     \
/ Q9 f/ D/ W  @$ v8 Z& A* B/ O' O 30         PSCModuleControl(SOC_PSC_1_REGS, HW_PSC_GPIO,           \
5 X% z, f5 l! d* U 31                          PSC_POWERDOMAIN_ALWAYS_ON,             \
, e6 p( ^1 B' I$ l 32                          PSC_MDCTL_NEXT_ENABLE);                \* J" j5 c; o3 O
33         GPIOBank6Pin12PinMuxSetup();                            \
; y% ?& ~5 A/ O 34         GPIOBank6Pin13PinMuxSetup();                            \
$ C/ l! P. R9 W' i( q4 G 35         GPIODirModeSet(SOC_GPIO_0_REGS, 109, GPIO_DIR_OUTPUT);  \' r  o* b6 I9 l0 w
36         GPIODirModeSet(SOC_GPIO_0_REGS, 110, GPIO_DIR_OUTPUT);  \" v; E" P* d5 L6 t# [2 M' Y
37         UARTStdioInit();                                        \
+ ]2 a+ ^; k  B- Z$ z# E* @ 38     } while (0)' j# f, w( I4 L% T# ^( j2 @8 R
39 #else
6 a/ T- j$ U! H0 h$ S) H$ `& O: X, e 40     #define LOG_INIT() do { } while (0), }: m7 _; n3 g# ], i
41 #endif, v) t) L* A( [
42 5 e, z# Y' ^% f1 [$ c2 N+ m. [6 C
43 /* Log Output */& Z- `# s8 i+ x: j5 i
44 #define LOG_INFO(format, ...)      \
+ o% b2 t0 A& M. C9 @  O6 k( Q 45     do {                           \" t& U. t6 k  B3 E8 y1 b2 [
46         OUTPUT("[%s|%s@%s,%d] " format "\n", "INFO ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \1 C8 C1 d6 P: g2 Y2 t
47     } while (0)
( q' V4 h$ u4 u) ]$ Z+ p# M. Z# K 48
" ]6 \' O+ w3 B8 T/ Z 49 #define LOG_ERROR(format, ...)     \! ?& s/ s5 N, t4 T& }5 j
50     do {                           \
/ f8 [  O$ f0 r$ J' D 51         OUTPUT("[%s|%s@%s,%d] " format "\n", "ERROR", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \& i  ~2 E" p1 z5 x  |5 m6 _
52     } while (0)
3 `  m$ K- k$ N 53 + Y+ t: a" w) _: M$ d
54 #define LOG_DEBUG(format, ...)     \1 ^6 y4 x' V) f! R) q/ L0 Z- ]: w
55     do {                           \
4 x- q# y5 |) j1 j, { 56         OUTPUT("[%s|%s@%s,%d] " format "\n", "DEBUG", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
  E! P: J, @7 l1 D! O; z 57     } while (0)6 [+ |' `+ s1 S8 |. X( `( P
58
6 p' ^9 e4 ]' d( E( P+ m. g 59 #define LOG_WARN(format, ...)      \$ D) P/ d# J6 M9 K1 Q8 e
60     do {                           \% H1 z: c) o" `7 ^  x
61         OUTPUT("[%s|%s@%s,%d] " format "\n", "WRAN ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
8 e0 Y) H$ i# `$ a8 v# L 62     } while (0)
" j- Q" Q- W7 q4 p% }$ r 63
* H) o% u8 W0 E, h/ ^! M 64 #define LOG_TRACE(format, ...)     \( T5 G# K: h' a
65     do {                           \1 Y7 q* R7 s5 X0 P- F/ S
66         OUTPUT("[%s|%s@%s,%d] " format "\n", "TRACE", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \* w  q6 O! t6 h" p
67     } while (0)
$ w! d! N+ V" v( H7 z 68
, `( l! M# }4 L* s( b8 ]( G 69 #define LOG_FATAL(format, ...)     \
8 x7 P- I) \/ U9 p 70     do {                           \
) n7 C  q0 `1 w; q) \ 71         OUTPUT("[%s|%s@%s,%d] " format "\n", "FATAL", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
: ]; w, {6 r$ Z: n% S' F8 g 72         exit(1);                   \
0 V* S+ ]  h6 b" c. K& J 73     } while (0)* J5 I7 y, n6 ?6 W% C9 h
74 + {! Y5 F8 o) U" g8 M- h. ]
75 /* Assert */3 x0 u& G3 J, \/ [$ d# w
76 #define ASSERT(EXP)                \
# q1 Z& T! W" \0 t+ i 77     do{                            \
' S7 Z' K0 N1 \- p. A 78         if (!(EXP)) {              \3 F  U( T. s5 v4 k' X6 M
79             OUTPUT("[%s@%s,%d] ASSERT: " #EXP "\n", __func__, __FILE__, __LINE__ );                  \8 J! q3 C6 ~# O9 n6 N2 z
80             exit(1);               \8 o4 M; m* Q9 |, d; R
81         }                          \
$ b+ h/ h4 t8 r7 B2 c. w1 S5 o 82     } while(0)
% S. p; k0 _% H, M0 Z, | 83 5 v2 Q: R( d) Q% _3 {# w, {; T/ r
84 #endif
0 ?2 I$ M4 z$ E" l
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
板凳
发表于 2014-12-4 14:03:10 | 只看该作者
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏
) {, X# F9 f* g7 C
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
地板
 楼主| 发表于 2014-12-4 15:21:54 | 只看该作者
tenny 发表于 2014-12-4 14:03
# k; ^0 x1 b: B修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏
7 g  n# \- b) O2 v0 v
你好,是arm这一端的app
3 Y4 q7 U) g8 V* @
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
5#
 楼主| 发表于 2014-12-4 15:40:21 | 只看该作者
tenny 发表于 2014-12-4 14:03
& f. w( L3 J; u& E修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏

- a' p6 G# d  L8 D  i你好,你是不是将host/app下的log.h和dsp/driver下的log.h和到一块啦,怎么说下你的思路* K& b* _) x- R. {. A4 i+ t: w7 j: R7 o
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
6#
发表于 2014-12-4 15:59:03 | 只看该作者
arm 端的 log 并没有用到 uart1; _& B. F3 I$ w& K. V
dsp 端的 log 才使用了 uart17 x8 B* c1 W$ a5 L* ]8 _& S' c
所以,你需要也只需要修改的是 dsp 子工程的 log.h(新版本的代码 是在 dsp/app/log.h,旧的是在 dsp/driver/log.h)" c; d1 x% o% w* S4 \9 E
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
7#
 楼主| 发表于 2014-12-4 17:19:24 | 只看该作者
tenny 发表于 2014-12-4 15:59  ^( |2 t. F6 E2 R0 z" A) K6 Z# T
arm 端的 log 并没有用到 uart1) ^) t: h" ~3 V: ^, [
dsp 端的 log 才使用了 uart1
9 k+ ~) K0 {* X1 [- A2 U! B2 P所以,你需要也只需要修改的是 dsp 子工程的  ...
4 g5 C* y( h2 x4 @
那我是不是将你贴出的那段代码,替换DSP/driver下的log.h就可以是吧,! t" M! L- ?8 v
然后将#define OUTPUT_TO_UART1 1 换成: q0 E! E6 Q" J- G+ c% U3 ?
#define OUTPUT_TO_UART1 07 o' @) C" n: x0 w
  是不是这样
2 t* i  O( A; ~0 |$ q, j* a" Y  ]7 P9 R2 n: t' d1 i  j( E& s$ W

: h1 N% ]6 Q$ Y3 x: U) c! L% T1 \# T- y! s9 X
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

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

* @6 n4 X# o0 b6 |# g
回复

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2026-3-16 18:19 , Processed in 0.042593 second(s), 25 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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