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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
跳转到指定楼层
楼主
发表于 2014-12-4 11:08:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
你好我现在用的你们的omapl138开发板,跑的双核通信的程序,我现在需要通过串口一向外部发信息,但是串口一被DSP占用了,我怎样才能解除DSP占用呢
% m2 g% ?7 s% B1 R- e5 s8 a4 ^& r+ ]6 H& M1 n
' F; t6 ^6 v6 W8 Q3 K
谢谢
' l; T+ Q  q9 x. W/ ?9 [9 T4 F+ [+ T8 Q- @& v

" J$ s# M+ ~7 R/ r2 {0 ^
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
沙发
发表于 2014-12-4 14:01:26 | 只看该作者
  1 #ifndef _LOG_H_# P# j9 r  o0 ?
  2 #define _LOG_H_3 A( Z, _/ o0 _
  3 ( r/ D, N0 s" |: ?7 q6 T9 }
  4 /* 0: printf; 1: UART1 */
) d% ?4 b6 y$ @4 o  5 #define OUTPUT_TO_UART1 1
$ v* }$ d  [5 X' _) a8 `
  6
) E% `  h+ ^) r7 L3 O/ G' O6 M4 x  7 /* Switch Log Output */. R) U4 z0 a5 Q. }
  8 #if OUTPUT_TO_UART1
/ X9 ~# [6 n9 T! O  9     /* For UART1 Initial */0 f- Z. O9 J2 X. w& X/ z; s; H
10     #include <stdlib.h>: v: j1 k6 ^# ?' W
11     #include "hw_types.h"  
0 u- H' y* [& Y! M9 M5 [% j 12     #include "hw_syscfg0_C6748.h"
5 M0 `/ q4 y9 ~5 j+ a; L 13     #include "soc_C6748.h"
1 ?4 q. j9 ?, m( R1 c3 g) L 14     #include "psc.h"               / l5 l4 T4 K) p: l
15     #include "gpio.h"               + a! @3 k' M; ]9 g/ ~% N
16     #include "uart.h"6 f8 Y3 U! A2 S# G* h( \
17     #include "uartStdio.h"
5 |% C3 T, G' z- W8 }. S& C 18
! K% `0 T' q' t  p1 C. i1 A9 ? 19     #define OUTPUT UARTprintf$ ]# @) |& p5 Q
20 #else
$ H6 T* ]$ [- x1 `& L8 I. ]. n9 ?* i 21     #include <stdio.h>
4 n* n  n- v* d6 i2 H' R! h 22     #include <stdbool.h>
" y" B# l3 u1 B3 [ 23
8 v( T4 l5 H5 l. I# a3 ]# J0 e1 D 24     #define OUTPUT printf8 z3 F$ n/ j/ Z
25 #endif$ g3 B* [* c4 q* l
26
+ \! N4 T) ], x  Z- W6 o9 K 27 /* Log init */
5 L1 L& \" v8 e, G1 ?; v6 e 28 #if OUTPUT_TO_UART1
8 u0 ]+ [% e& z0 m+ F 29     #define LOG_INIT() do {                                     \
- H8 f# _3 N# m# n( e3 C 30         PSCModuleControl(SOC_PSC_1_REGS, HW_PSC_GPIO,           \
$ s  q, {9 T2 I' m 31                          PSC_POWERDOMAIN_ALWAYS_ON,             \
2 [4 i6 x3 @; q 32                          PSC_MDCTL_NEXT_ENABLE);                \
' L$ Z7 v7 e+ i! j 33         GPIOBank6Pin12PinMuxSetup();                            \
* Z, C/ H8 C2 h 34         GPIOBank6Pin13PinMuxSetup();                            \
: A% m1 f/ X0 Z0 j 35         GPIODirModeSet(SOC_GPIO_0_REGS, 109, GPIO_DIR_OUTPUT);  \
7 ^" ]0 R' G3 v! A+ z- v3 \8 D 36         GPIODirModeSet(SOC_GPIO_0_REGS, 110, GPIO_DIR_OUTPUT);  \$ R. U# |; b& E4 c9 Y, V* K0 y
37         UARTStdioInit();                                        \% _# N% B, g; ]3 ~6 T3 l
38     } while (0), x+ n/ a; s& t& S) X
39 #else; y2 P; p6 R3 r. C( Z0 [  b, c
40     #define LOG_INIT() do { } while (0)
3 ^0 X  X2 ~# w" t 41 #endif
4 ?, t. F" Y8 X2 t* m$ ?; P) O 42 ) E% J2 B6 e* O! C" F
43 /* Log Output */& B7 t: V! f* D: c( M" G$ g
44 #define LOG_INFO(format, ...)      \
( q% H- i3 \, w/ } 45     do {                           \& t" x0 v, s3 X3 M  C/ R. P$ B
46         OUTPUT("[%s|%s@%s,%d] " format "\n", "INFO ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \$ l' T1 Q" \, S) k( @* q6 Z
47     } while (0)
$ v' l6 A0 C/ n2 ?; e 48
) ]0 {2 Q5 D% w% n+ W/ u. I 49 #define LOG_ERROR(format, ...)     \5 n" Z1 w7 v6 S' S
50     do {                           \
; w5 @3 H/ q0 a& i4 Q4 K 51         OUTPUT("[%s|%s@%s,%d] " format "\n", "ERROR", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
5 d( G2 F" d+ h" c- O 52     } while (0)% ]3 n& B( r0 H* `& [+ q2 W$ U
53
6 l6 H( E) \! `" @% q2 K7 H 54 #define LOG_DEBUG(format, ...)     \4 U) z& Y4 s- f) F; p
55     do {                           \
% x' i( u' _" d* j: o 56         OUTPUT("[%s|%s@%s,%d] " format "\n", "DEBUG", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
/ k5 R$ E- T2 E& B5 S6 O: m. b% N 57     } while (0)
  C; g0 J9 N2 F  g 58
8 a$ d5 r, O0 D2 l7 u. J6 L 59 #define LOG_WARN(format, ...)      \
: w% g- b, E9 S% }3 T. ? 60     do {                           \
; V7 @: o$ g  f+ t" U( d 61         OUTPUT("[%s|%s@%s,%d] " format "\n", "WRAN ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \- L: c. j0 E" a+ Q7 v  U+ D* U& v
62     } while (0)
7 k% n& G% ?2 Q5 @7 D: E 63
' A" G. K; [3 S9 m 64 #define LOG_TRACE(format, ...)     \
; L7 |+ P. k- i) g" a* | 65     do {                           \
1 W; N, T1 h7 A) o/ a  J+ m 66         OUTPUT("[%s|%s@%s,%d] " format "\n", "TRACE", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
" C% {2 v$ S" |) Z2 ~2 q 67     } while (0). \0 A) c0 v/ a1 Y1 F3 _
68 % @5 Z. h+ s8 q9 g
69 #define LOG_FATAL(format, ...)     \
3 L( n* g9 A8 R# C9 V9 X5 h. v 70     do {                           \
) s- o* X. T( w" K# F$ V, O; R 71         OUTPUT("[%s|%s@%s,%d] " format "\n", "FATAL", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
) Z' |& Y( \$ Y& z7 m2 l  d* B 72         exit(1);                   \
: i3 ~/ r+ h7 ?+ P/ [. a8 j, B, t4 E 73     } while (0). }$ E8 J- N3 ^" Y# D7 c1 `) T
74 4 @& k5 J5 I0 D+ Z4 ?2 T
75 /* Assert */
. O( [! a* H2 |* G7 r, x 76 #define ASSERT(EXP)                \
4 c' ~9 c  n/ S  {4 J! s( h' u# C 77     do{                            \# G3 f0 ~) X: |8 o1 X) I. `
78         if (!(EXP)) {              \
- J: p. `9 h- g2 G8 `! f: ?  ] 79             OUTPUT("[%s@%s,%d] ASSERT: " #EXP "\n", __func__, __FILE__, __LINE__ );                  \
0 b' H- Q% c: d7 O 80             exit(1);               \
. d% d* Y' ]) D9 I 81         }                          \+ j; E- `1 o8 E6 p+ e4 G
82     } while(0)
( F# g! H5 Z. Q5 ^* I* { 83
. ?+ u" f6 I1 y! h0 r 84 #endif
9 j: \8 X; J% S7 l5 u- E! j( X1 h
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
板凳
发表于 2014-12-4 14:03:10 | 只看该作者
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏2 ?6 v! r: {! E$ T( x7 }8 b
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
地板
 楼主| 发表于 2014-12-4 15:21:54 | 只看该作者
tenny 发表于 2014-12-4 14:03
* F# d- n6 E& N8 {$ Y修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏
$ \$ q, u6 M# L# v8 N# T$ K' o
你好,是arm这一端的app4 p8 ~% F1 V) y4 M% R
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
5#
 楼主| 发表于 2014-12-4 15:40:21 | 只看该作者
tenny 发表于 2014-12-4 14:03
: r1 w1 K* A, i. s$ `1 }5 b. J/ x" d修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏

