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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
跳转到指定楼层
楼主
发表于 2014-12-4 11:08:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
你好我现在用的你们的omapl138开发板,跑的双核通信的程序,我现在需要通过串口一向外部发信息,但是串口一被DSP占用了,我怎样才能解除DSP占用呢5 h( E& {+ m0 U! w$ x. p
' J4 v& L" T. F
- L3 {9 T  y# y" ^7 \: a( F
谢谢2 I6 t  ?' O% e5 R
% ~9 @' L9 W! }+ e1 I
& ^* p1 @- d& |9 P  P$ X
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
沙发
发表于 2014-12-4 14:01:26 | 只看该作者
  1 #ifndef _LOG_H_
' b# y2 d3 [& G% C+ z; t3 M( o6 S  2 #define _LOG_H_1 x8 N- x+ o4 Y$ z' f% a1 @$ ?  {
  3
- ^" E5 c/ d9 t% O  4 /* 0: printf; 1: UART1 */
7 S* D2 d7 {' b- b" F5 [: o; i  5 #define OUTPUT_TO_UART1 1% G* c) R. J2 P3 f
  6
! a2 p4 Z1 [% l  H2 |% C  7 /* Switch Log Output */
9 l. j1 T4 G7 g4 @: c- c  8 #if OUTPUT_TO_UART1! k. |: I4 o9 t8 T2 v% i& W% L' \
  9     /* For UART1 Initial */# e4 z/ w4 A) a1 `: v! \4 m
10     #include <stdlib.h>; f$ Q- O' b2 b1 O
11     #include "hw_types.h"  + ?$ |& B. \/ U, q4 d+ D0 N& K) C
12     #include "hw_syscfg0_C6748.h"
$ L, D9 ~* i& S4 f% Q4 Z8 U 13     #include "soc_C6748.h"- K# u2 k% r3 ?- B  q( Z: A
14     #include "psc.h"               
+ e) |9 G: A7 c 15     #include "gpio.h"               
; B# w5 f2 L" D 16     #include "uart.h"
. d8 R" \1 a9 e' V  s8 S 17     #include "uartStdio.h"
1 Z  P' o9 n+ c6 ~* g  o/ }; c 18
: L7 a$ N/ U' c+ x 19     #define OUTPUT UARTprintf% h6 t. N$ @2 A( Z
20 #else
8 u" E: P& Q2 w8 a0 F 21     #include <stdio.h>
" P) N, n/ b$ i1 z, ^0 I& V8 {! \ 22     #include <stdbool.h>" S9 d5 v3 I( a6 Z
23
* F  S; _/ N4 L; C8 C. R6 h- g1 b 24     #define OUTPUT printf
5 q; {% F2 f5 A" C$ \ 25 #endif- W$ O9 ~+ o" k
26
& p) U, S$ Z) J2 l. a: \ 27 /* Log init */6 i; \6 ]  |2 y* j; \5 i
28 #if OUTPUT_TO_UART1. Z7 R& J' S& x! `3 C& z4 k; T/ i
29     #define LOG_INIT() do {                                     \: o) c3 t# R& a- o7 P
30         PSCModuleControl(SOC_PSC_1_REGS, HW_PSC_GPIO,           \
0 f: i( o, L! v) R! w- w 31                          PSC_POWERDOMAIN_ALWAYS_ON,             \, d) s' q4 F3 \" y$ \6 l
32                          PSC_MDCTL_NEXT_ENABLE);                \
' O; b5 E: A1 U: b 33         GPIOBank6Pin12PinMuxSetup();                            \
4 I  z' j1 R; t 34         GPIOBank6Pin13PinMuxSetup();                            \9 V; e8 S7 n0 L2 H) n5 O9 Y7 b) `0 J$ ]
35         GPIODirModeSet(SOC_GPIO_0_REGS, 109, GPIO_DIR_OUTPUT);  \3 Q6 I+ c7 g5 D' L
36         GPIODirModeSet(SOC_GPIO_0_REGS, 110, GPIO_DIR_OUTPUT);  \
- x3 t4 @6 Q% K% g& k5 i 37         UARTStdioInit();                                        \
6 P4 Z0 G1 s5 ?2 ]0 Z9 @1 z 38     } while (0)1 G7 x5 M" G9 f7 o& L$ p
39 #else
2 }' X% u" J7 {& W' Y 40     #define LOG_INIT() do { } while (0)
( ?1 u: K/ T" c5 R 41 #endif0 M1 `( G8 Y: E/ I8 m+ i
42
. m7 w! I8 k# P0 x( m 43 /* Log Output */
9 F6 I$ `7 s8 g4 [6 p4 F; l 44 #define LOG_INFO(format, ...)      \* F; e+ O' P$ \8 k) D: e( O
45     do {                           \0 I# v4 p# ^) x
46         OUTPUT("[%s|%s@%s,%d] " format "\n", "INFO ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
+ o8 v, i/ \! Z  @3 s% O1 c: h 47     } while (0)
' A/ ]. A: \* ~% ^4 J# U 48
- u5 W2 k/ U. v0 v+ W 49 #define LOG_ERROR(format, ...)     \
. B5 w/ r  T/ X5 ^ 50     do {                           \: F$ ?* Z+ z" q: U3 ?9 O* r9 R' B: _- ]
51         OUTPUT("[%s|%s@%s,%d] " format "\n", "ERROR", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
& l& x4 S6 A; g, [! g 52     } while (0)8 V6 z8 o) Z4 [: S4 Y  Q
53
4 N) d; q2 N- b7 [ 54 #define LOG_DEBUG(format, ...)     \
, i4 n. f' f7 ?$ q2 r9 A  H 55     do {                           \
  ?: K. m4 a+ h4 T 56         OUTPUT("[%s|%s@%s,%d] " format "\n", "DEBUG", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
2 A8 v& B6 J( \! { 57     } while (0)
: B2 P' O- E: W% ? 58   V% G! a7 j8 J& |/ [/ W
59 #define LOG_WARN(format, ...)      \, _# b- I4 y0 L' L* `
60     do {                           \" j# i  i3 o& h* ~* ^+ D
61         OUTPUT("[%s|%s@%s,%d] " format "\n", "WRAN ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \0 V; T# }1 \! {
62     } while (0)7 I( b1 h9 Q) K, W! m; F
63 ; ]+ q' ?- D. E9 F, Z
64 #define LOG_TRACE(format, ...)     \4 j$ Z0 u: E( m, I; b* p0 k3 h& y' v
65     do {                           \* U) E9 t  y" s6 Y
66         OUTPUT("[%s|%s@%s,%d] " format "\n", "TRACE", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \  {0 s+ |7 Y$ e, n
67     } while (0)
) S- |6 s  ?6 V2 b 68
! i9 V" H3 A5 T% w+ g 69 #define LOG_FATAL(format, ...)     \/ N) R3 y. e2 U6 i
70     do {                           \7 M) s- J$ d  m
71         OUTPUT("[%s|%s@%s,%d] " format "\n", "FATAL", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \; w0 g! ^; C' i& M; {
72         exit(1);                   \1 U, P2 D0 d1 k8 O, w2 a
73     } while (0)" R% D! b5 n' r' S
74 ) i  @- f' B- c. Q( E6 Q
75 /* Assert */
4 a2 y& Q# N, H# D8 x5 ~$ ? 76 #define ASSERT(EXP)                \
, {! G$ u5 y1 C; ]" ^9 N 77     do{                            \
' l, c# i7 y4 G 78         if (!(EXP)) {              \. s. [0 `' V' ?
79             OUTPUT("[%s@%s,%d] ASSERT: " #EXP "\n", __func__, __FILE__, __LINE__ );                  \! _' V( d2 M8 f" R/ S
80             exit(1);               \
, |2 V8 [8 b  A4 U* f/ Q 81         }                          \& n4 o: B0 d4 \4 ~' ^! _) F8 [
82     } while(0)) N3 E6 A2 n3 h/ l" x
83
' H- T7 W: O( w, }" P% ~ 84 #endif& ^7 ^! s& z4 w' O" d' E
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
板凳
发表于 2014-12-4 14:03:10 | 只看该作者
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏
6 r: M3 X3 K, C4 D! R
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
地板
 楼主| 发表于 2014-12-4 15:21:54 | 只看该作者
