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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
跳转到指定楼层
楼主
发表于 2014-12-4 11:08:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
你好我现在用的你们的omapl138开发板,跑的双核通信的程序,我现在需要通过串口一向外部发信息,但是串口一被DSP占用了,我怎样才能解除DSP占用呢$ q1 l4 T! |# m) T
. ?2 e: t8 [1 P4 D
+ H) ~4 ]  L" f( |1 g5 m
谢谢  i8 W* X7 Y9 N, n
6 Z+ Q& a" o6 \! }  Z" ~
" P1 B* r0 q7 e( v+ b$ [4 s
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
沙发
发表于 2014-12-4 14:01:26 | 只看该作者
  1 #ifndef _LOG_H_1 `: E1 U: |5 y3 k6 p$ B8 `1 z
  2 #define _LOG_H_
6 {! ]1 c) ^# a  }  3 ( `+ G5 n& O- l  T" ]
  4 /* 0: printf; 1: UART1 */5 A- d) O4 z3 g1 T% T0 |; G# ~
  5 #define OUTPUT_TO_UART1 1' e; _' e/ V. `$ K: B+ \
  6
/ q, W# V! `5 S9 j" b! n  7 /* Switch Log Output */8 Q* V5 C4 }6 m
  8 #if OUTPUT_TO_UART1