6 i9 K  R( O: u. `) h  T8 q你好,你是不是将host/app下的log.h和dsp/driver下的log.h和到一块啦,怎么说下你的思路# n0 L9 \! f8 v  k# @
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
6#
发表于 2014-12-4 15:59:03 | 只看该作者
arm 端的 log 并没有用到 uart1
) R' U( q$ A$ ^8 w0 bdsp 端的 log 才使用了 uart12 @# o+ J% H4 ~# m1 x/ }
所以,你需要也只需要修改的是 dsp 子工程的 log.h(新版本的代码 是在 dsp/app/log.h,旧的是在 dsp/driver/log.h)
8 ]  ]+ e% V$ @; C& G# k2 n0 p. n
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
7#
 楼主| 发表于 2014-12-4 17:19:24 | 只看该作者
tenny 发表于 2014-12-4 15:593 A/ F0 s3 N/ {6 s, m& C  \
arm 端的 log 并没有用到 uart1
8 e: s: W. j0 k3 f. Q8 kdsp 端的 log 才使用了 uart10 M# g  M1 b' ~+ Y" {$ L! d" D+ Q- Q9 @
所以,你需要也只需要修改的是 dsp 子工程的  ...

8 u6 ~& B. V" M4 Q* E$ Z那我是不是将你贴出的那段代码,替换DSP/driver下的log.h就可以是吧,$ l: _+ g2 I# E
然后将#define OUTPUT_TO_UART1 1 换成/ y) K9 k2 c4 }
#define OUTPUT_TO_UART1 0
' ~; m1 d/ V0 S: S; `  是不是这样0 q& N) i" J1 b
& A1 e8 `  l& N9 U/ [0 u+ k
+ D, k) ?/ t" K! m- V4 v0 w, I

) m: L, G$ b0 P9 c, S3 n
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

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

! X' S4 D7 G$ |, i+ Z
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-12-8 20:37 , Processed in 0.042114 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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