tenny 发表于 2014-12-4 14:03
3 @  N& o% l3 o* B' ]+ d" u修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏
# R2 R3 J  E( W- ~8 {
你好,是arm这一端的app
# V& b1 j( X, V( U/ \6 ?$ W5 N
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
5#
 楼主| 发表于 2014-12-4 15:40:21 | 只看该作者
tenny 发表于 2014-12-4 14:03' x% B" q8 n  S5 [1 R( c
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏

0 x8 q' }' i! `. m" c% z你好,你是不是将host/app下的log.h和dsp/driver下的log.h和到一块啦,怎么说下你的思路
4 S4 [1 ?# A: r1 |# m# x+ {5 Z  o$ p
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
6#
发表于 2014-12-4 15:59:03 | 只看该作者
arm 端的 log 并没有用到 uart1
8 p8 ?8 O1 Z  Cdsp 端的 log 才使用了 uart18 f5 E- s9 m- S  d: X- f( s
所以,你需要也只需要修改的是 dsp 子工程的 log.h(新版本的代码 是在 dsp/app/log.h,旧的是在 dsp/driver/log.h)7 D, S2 h$ S8 o/ |$ N$ _
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
7#
 楼主| 发表于 2014-12-4 17:19:24 | 只看该作者
tenny 发表于 2014-12-4 15:59# _# S; @: ]5 I) B8 g
arm 端的 log 并没有用到 uart1! T% d( v* x. m; p
dsp 端的 log 才使用了 uart1
" a' {& Y, H8 m+ C/ v  l: V所以,你需要也只需要修改的是 dsp 子工程的  ...

2 A1 ?' O! k3 a8 c; j那我是不是将你贴出的那段代码,替换DSP/driver下的log.h就可以是吧,
2 N9 y; v5 |2 `然后将#define OUTPUT_TO_UART1 1 换成: X1 c8 B" S) Q9 m8 ]
#define OUTPUT_TO_UART1 0/ C4 L+ x$ }! Z9 V5 j
  是不是这样
& c% s7 u* S3 ~* V# \2 P+ K6 }4 m. S9 `6 `+ m! B8 l4 V' L

( F) w- r9 L+ U/ n2 J) \8 w
9 l( `1 Z: L. n0 b
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
8#
发表于 2014-12-5 09:25:09 | 只看该作者
9 d& [  Q: X  F. Y/ Q
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-12-5 07:02 , Processed in 0.042167 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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