% F3 Z6 \$ M0 Z: D4 P' r- O9 {  9     /* For UART1 Initial */
; L4 ~( f4 j# F6 U6 U 10     #include <stdlib.h>  }  j, u0 \3 ]" a* C. Y" r
11     #include "hw_types.h"  6 p; g# @' e# D8 a4 ~4 o' O9 j
12     #include "hw_syscfg0_C6748.h"2 f$ V" ^# @, M% x  o# c
13     #include "soc_C6748.h"
0 q$ D7 g0 ^# J  q; A& a 14     #include "psc.h"               / a9 G" [& j( P$ d0 ?
15     #include "gpio.h"               
% [1 Z% O, |* ` 16     #include "uart.h") d* C) `" C: e9 Y( w7 a4 |
17     #include "uartStdio.h"5 v& C9 K8 A# h& y  [$ x
18
7 L: p4 x& j( u6 \; {  w 19     #define OUTPUT UARTprintf! W/ J; S/ x9 `7 X
20 #else
$ h. L4 b  a: F8 G* L 21     #include <stdio.h>: l1 w6 D' C( P2 O3 U' o' R
22     #include <stdbool.h>6 I4 d) @3 X/ O1 g1 W
23
" ?, A, z: {6 _; }+ K 24     #define OUTPUT printf! {7 M8 [  ^5 u, y( v4 _' F3 M
25 #endif
( `, D% j7 b" I, V: b 26 2 B3 L% D" H4 U
27 /* Log init */
2 \* ]/ l) C& u( W 28 #if OUTPUT_TO_UART1/ M8 M1 P1 A, `' d: e" X
29     #define LOG_INIT() do {                                     \% [$ ?4 p& J- M( [4 J
30         PSCModuleControl(SOC_PSC_1_REGS, HW_PSC_GPIO,           \; P  K# @9 A7 m5 d8 X3 t( u
31                          PSC_POWERDOMAIN_ALWAYS_ON,             \
6 U/ {5 I0 g: [ 32                          PSC_MDCTL_NEXT_ENABLE);                \" \; D5 ]) ]) T& S0 y5 W0 y
33         GPIOBank6Pin12PinMuxSetup();                            \  X' n% e' @$ F- x$ F! P6 G: I# X
34         GPIOBank6Pin13PinMuxSetup();                            \- n  D& E9 W- s$ U* g! Z) f
35         GPIODirModeSet(SOC_GPIO_0_REGS, 109, GPIO_DIR_OUTPUT);  \" K* i" K4 X* F1 D. P8 J3 g; L9 L3 }) v
36         GPIODirModeSet(SOC_GPIO_0_REGS, 110, GPIO_DIR_OUTPUT);  \7 l9 k$ j6 Q+ l  F; E; A& _
37         UARTStdioInit();                                        \5 s5 N1 S! {# {7 k2 }8 O+ U- p
38     } while (0): ~1 e" ~4 _7 p9 Q
39 #else
& N! U" l6 \8 A 40     #define LOG_INIT() do { } while (0)1 f0 G  l8 Q! f
41 #endif
# `7 U  R+ ]9 F 42
1 z: L% V* z  |( ]8 r 43 /* Log Output */
$ o% m: |! i; k  O9 v& ? 44 #define LOG_INFO(format, ...)      \
+ a, Y" P% ]3 J  Z: f 45     do {                           \, _5 j# O. b* V" k1 L
46         OUTPUT("[%s|%s@%s,%d] " format "\n", "INFO ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
" r. w5 c" n5 b2 r# f* J 47     } while (0)9 K" f' |4 P9 L! X, @5 J
48
& j) G/ ?) A4 F8 S 49 #define LOG_ERROR(format, ...)     \
( r# y" I: o8 A; Q' b 50     do {                           \
; \0 \- u3 w$ ]+ |, v 51         OUTPUT("[%s|%s@%s,%d] " format "\n", "ERROR", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \8 ~! S) z5 n) G6 G' m  ^
52     } while (0). G8 ]6 @! Q. J# c2 X2 ~
53
" G7 Z' J' J* r) t 54 #define LOG_DEBUG(format, ...)     \. M" u! a- ^" [
55     do {                           \
3 v7 K9 [; `) S( A3 j 56         OUTPUT("[%s|%s@%s,%d] " format "\n", "DEBUG", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
6 c3 K, X0 N/ Y& ]1 M 57     } while (0)% }1 M: _" t. b3 R0 U* T3 F! n# r
58
0 r" Z6 j- l: f0 s$ O9 [ 59 #define LOG_WARN(format, ...)      \, _9 a( ]8 L- d3 Q2 \% S
60     do {                           \1 q% Y! q& H/ [4 U" H! b" v+ N& e
61         OUTPUT("[%s|%s@%s,%d] " format "\n", "WRAN ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
" C# v4 s( S& t; b- M 62     } while (0)5 e1 b$ a9 N' H# D. [. s! J& C" x8 D
63 2 r' y  p# b+ e
64 #define LOG_TRACE(format, ...)     \
" c+ G5 v1 ?: |) a 65     do {                           \& R; D: S3 R9 b& g
66         OUTPUT("[%s|%s@%s,%d] " format "\n", "TRACE", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \7 e: p' K2 E, O- C4 e: p
67     } while (0)
! k; K" m5 E6 S; U 68 6 O* x5 z- k  Y& d9 V9 n6 b6 A
69 #define LOG_FATAL(format, ...)     \
5 v' }% r. o- @ 70     do {                           \, P9 u# Z& s# [/ y' c3 P: Z
71         OUTPUT("[%s|%s@%s,%d] " format "\n", "FATAL", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \7 p, H* A( b9 P* K0 a( G: S, z9 b
72         exit(1);                   \$ ~. e" j% {1 _7 _, \8 [4 A' `$ j0 v
73     } while (0)
* F1 u8 A/ m; V; [2 \% f8 w 74 / g- Q" K* b3 r- A2 X
75 /* Assert */
& p" x, Q2 X& J1 b7 P  |" { 76 #define ASSERT(EXP)                \; [( |, v% ?, ]' l' x
77     do{                            \# V& }0 v" Z) J* P! e
78         if (!(EXP)) {              \/ A! [6 e. q/ j3 z# \/ O% b- U1 B$ ?2 w
79             OUTPUT("[%s@%s,%d] ASSERT: " #EXP "\n", __func__, __FILE__, __LINE__ );                  \
1 i9 K- D& W* N7 U# r# Y 80             exit(1);               \6 B0 m1 U* N4 i, P) ^/ }: |
81         }                          \
6 H3 ^1 m4 W8 d+ G 82     } while(0)
7 x& I9 d& ?. R5 z 83 " `# H& f. T2 [. S7 q
84 #endif
+ e/ b, r0 Q" V' H/ C$ g. U
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
板凳
发表于 2014-12-4 14:03:10 | 只看该作者
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏) {; z6 M# U( O" o: E  P9 i* X- a
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
地板
 楼主| 发表于 2014-12-4 15:21:54 | 只看该作者
tenny 发表于 2014-12-4 14:03; P8 m: N# T' T1 b8 B; X) |
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏

$ X& h4 P  m# o' z) ^$ ?你好,是arm这一端的app
( E' ?0 ^5 J5 {( V$ E
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
5#
 楼主| 发表于 2014-12-4 15:40:21 | 只看该作者
tenny 发表于 2014-12-4 14:035 J  q# x4 r. m
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏
1 I9 i7 g' ^; P7 L/ M! l( S
你好,你是不是将host/app下的log.h和dsp/driver下的log.h和到一块啦,怎么说下你的思路
- h- r! s2 A6 y, d0 G& Q
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
6#
发表于 2014-12-4 15:59:03 | 只看该作者
arm 端的 log 并没有用到 uart1
8 u& w4 f1 V6 i4 x; I0 odsp 端的 log 才使用了 uart1
8 K9 w6 x- j  H2 ?所以,你需要也只需要修改的是 dsp 子工程的 log.h(新版本的代码 是在 dsp/app/log.h,旧的是在 dsp/driver/log.h)
* E" `, K' V* j9 o
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
7#
 楼主| 发表于 2014-12-4 17:19:24 | 只看该作者
tenny 发表于 2014-12-4 15:59
: g9 b/ |6 S! W( B! h/ n' |arm 端的 log 并没有用到 uart1# |, ^( B# E+ Z; r, Y
dsp 端的 log 才使用了 uart1
- _4 f( g/ S5 |( p所以,你需要也只需要修改的是 dsp 子工程的  ...

( A6 a+ S7 `% h9 w, G: y; G那我是不是将你贴出的那段代码,替换DSP/driver下的log.h就可以是吧,
* _2 Q7 ?$ M: N然后将#define OUTPUT_TO_UART1 1 换成8 k. n, S, T) E5 I! p
#define OUTPUT_TO_UART1 0' V1 L$ W1 @. S/ T9 C( C
  是不是这样
6 B& Z, f: `% @+ s+ h
) `- n8 T" h3 u* P; s; g3 U9 K9 c  F) t* W. f7 }
+ o1 l) R$ w# N
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

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

/ Z! I# L6 b5 t6 A
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-16 08:47 , Processed in 0.042429 second(s), 23 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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