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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
跳转到指定楼层
楼主
发表于 2014-12-4 11:08:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
你好我现在用的你们的omapl138开发板,跑的双核通信的程序,我现在需要通过串口一向外部发信息,但是串口一被DSP占用了,我怎样才能解除DSP占用呢, K+ B" d3 G; }
# B) F  ?; L' v# V  v1 A' j/ H8 k

7 I4 _. ^$ k0 e$ ~2 ~, f谢谢
+ \# n' a: z" W' M1 P5 T) Z  i& j% C& H  |5 o

/ w2 m: p6 n  b
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
沙发
发表于 2014-12-4 14:01:26 | 只看该作者
  1 #ifndef _LOG_H_
) |8 A; @5 B8 \# j8 v8 @  2 #define _LOG_H_9 \" V. l6 u' J+ `5 s
  3
6 J& a8 o  r9 }* f. `  4 /* 0: printf; 1: UART1 */2 c& M* P' _: `$ a& l. p+ A3 Y, R
  5 #define OUTPUT_TO_UART1 1
" l" r/ H* [/ y: u
  6 # p; K0 X& n: l9 t& f$ O
  7 /* Switch Log Output */) X0 [4 |4 q9 H) H, z% l
  8 #if OUTPUT_TO_UART1; B" D# @4 E; X! j. L* P
  9     /* For UART1 Initial */( ]  P! ?8 _6 `
10     #include <stdlib.h>$ t* ^& L; f" g, |1 Z8 m
11     #include "hw_types.h"  
" h) h) ^: H' I$ N8 }6 f 12     #include "hw_syscfg0_C6748.h"
) |+ p% p3 q- G' R; b- u& [ 13     #include "soc_C6748.h"- |4 x" d, X, t
14     #include "psc.h"               ! g3 |! \2 V4 b% {# i( u: c
15     #include "gpio.h"               . d" S" `7 ^' A3 {
16     #include "uart.h"/ X1 j' n4 v) Y0 d" r6 r# Z4 H" {. Y
17     #include "uartStdio.h") G# h  S; O5 U1 }* I4 U, q
18
& V3 ?5 }5 V( r/ A9 M 19     #define OUTPUT UARTprintf
4 H' ?$ G; G3 ^* @  d 20 #else  t9 n- |6 B( _( k" i" K7 k7 f
21     #include <stdio.h>, ~! u3 M5 v5 M; ?
22     #include <stdbool.h>9 R. w' a8 k, X% N% l" J  l
23
$ P( k: j- u* S1 F2 e7 B 24     #define OUTPUT printf3 t$ u  B. Q$ q. O# m! u
25 #endif
( u5 e& n- ]6 g 26 + q+ A7 ^! E8 O
27 /* Log init */; X$ R# f1 C: A8 e* X, w
28 #if OUTPUT_TO_UART1
/ _, i) z9 S/ }: n& V4 i  i% q5 v 29     #define LOG_INIT() do {                                     \
  v6 I; L3 E% Z/ C! C0 c* n4 o' k 30         PSCModuleControl(SOC_PSC_1_REGS, HW_PSC_GPIO,           \
0 g$ X3 ]2 [+ u! o- H. s; Q 31                          PSC_POWERDOMAIN_ALWAYS_ON,             \2 ^' I' L' Z: \7 w' J5 e" F# T) z
32                          PSC_MDCTL_NEXT_ENABLE);                \" k7 v/ j+ t2 Z- |
33         GPIOBank6Pin12PinMuxSetup();                            \
+ c! C0 i/ C/ ? 34         GPIOBank6Pin13PinMuxSetup();                            \8 J, q% M3 J7 b& j
35         GPIODirModeSet(SOC_GPIO_0_REGS, 109, GPIO_DIR_OUTPUT);  \
9 W, [: l* e  } 36         GPIODirModeSet(SOC_GPIO_0_REGS, 110, GPIO_DIR_OUTPUT);  \
7 _3 W, X# `- Q9 W 37         UARTStdioInit();                                        \
  [/ }5 L: e1 g( P9 w. A 38     } while (0)8 S4 G( \' ^) |! [- {) K
39 #else0 d- t& O8 q- d. m
40     #define LOG_INIT() do { } while (0)$ C$ V) G$ w9 K+ D) _
41 #endif, E/ e1 b5 i5 X! x$ M( F) C
42 6 R$ Q  T, t* V# Y7 i: |0 w
43 /* Log Output */
) W# q  y, \5 x 44 #define LOG_INFO(format, ...)      \( @) Y6 n- b5 B. w( B) t
45     do {                           \
" |) s. E  r& J# e  [7 Z 46         OUTPUT("[%s|%s@%s,%d] " format "\n", "INFO ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
: M0 J$ x" K0 w 47     } while (0)/ j& ~" p6 l$ Z! v
48 4 X% j4 G4 E' X( _; b3 ~  J
49 #define LOG_ERROR(format, ...)     \
* L7 G9 \$ }3 K% P5 G 50     do {                           \4 g$ {4 z8 x$ ^( p! u, V
51         OUTPUT("[%s|%s@%s,%d] " format "\n", "ERROR", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
9 F* g) [( s) {/ W; u4 O/ a 52     } while (0)
9 {- v& C4 E* v 53 0 ~4 P& Z& U& _1 }
54 #define LOG_DEBUG(format, ...)     \9 c8 J4 j9 A0 u( Q. v
55     do {                           \
8 w2 ]3 k: O  X  `6 j* G/ @& K' C 56         OUTPUT("[%s|%s@%s,%d] " format "\n", "DEBUG", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \' j3 s& p1 V( ~! W# m& L4 i2 y- P
57     } while (0)
2 ]% Q/ ]7 @% C& g& ~ 58
% {0 j5 K9 J& Y 59 #define LOG_WARN(format, ...)      \
1 ^* P8 k; Y2 t7 C% c 60     do {                           \
7 t9 M( Q3 a; n* J' l) ~% p' P, l 61         OUTPUT("[%s|%s@%s,%d] " format "\n", "WRAN ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \6 U0 X, t, S; y, ~
62     } while (0)
! }5 K# F  c) r! U. j( E 63
' P; \3 e" A. H, Q! i$ W 64 #define LOG_TRACE(format, ...)     \
" k! g4 j) W: q/ T% [ 65     do {                           \
/ v+ H/ b8 d1 D: |. N 66         OUTPUT("[%s|%s@%s,%d] " format "\n", "TRACE", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \3 O9 G, C# s$ W9 }" q% [3 C
67     } while (0)1 S" t2 ^5 F7 x; U& }" a7 c
68 ' q4 k4 K4 g) r) @
69 #define LOG_FATAL(format, ...)     \
. W8 R  Q( i5 p# f! G: [ 70     do {                           \
& l  w3 j  `$ ~# I 71         OUTPUT("[%s|%s@%s,%d] " format "\n", "FATAL", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \! a9 G7 Q# X: q' o
72         exit(1);                   \
! R' G( G! F: P# `" K# P 73     } while (0)
% t0 \( @0 F; G7 `0 U8 O 74 0 r* Z) C/ ]: t+ L0 a
75 /* Assert */
% g0 y6 R2 b% s% _) x  c7 ] 76 #define ASSERT(EXP)                \! c' }* H1 z7 k
77     do{                            \
8 u7 V# [6 i: e: q; o. Y 78         if (!(EXP)) {              \
3 w$ f* m# E. Y9 A- ^6 a- F 79             OUTPUT("[%s@%s,%d] ASSERT: " #EXP "\n", __func__, __FILE__, __LINE__ );                  \
% _  O: q6 {- [8 f6 F) u$ e. s 80             exit(1);               \) u* i6 r4 N/ C/ @! c
81         }                          \$ p7 u3 m3 A7 R  @
82     } while(0)
) E" G4 a! b3 `% _. e  X+ T+ B 83
5 c9 @+ _; U" t; `, s' ^- D: G" e 84 #endif( e2 g+ x6 E. m& ?- j; d
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
板凳
发表于 2014-12-4 14:03:10 | 只看该作者
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏3 T" Y  Z! `! ]! p* O
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
地板
 楼主| 发表于 2014-12-4 15:21:54 | 只看该作者
tenny 发表于 2014-12-4 14:03. o# L3 r$ c. f% P* V! F  ?; W+ e
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏

6 R0 K- `* I% s+ g) i你好,是arm这一端的app) y. ~7 |6 V, D* R! }. E: H
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
5#
 楼主| 发表于 2014-12-4 15:40:21 | 只看该作者
tenny 发表于 2014-12-4 14:03/ t+ N7 O$ S) n" Q* N! d5 {+ P: a
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏
- h3 K4 q/ s0 ?, k5 y
你好,你是不是将host/app下的log.h和dsp/driver下的log.h和到一块啦,怎么说下你的思路5 J3 w- ]( p: z
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
6#
发表于 2014-12-4 15:59:03 | 只看该作者
arm 端的 log 并没有用到 uart1
) N1 [$ m  F* [3 @2 f9 Wdsp 端的 log 才使用了 uart1
6 j% W3 n- Y& Z所以,你需要也只需要修改的是 dsp 子工程的 log.h(新版本的代码 是在 dsp/app/log.h,旧的是在 dsp/driver/log.h)9 n3 O2 B( d% B) E# f& r- Q9 s
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
7#
 楼主| 发表于 2014-12-4 17:19:24 | 只看该作者
tenny 发表于 2014-12-4 15:59. {  E- H; {. f, D) Q# |
arm 端的 log 并没有用到 uart1$ l4 S% K$ Q# l
dsp 端的 log 才使用了 uart1  {$ v! ?2 F3 G3 g/ o0 P
所以,你需要也只需要修改的是 dsp 子工程的  ...

6 J; P7 F3 d3 g9 h. ]那我是不是将你贴出的那段代码,替换DSP/driver下的log.h就可以是吧,
% a6 j( H  q3 ~: w6 n然后将#define OUTPUT_TO_UART1 1 换成
: w8 n: a. S3 ?! ~8 i8 U#define OUTPUT_TO_UART1 0
; W, @; }6 k* T' Y) Z+ H  是不是这样, {9 N' M' e/ ]% D

1 t7 W( V* U- R4 h. R8 y: ?
9 d- d. A& B& Q6 Z$ }& N! b! H" |6 x! H& z5 C
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

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

) V# V0 |! d  V% u. P+ a
回复

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2026-1-19 01:56 , Processed in 0.043305 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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