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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

8

主题

30

帖子

150

积分

注册会员

Rank: 2

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

# t. c- N, G  G2 a5 Q/ o7 R# i+ z
谢谢% C1 J- u$ s6 O6 i* K( `8 R

; @7 [) L5 ~0 g4 K& ^0 {; T+ u: H% `% }- C
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
沙发
发表于 2014-12-4 14:01:26 | 只看该作者
  1 #ifndef _LOG_H_
; M) ?! C, f% S& I  2 #define _LOG_H_: ^" ~+ y1 x% E0 T/ x/ K
  3 1 h" c" J: Z# A# k0 t' Z; Y0 q( N8 D# w( E
  4 /* 0: printf; 1: UART1 */; q! k2 m) y& K! L: W) m4 K
  5 #define OUTPUT_TO_UART1 16 Q' K2 M; B1 H0 g; |
  6 7 o" F6 f: L4 P9 e
  7 /* Switch Log Output */
" d' j1 V0 Q5 D* p7 j. N; a" z  8 #if OUTPUT_TO_UART1
3 B0 O3 `8 Y+ ^" X8 M( _  9     /* For UART1 Initial */$ p3 a: m* R9 ]! h' W
10     #include <stdlib.h>
; ^& Q% ?' a8 j: J4 ^$ c' w 11     #include "hw_types.h"  6 V! h- e$ j# J+ h; e, s
12     #include "hw_syscfg0_C6748.h"
2 y3 \+ ^/ R$ D4 {9 i. s 13     #include "soc_C6748.h"9 ?7 R1 N: R* w, i- h* x
14     #include "psc.h"               
4 r  C! X' G+ f8 Y 15     #include "gpio.h"               
( R" h  f7 [- F  n: d4 _7 J! m 16     #include "uart.h"
" b* q& B2 H9 M 17     #include "uartStdio.h"/ u7 f/ _0 G, w& F
18
/ ^3 N. C3 Z9 K# q( X# r 19     #define OUTPUT UARTprintf& o5 w* S6 g9 W! U
20 #else0 T( W0 W  E' z
21     #include <stdio.h>
0 h8 O- `4 y) D% L% ?# ]) w 22     #include <stdbool.h>
" V! a" E: c1 r" S  P 23
" O& `* N  O2 O2 H3 u 24     #define OUTPUT printf$ }1 w8 t! \/ k7 B; L
25 #endif& {( E7 w! {% X  A2 B
26 3 e9 z7 G% C' E# |+ ~- c' b
27 /* Log init */
" y, S$ Q% O; p 28 #if OUTPUT_TO_UART1
  _; `2 f: M. T5 b 29     #define LOG_INIT() do {                                     \; I2 f3 t) T$ x4 m& \' E/ P2 a6 L
30         PSCModuleControl(SOC_PSC_1_REGS, HW_PSC_GPIO,           \
/ V9 y5 ~: @1 x 31                          PSC_POWERDOMAIN_ALWAYS_ON,             \: @3 C6 h1 e. S3 Z, Z' Z
32                          PSC_MDCTL_NEXT_ENABLE);                \
! @! \3 ~+ E! h7 a 33         GPIOBank6Pin12PinMuxSetup();                            \; O+ N+ k- y7 `- \6 T
34         GPIOBank6Pin13PinMuxSetup();                            \
5 M$ y. ]; w" e" k 35         GPIODirModeSet(SOC_GPIO_0_REGS, 109, GPIO_DIR_OUTPUT);  \
4 `( C0 e- o- P/ c8 M 36         GPIODirModeSet(SOC_GPIO_0_REGS, 110, GPIO_DIR_OUTPUT);  \  D0 i: ^- T6 P5 I* ~+ M* {
37         UARTStdioInit();                                        \
7 e( v3 q2 m5 X3 h 38     } while (0)
$ U/ x# {9 V9 \ 39 #else
, N* p3 m, F3 r. \ 40     #define LOG_INIT() do { } while (0)
& V: o% z. i( {& J7 Y1 a6 k 41 #endif
- b" p4 Z& P5 {" X# H4 b$ u 42
3 Q9 S- `; @6 k$ b; ?8 f 43 /* Log Output */
# ]( e/ O4 d# T 44 #define LOG_INFO(format, ...)      \, K9 H+ i0 h- U7 ^
45     do {                           \
9 y$ f, M5 e6 U9 k8 ^% i 46         OUTPUT("[%s|%s@%s,%d] " format "\n", "INFO ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \0 X1 o- u8 B! N
47     } while (0)
- W$ H/ |6 O2 @ 48 % z4 o: Y" {3 J' q& o# A
49 #define LOG_ERROR(format, ...)     \/ B: u- C( S! T4 G" E- Z! |
50     do {                           \
2 O( N. d0 `3 \% G- u& C 51         OUTPUT("[%s|%s@%s,%d] " format "\n", "ERROR", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \9 A9 a. c5 Y) Z, q! v! N
52     } while (0)# M& J/ b* {! f9 ?* ^3 h# J
53 5 O. _& p* U  k; U
54 #define LOG_DEBUG(format, ...)     \( Z8 G' \9 B! \+ {8 D
55     do {                           \
1 e9 ~3 A' p% v; S5 ] 56         OUTPUT("[%s|%s@%s,%d] " format "\n", "DEBUG", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \* n! {2 r8 g" \, w& L5 E2 o
57     } while (0)
/ d% ]9 ^3 `  k7 B, v0 @ 58
5 [0 }6 @6 _! ~- \ 59 #define LOG_WARN(format, ...)      \
1 w/ o; k# N" \9 t( { 60     do {                           \" v8 A2 s8 u$ b9 j4 B* R6 g
61         OUTPUT("[%s|%s@%s,%d] " format "\n", "WRAN ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
  O7 y' U; H! {, {: V/ d& ]1 b  O 62     } while (0)
' [3 [* g0 x" g 63 * l9 J2 k8 u) j( A# n7 V
64 #define LOG_TRACE(format, ...)     \
" C* f. V. Z, H  t* x4 T 65     do {                           \* f1 N# `* d5 A! R
66         OUTPUT("[%s|%s@%s,%d] " format "\n", "TRACE", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
  m1 w' l; M5 g$ x) c' b 67     } while (0)4 O/ K& ?3 p: w" u
68
( P6 n; `$ n" r1 w* Z 69 #define LOG_FATAL(format, ...)     \4 f2 l# ]: ^* j
70     do {                           \2 I. F$ Q: W% R9 J' S
71         OUTPUT("[%s|%s@%s,%d] " format "\n", "FATAL", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
- n- f$ w7 I5 z* B$ F6 R2 j! ] 72         exit(1);                   \
0 q5 r- }# e0 ]6 p1 R  c$ f/ u 73     } while (0)4 t2 \/ U' x" P1 J" a: P9 }4 O+ k
74
1 s% j4 u7 x$ f  U  l8 p 75 /* Assert */( Z' d' J+ q2 \$ {
76 #define ASSERT(EXP)                \
( k, y% [$ R. F3 b0 c9 U3 b! @& } 77     do{                            \
& p: d2 A7 w6 d& M0 o" H) o 78         if (!(EXP)) {              \
) B2 [* e: s8 r1 \ 79             OUTPUT("[%s@%s,%d] ASSERT: " #EXP "\n", __func__, __FILE__, __LINE__ );                  \# J: A1 ~, m9 a8 I; s" j" B
80             exit(1);               \
- Q" V. t& Z3 D* M1 s4 R 81         }                          \
$ Q7 P8 K. `' c9 r 82     } while(0)
/ p  X' M/ a& b& q6 X7 z 83 8 @0 |- @, N- ~  q  _# e
84 #endif
, _* G- s: H" l- W0 |1 Z
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
板凳
发表于 2014-12-4 14:03:10 | 只看该作者
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏
9 ^- M' f5 X$ u% u- a5 X6 D3 p" [1 j
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
地板
 楼主| 发表于 2014-12-4 15:21:54 | 只看该作者
tenny 发表于 2014-12-4 14:03
* [- Z& i2 Q) f修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏
6 z5 M* N, h$ f* ]
你好,是arm这一端的app3 T# d( v" w0 v7 n- }
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
5#
 楼主| 发表于 2014-12-4 15:40:21 | 只看该作者
tenny 发表于 2014-12-4 14:03
/ A8 [' _3 k  C3 P4 b修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏

" M5 |  P/ l9 @: z你好,你是不是将host/app下的log.h和dsp/driver下的log.h和到一块啦,怎么说下你的思路
# s& r2 G* w% H! m+ {1 w
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
6#
发表于 2014-12-4 15:59:03 | 只看该作者
arm 端的 log 并没有用到 uart1. H! y, h8 {8 c
dsp 端的 log 才使用了 uart1, D. _. i( R. \% J- M
所以,你需要也只需要修改的是 dsp 子工程的 log.h(新版本的代码 是在 dsp/app/log.h,旧的是在 dsp/driver/log.h)  G5 o* ^5 A4 Y" C& i: Y* `% q2 B4 i
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
7#
 楼主| 发表于 2014-12-4 17:19:24 | 只看该作者
tenny 发表于 2014-12-4 15:59
* ^6 \7 o" x- m- a$ Varm 端的 log 并没有用到 uart1
% O+ ]1 w2 _2 wdsp 端的 log 才使用了 uart1) J) n1 D& v, y. v
所以,你需要也只需要修改的是 dsp 子工程的  ...
' r9 d7 Q: u' V; J% e
那我是不是将你贴出的那段代码,替换DSP/driver下的log.h就可以是吧,. y# T+ ^! s3 |* I. w/ k" f' [- Z' n! k2 e
然后将#define OUTPUT_TO_UART1 1 换成
, c: w" R1 y* u6 _2 I: m' H#define OUTPUT_TO_UART1 0$ C7 F, t- ^  v* f3 b
  是不是这样" o  F* o3 A5 S" D  e
; a& N5 G- G6 B3 n& x
) d' y4 m% ?9 I

) |2 i( o, j% z  u
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
8#
发表于 2014-12-5 09:25:09 | 只看该作者
8 D; e% _6 u: H! v9 V( E7 F  `1 x
回复

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2026-3-23 06:30 , Processed in 0.052870 second(s), 26 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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