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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
跳转到指定楼层
楼主
发表于 2014-12-4 11:08:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
你好我现在用的你们的omapl138开发板,跑的双核通信的程序,我现在需要通过串口一向外部发信息,但是串口一被DSP占用了,我怎样才能解除DSP占用呢  H/ m1 E9 L4 @: f

" s) h. U9 y: W/ U! s6 [0 q
+ o# F& v. N; p谢谢( H, s( ?- |- c" M8 [6 g

  E6 T% s) i% e2 g+ y% U. t) \4 N: N( }. X5 F+ h1 U( t6 Z
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
沙发
发表于 2014-12-4 14:01:26 | 只看该作者
  1 #ifndef _LOG_H_  u1 c/ A2 {6 `
  2 #define _LOG_H_' ?6 @7 w0 u9 Y+ N! x- N
  3
. K1 U* T& }% M5 {5 [% ^  4 /* 0: printf; 1: UART1 */4 C% D. g5 a& _: p
  5 #define OUTPUT_TO_UART1 1
7 T4 N5 G7 O( ^, F8 w$ ^/ P& G/ F0 F
  6 ( B  H$ j+ _9 c- b4 ^2 }# Y4 @
  7 /* Switch Log Output */
& C1 C$ `% g' L% v6 u& v5 M  8 #if OUTPUT_TO_UART1
$ o* o/ C0 X$ I7 Y3 x; V* G: }  9     /* For UART1 Initial */& ~- s& @0 f5 C% x" E" G# Y$ f
10     #include <stdlib.h>
" ]$ L  U/ V# }+ P 11     #include "hw_types.h"  
! ^- a5 ?0 u7 ~9 @! `# r' u 12     #include "hw_syscfg0_C6748.h"( y' V+ Y/ _' N4 l0 U: G4 Z, C
13     #include "soc_C6748.h"
3 s4 z, S2 S# z: w4 y4 @4 L 14     #include "psc.h"               % o' {; [* q; K( Z1 t1 q1 w
15     #include "gpio.h"               5 c  N# `. w& |+ ?, [/ Q
16     #include "uart.h"
, I& D, h+ P8 ^4 j3 e  r% Y6 i 17     #include "uartStdio.h"
0 D1 P3 Y5 X; l 18
, C* r( K/ P+ e7 O# t: M" a 19     #define OUTPUT UARTprintf, d- t- j6 \1 \: i4 a0 }
20 #else
3 |7 L1 i5 T; Z- u! ~+ p3 J  \ 21     #include <stdio.h>' i$ Y9 X% g' N( R
22     #include <stdbool.h>
) i0 d5 S8 V4 }8 G, L) M 23 / u2 Z$ f6 @2 a6 u
24     #define OUTPUT printf
/ Q* V4 Z3 B/ R  k 25 #endif
; g; v* t8 d9 q2 u" y 26 5 L2 t; k+ l  d/ ^
27 /* Log init */* C$ M; B* p% P* y( }; M( m
28 #if OUTPUT_TO_UART1
! f; r% ], Z1 z( s4 R. U& r 29     #define LOG_INIT() do {                                     \
: }) p. W2 H) X" j 30         PSCModuleControl(SOC_PSC_1_REGS, HW_PSC_GPIO,           \
, h+ C, E( y$ \. n# p0 ~2 y. x 31                          PSC_POWERDOMAIN_ALWAYS_ON,             \$ x; y9 `5 U' b& v3 p9 \$ {9 b
32                          PSC_MDCTL_NEXT_ENABLE);                \
- T( O; A: G2 N' O. n5 U 33         GPIOBank6Pin12PinMuxSetup();                            \
: x( h) D/ [2 L' ] 34         GPIOBank6Pin13PinMuxSetup();                            \! t4 e3 w/ ^) {, v: M. `5 p9 p
35         GPIODirModeSet(SOC_GPIO_0_REGS, 109, GPIO_DIR_OUTPUT);  \" i6 ^$ \. ?% U- h9 d' T; T
36         GPIODirModeSet(SOC_GPIO_0_REGS, 110, GPIO_DIR_OUTPUT);  \
  ]4 l& B( S! c7 \$ u7 d 37         UARTStdioInit();                                        \
, i( ~' X6 i: e8 { 38     } while (0)
. C# F6 t/ i- s4 {$ Z! Q 39 #else
) m$ F6 q+ W8 f" j: q+ l% L 40     #define LOG_INIT() do { } while (0)1 w9 ~  c/ }4 X0 N6 [0 a
41 #endif
' o; [3 U, W1 k, q" x7 U; T" y9 g  ?; ~ 42
& r8 l% J! E$ V, s 43 /* Log Output */
4 w" y# T' Q# B- l 44 #define LOG_INFO(format, ...)      \
9 p( n+ X' @9 ~% g; W  M& h 45     do {                           \' |& e5 P) k) m% D7 Y2 S2 f. v
46         OUTPUT("[%s|%s@%s,%d] " format "\n", "INFO ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
4 S/ K  v/ w- L) `" M 47     } while (0)
6 k( Z% ]9 X% }. g; Y: w 48 * h: M2 A- Y/ d( m. q$ R/ o' L5 m/ P% S
49 #define LOG_ERROR(format, ...)     \# n( K  I9 v1 F" \4 d9 g
50     do {                           \
  t1 o) D* n9 L# ]" P, ]7 h' F3 { 51         OUTPUT("[%s|%s@%s,%d] " format "\n", "ERROR", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
+ f6 W. N, _& a# X! D" { 52     } while (0)
2 L; t: d) \, k( w: R0 B5 X 53
  Z! d+ O3 X# L) { 54 #define LOG_DEBUG(format, ...)     \( l5 U' [. \9 O  G9 o% U
55     do {                           \5 i* w% H7 [1 o% I* A9 Z1 Q( k
56         OUTPUT("[%s|%s@%s,%d] " format "\n", "DEBUG", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
# u+ `' W2 u3 K3 u* h) i4 f 57     } while (0)1 q( J2 N  h; O
58 8 d4 p3 @5 k. d& p
59 #define LOG_WARN(format, ...)      \
2 k; K' _9 V. F# v 60     do {                           \
2 w! s1 P1 U( Z# n 61         OUTPUT("[%s|%s@%s,%d] " format "\n", "WRAN ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \  p, G; v; M5 |2 J& M) \- u
62     } while (0)$ @3 O% O. ^( Y& N
63
2 t- [, _5 h0 K" [4 G 64 #define LOG_TRACE(format, ...)     \
/ W) I! {' b# V8 N; R% X0 H* U 65     do {                           \
. I% R  |8 l; ^6 Z+ O& V: k' q- R0 k 66         OUTPUT("[%s|%s@%s,%d] " format "\n", "TRACE", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
2 _$ v8 `) i# y( v4 Q# Z 67     } while (0)
" Y' G; O+ [2 ]$ u; \1 U 68 2 y8 G8 j! Q, {+ J+ Q3 U
69 #define LOG_FATAL(format, ...)     \
. @& }$ T' ~( m0 D! a2 I) h 70     do {                           \% R6 M/ r1 Y/ q3 Q7 x- t3 |2 D
71         OUTPUT("[%s|%s@%s,%d] " format "\n", "FATAL", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \* D( U) e7 j% I
72         exit(1);                   \
) K3 l( X$ D8 v4 j7 o0 u 73     } while (0)
% {. w& t) p: J* {# W9 d 74 , D+ s) f. m1 i' y6 ?# t  |+ H
75 /* Assert */
, B6 M. P$ E' v1 e- t) H$ a 76 #define ASSERT(EXP)                \- R4 r  J5 u3 z8 A* q% G' K8 N
77     do{                            \
+ m1 u/ i6 |6 \* T$ z 78         if (!(EXP)) {              \
% F8 A, i) _. l1 z$ ~9 C9 c: \ 79             OUTPUT("[%s@%s,%d] ASSERT: " #EXP "\n", __func__, __FILE__, __LINE__ );                  \" I" [) t& l' f4 |) y/ J6 q
80             exit(1);               \
& k/ {; s5 Y8 Y8 a 81         }                          \
" n& ?  \8 B/ p5 w4 N 82     } while(0)4 K- V! ?! q6 d3 e5 R
83
0 S8 |0 f+ ?) c+ k9 `, A( l. q 84 #endif
) c* \2 x( A/ f2 K  X3 Q* m0 w5 S
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
板凳
发表于 2014-12-4 14:03:10 | 只看该作者
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏9 @) j& y7 B0 w/ K' A
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
地板
 楼主| 发表于 2014-12-4 15:21:54 | 只看该作者
tenny 发表于 2014-12-4 14:03
- F4 l/ @: C( S1 o7 W修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏
+ @; O. f: e+ w
你好,是arm这一端的app
- h" h) Z. S, b8 e& D0 V. m
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
5#
 楼主| 发表于 2014-12-4 15:40:21 | 只看该作者
tenny 发表于 2014-12-4 14:03. r. t+ `1 w3 A" V! o  _: [7 o; z% r
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏
5 Y- ?/ b7 |$ a
你好,你是不是将host/app下的log.h和dsp/driver下的log.h和到一块啦,怎么说下你的思路
. V- Z! N9 J  b# U/ M0 @4 C
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
6#
发表于 2014-12-4 15:59:03 | 只看该作者
arm 端的 log 并没有用到 uart1+ a  P% o+ B, S/ \2 m' ~# Y5 b/ o% ^* n
dsp 端的 log 才使用了 uart16 g8 z& C  O: p
所以,你需要也只需要修改的是 dsp 子工程的 log.h(新版本的代码 是在 dsp/app/log.h,旧的是在 dsp/driver/log.h)( }- ]. e& D% }
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
7#
 楼主| 发表于 2014-12-4 17:19:24 | 只看该作者
tenny 发表于 2014-12-4 15:59' m; _5 G% T( y) E$ j  |7 N
arm 端的 log 并没有用到 uart1
; f. ?% t7 S3 |( x, Ldsp 端的 log 才使用了 uart1( B0 K+ `! }" P/ x& H$ x
所以,你需要也只需要修改的是 dsp 子工程的  ...

3 b; o0 W8 a% K/ o. i1 Z5 i- z那我是不是将你贴出的那段代码,替换DSP/driver下的log.h就可以是吧,
9 X! N$ j$ I! U+ ]' X* V( j8 Z然后将#define OUTPUT_TO_UART1 1 换成' b5 S: o; ]% e& ^8 p- Y
#define OUTPUT_TO_UART1 0% M$ ~) r# Y; h# Z  ]
  是不是这样
; n* l+ x& K+ c, k0 G; l' J1 a, D! h0 x3 l0 z' Q

: b( Q) \) Z: ^8 h
/ q( S  R- n) b" s. m5 [; F
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

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

( T$ U1 _- `1 u/ M& b
回复

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2026-3-15 08:03 , Processed in 0.046861 second(s), 25 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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