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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
跳转到指定楼层
楼主
发表于 2014-12-4 11:08:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
你好我现在用的你们的omapl138开发板,跑的双核通信的程序,我现在需要通过串口一向外部发信息,但是串口一被DSP占用了,我怎样才能解除DSP占用呢
: \0 ~8 e6 d3 E& Q
, D# G+ M3 h0 E; s" Z
7 I8 n; x% m' n4 i  f谢谢) g. M; U4 E, l/ Y+ N- S

* k4 `" w* D1 b8 m2 t: {! D! F$ a7 r& q8 q# q
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
沙发
发表于 2014-12-4 14:01:26 | 只看该作者
  1 #ifndef _LOG_H_  w' x# \; c5 J% Y7 T; h
  2 #define _LOG_H_
: R/ D& u9 ?9 n1 _% g  3
" r0 S6 G; m4 q  4 /* 0: printf; 1: UART1 */5 Z2 B% n8 m4 W* G" @6 @; V3 n/ }
  5 #define OUTPUT_TO_UART1 1/ t  x# N; X7 N: H/ w- r
  6
( f6 X$ a2 M' ~" k. t, M5 z. x+ A  7 /* Switch Log Output */
+ Q" ?) l& T/ ]5 ]  g  8 #if OUTPUT_TO_UART1
+ V% d5 E2 H+ X) k  9     /* For UART1 Initial */6 M$ Y. H# M! q7 G
10     #include <stdlib.h>6 t) N$ Q  E2 j6 k) ^) H$ T
11     #include "hw_types.h"  # j7 M- \4 E' \! q3 w! l3 m
12     #include "hw_syscfg0_C6748.h"7 g8 j" s) E. P; f# {: f
13     #include "soc_C6748.h"
% _. X# k) D& S( a2 c* j( S- G 14     #include "psc.h"               
# k' o: u# v( T9 F* }5 S6 g 15     #include "gpio.h"               0 G' d/ ^$ g3 N9 B7 ]3 Q
16     #include "uart.h"
: l$ P1 a7 E6 w& p0 z 17     #include "uartStdio.h"0 }/ I5 f1 I$ s; j( r! Z
18
4 y9 R) ?9 d5 b. S1 m6 B 19     #define OUTPUT UARTprintf2 N% j# d/ C+ W( F
20 #else
0 A, _  [9 B) n# _2 F  f- z" j 21     #include <stdio.h>
& x# u2 z& Q/ `3 W$ h1 o 22     #include <stdbool.h>
5 P/ ?- z# E1 |; K, n& ?/ z1 a 23 # N9 \) c* O) N+ ^! f5 n! Q
24     #define OUTPUT printf6 ~# D8 P7 a- k
25 #endif. u' g; i% t4 G; P% o' A2 I
26 2 a0 e  C- M2 `# L; V% j' @- F0 \+ ^3 Z
27 /* Log init */
' k, V7 k3 c, C; Y" h) J, o- [ 28 #if OUTPUT_TO_UART1
/ |) O, R2 j0 r 29     #define LOG_INIT() do {                                     \
- o/ e) h, h- n% e6 _1 I) [: @! [ 30         PSCModuleControl(SOC_PSC_1_REGS, HW_PSC_GPIO,           \" j! E& z0 U% o* F7 v; m% j' t$ ?6 N
31                          PSC_POWERDOMAIN_ALWAYS_ON,             \, Q8 @' L$ y/ K2 G% F
32                          PSC_MDCTL_NEXT_ENABLE);                \
* U* G7 _6 m% T6 L1 d& K 33         GPIOBank6Pin12PinMuxSetup();                            \
: O4 J# ^& @) T1 p% [" ] 34         GPIOBank6Pin13PinMuxSetup();                            \7 a, F) @9 D+ v% e6 o
35         GPIODirModeSet(SOC_GPIO_0_REGS, 109, GPIO_DIR_OUTPUT);  \
5 I( U" T, _$ ?9 ?9 a+ T' z% K$ @5 x 36         GPIODirModeSet(SOC_GPIO_0_REGS, 110, GPIO_DIR_OUTPUT);  \3 Y& Z; f0 h. u4 Q0 B# G. Y4 @
37         UARTStdioInit();                                        \
- ~; O( ~) \4 x" G1 c 38     } while (0)
+ A6 D$ @9 o  u) Y% [ 39 #else) E# q2 E4 o$ F6 f- ^3 L
40     #define LOG_INIT() do { } while (0)( Z+ r' q: G' M( y+ @0 V
41 #endif% r- ~/ F* z" [0 Y& f
42   h1 M' q6 o! t
43 /* Log Output */. d; O- z; Q$ q: K& _
44 #define LOG_INFO(format, ...)      \
" X! X! {. m5 `8 f, S3 C 45     do {                           \$ g) G- A1 B' v0 u+ K; K% j
46         OUTPUT("[%s|%s@%s,%d] " format "\n", "INFO ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \5 n. a, T& E5 R
47     } while (0)
( O6 |1 `9 t9 ?* e 48
8 N' F# s) B8 D: r9 d2 Q$ E/ m$ ` 49 #define LOG_ERROR(format, ...)     \$ C9 J. g0 \1 B* i2 {: k
50     do {                           \% A" K' b! O* X1 v* L5 X' `
51         OUTPUT("[%s|%s@%s,%d] " format "\n", "ERROR", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \9 p3 [* b. i  t6 l: }
52     } while (0)
" L: G1 [3 n9 P, z5 P2 Y: m 53
5 `6 W( G: C+ R, _' f 54 #define LOG_DEBUG(format, ...)     \
" R, j+ d, w% N+ n 55     do {                           \$ z' j5 N+ S5 y' s3 t# W! E4 I
56         OUTPUT("[%s|%s@%s,%d] " format "\n", "DEBUG", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
) n5 {0 k. ]4 Q5 l  U6 L7 O 57     } while (0)
5 u2 g" ^7 x# Z 58 4 H; l" N7 _* ^5 @1 M( V
59 #define LOG_WARN(format, ...)      \
4 u9 ^% r$ T4 J4 y$ x8 l8 E2 ^ 60     do {                           \
# C$ b$ V  z6 [# |# x2 n1 e- N 61         OUTPUT("[%s|%s@%s,%d] " format "\n", "WRAN ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \, y- E8 D* M6 z
62     } while (0)) r0 {: O4 [# U2 F3 p
63 & j' t) u2 K0 x5 h3 ]! G5 c
64 #define LOG_TRACE(format, ...)     \
( ]1 F  t6 b' @" M# I* P7 k 65     do {                           \. |! v2 w, A7 t5 h5 p, x" u0 P
66         OUTPUT("[%s|%s@%s,%d] " format "\n", "TRACE", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
) e7 S- ?$ X  \1 T6 e 67     } while (0)
5 }7 ~: k5 p/ m/ q( k 68 . n: f' E. M% {! o7 _' E
69 #define LOG_FATAL(format, ...)     \6 Y+ d3 d6 P- y' M, r; V# ~
70     do {                           \
! I% [8 d! P) V1 U! y: ` 71         OUTPUT("[%s|%s@%s,%d] " format "\n", "FATAL", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
$ A7 x1 P2 z  h- `5 b7 W 72         exit(1);                   \
' Q; o/ j; H2 a 73     } while (0)
: T; d& o+ m0 ^: p! ?0 X: W 74
) \4 ]2 S8 S0 ~0 V' R& f 75 /* Assert */8 r' g& b! }& f& v8 k7 f
76 #define ASSERT(EXP)                \
9 J  B3 M6 |) b& q 77     do{                            \
1 E( @5 o. \9 A  T 78         if (!(EXP)) {              \$ }. X, I* _4 E7 O8 s
79             OUTPUT("[%s@%s,%d] ASSERT: " #EXP "\n", __func__, __FILE__, __LINE__ );                  \# q  m+ d: {0 ~( Y
80             exit(1);               \$ ~7 q1 P4 @$ g# n4 e
81         }                          \3 I( v8 k' ]( F7 M/ H% J
82     } while(0)
( ~  `9 |1 a! x; H& a3 u 83
8 I% ?+ y. e  a4 ?6 P 84 #endif
5 s7 S- j! q, w7 j8 y
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
板凳
发表于 2014-12-4 14:03:10 | 只看该作者
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏+ A1 n" k, b, H" L6 a) b, V
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
地板
 楼主| 发表于 2014-12-4 15:21:54 | 只看该作者
tenny 发表于 2014-12-4 14:03* {& o0 s8 X( r: O. |; }- }, n+ G
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏

  s# B3 C  u6 t7 U你好,是arm这一端的app
3 i" }; I" h) O( R
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
5#
 楼主| 发表于 2014-12-4 15:40:21 | 只看该作者
tenny 发表于 2014-12-4 14:03
+ G4 ?8 Z; @& v5 j) o* F修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏

; U8 h$ N7 d& Y' ^$ p! ~7 Y你好,你是不是将host/app下的log.h和dsp/driver下的log.h和到一块啦,怎么说下你的思路' z1 L+ {( D5 J  t- Y' J* x
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
6#
发表于 2014-12-4 15:59:03 | 只看该作者
arm 端的 log 并没有用到 uart1) y3 L* O% m( ?8 w
dsp 端的 log 才使用了 uart1
; p# q; z2 ^7 O- O5 d6 J所以,你需要也只需要修改的是 dsp 子工程的 log.h(新版本的代码 是在 dsp/app/log.h,旧的是在 dsp/driver/log.h)
+ x9 n/ w# W) @
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
7#
 楼主| 发表于 2014-12-4 17:19:24 | 只看该作者
tenny 发表于 2014-12-4 15:59# ]6 i5 D8 \; k0 {
arm 端的 log 并没有用到 uart1
: D* @4 _, H. I( |% Ydsp 端的 log 才使用了 uart1+ c' q, f# C2 t  b- Z
所以,你需要也只需要修改的是 dsp 子工程的  ...
( b# X( ]; G" v
那我是不是将你贴出的那段代码,替换DSP/driver下的log.h就可以是吧,
- v  o8 S  H7 |' |( ~, b/ h5 v然后将#define OUTPUT_TO_UART1 1 换成
: y4 h5 U( S( I#define OUTPUT_TO_UART1 0
/ H% F. n9 d" \/ M- H9 z  是不是这样
0 Y( j. y9 @* W2 J- A2 y, P0 a: B6 R/ g% h0 y7 f8 R7 m
6 D- h! [$ H# h2 N; t6 [. `, ^9 X+ A

+ h+ q! @+ C5 M+ C8 [
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
8#
发表于 2014-12-5 09:25:09 | 只看该作者
, v3 O( t, S: p* N' E
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-12-5 18:20 , Processed in 0.041004 second(s), 23 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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