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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
跳转到指定楼层
楼主
发表于 2014-12-4 11:08:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
你好我现在用的你们的omapl138开发板,跑的双核通信的程序,我现在需要通过串口一向外部发信息,但是串口一被DSP占用了,我怎样才能解除DSP占用呢8 a8 X. G; G$ J( `8 l" P
" {8 O7 y! g- e: w
9 }/ v3 E* Z0 n  K- a/ d2 _
谢谢
. F; x* W$ N6 O" g0 |
2 W" F( Z: _* ]9 @. H6 F0 X: [& n+ X& Z' r% L- Q
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
沙发
发表于 2014-12-4 14:01:26 | 只看该作者
  1 #ifndef _LOG_H_
/ k( u5 N7 G$ R8 Y7 S  2 #define _LOG_H_
8 t' T; l, _% z! r: x  3
2 s$ W9 }  j8 Q' I# X% _  4 /* 0: printf; 1: UART1 */0 r$ ?6 M+ s- j# e+ W: Y) Z# M
  5 #define OUTPUT_TO_UART1 1
; B# o7 A' r( V2 A
  6
$ R# ~) q6 s3 P& O2 B" o  7 /* Switch Log Output */
; H0 P% h) K0 m! o8 d0 e1 {  8 #if OUTPUT_TO_UART13 C8 S3 i+ s* w1 C
  9     /* For UART1 Initial */
9 |9 m2 C3 V) n. D( U! f  K* u 10     #include <stdlib.h>( K* J9 k+ G3 ]$ _5 [
11     #include "hw_types.h"  
$ p8 f1 a; V, U5 Q9 W( T; m; @7 R3 g2 l* O 12     #include "hw_syscfg0_C6748.h"
- E/ x7 y% C$ M  O 13     #include "soc_C6748.h"
6 P2 p( \: S. X5 H* E+ l 14     #include "psc.h"               
* u1 k$ l9 @7 U; x6 H 15     #include "gpio.h"               8 b3 ?# M5 V+ @' x( L6 x4 S
16     #include "uart.h"
+ _8 L/ b  n# h0 @; W. \2 w 17     #include "uartStdio.h"4 h0 A" c1 f9 `1 r% {
18
- V; o# V! i1 c8 p3 v3 `* C6 ` 19     #define OUTPUT UARTprintf0 N4 N8 X+ W. t4 `5 y# s9 s- E
20 #else
% }8 [1 V8 f! a: ]% ~! Q- ?/ q 21     #include <stdio.h>1 V5 G3 L# ]$ F0 j9 V3 S
22     #include <stdbool.h>
1 I. m: n) e, ]) J 23
+ R' x: c# V* | 24     #define OUTPUT printf
$ m4 Z/ @. i3 k6 |- o( K# c6 V 25 #endif' t" N. g4 z3 C4 t% y
26 9 M/ y' x! ~8 v% ^; _7 }
27 /* Log init */- @0 Z/ r: d: |7 a- D7 W
28 #if OUTPUT_TO_UART1
3 q0 c; k# l% D8 I! m 29     #define LOG_INIT() do {                                     \
7 G9 p% j& M7 D  k/ D 30         PSCModuleControl(SOC_PSC_1_REGS, HW_PSC_GPIO,           \  H% f2 R3 z, R8 `% j3 h' z
31                          PSC_POWERDOMAIN_ALWAYS_ON,             \
+ u1 U5 d* I; w& S; b 32                          PSC_MDCTL_NEXT_ENABLE);                \
$ ~5 D& P$ s* t# x 33         GPIOBank6Pin12PinMuxSetup();                            \6 {" A* x5 E/ _; v
34         GPIOBank6Pin13PinMuxSetup();                            \
/ E! x; Z5 T$ H" A% n! Z- k 35         GPIODirModeSet(SOC_GPIO_0_REGS, 109, GPIO_DIR_OUTPUT);  \! f. j' l5 h1 [" c6 V$ R: F# g
36         GPIODirModeSet(SOC_GPIO_0_REGS, 110, GPIO_DIR_OUTPUT);  \
5 ~: l5 d  g5 ^6 g8 L2 G9 C 37         UARTStdioInit();                                        \  {0 B6 V3 l0 J) ]# X
38     } while (0)
& F+ A/ F1 M$ w  S* ~7 o4 D# T 39 #else' O$ r. @& {/ k8 S4 }3 V
40     #define LOG_INIT() do { } while (0)- G9 R0 U0 f, ~
41 #endif
* O  v7 U1 F3 C. O 42 9 d. B. ^3 |) Y0 P6 T' R+ K! J
43 /* Log Output */5 w0 B. i7 b: A  p6 y2 [" r
44 #define LOG_INFO(format, ...)      \- {- K* w9 M' E
45     do {                           \
+ E0 v& `3 W1 D, W$ u' r" x" s6 ` 46         OUTPUT("[%s|%s@%s,%d] " format "\n", "INFO ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \1 }" {/ [# P" Z5 Y, `+ t
47     } while (0)
, U& Q, l3 n: j( Z+ n+ ~ 48 1 L7 o: h4 C" \* d; ?- I
49 #define LOG_ERROR(format, ...)     \5 e- P$ ^# J; C" o
50     do {                           \1 d6 p  ?, F. r
51         OUTPUT("[%s|%s@%s,%d] " format "\n", "ERROR", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
2 N- y5 I: B- j% s- [ 52     } while (0)
: B! f  n5 G3 p; Z0 ]1 J 53 1 e: x% m, x( M" @1 s# K) W9 v; E
54 #define LOG_DEBUG(format, ...)     \
& V" {9 R: Q7 b2 y4 y  c6 Z" c 55     do {                           \, N9 p& U* U$ \" |7 n) n& j
56         OUTPUT("[%s|%s@%s,%d] " format "\n", "DEBUG", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
4 Q& h! }9 ~9 ?, t& y- N 57     } while (0)
6 w. l" s7 y, P( u9 V, A 58
! P, N# @3 }! Q0 \' o 59 #define LOG_WARN(format, ...)      \
! H- i- g! f- m( n. g$ \ 60     do {                           \
: ?  W4 N9 N! y  K) f 61         OUTPUT("[%s|%s@%s,%d] " format "\n", "WRAN ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \9 j) h; X- `( v5 Z' m/ c- U
62     } while (0)
! j: C" D4 J0 ]3 V. ? 63
" `: d9 v1 Y' g- S0 m. _/ s 64 #define LOG_TRACE(format, ...)     \( T* n2 b& O: G0 ~0 Q0 v4 i
65     do {                           \- M: J8 \% y7 c" t0 f; N3 }( J
66         OUTPUT("[%s|%s@%s,%d] " format "\n", "TRACE", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \) Q  p3 ^& ~. Q0 N  `/ _
67     } while (0)
! h7 S7 |- o1 ]8 ]* C 68
+ u. M8 K4 Q7 x% }; t& q 69 #define LOG_FATAL(format, ...)     \
' h, ]7 K; x! m, S, @1 Y4 T 70     do {                           \
0 u3 ?6 E9 W+ c0 e( W! d0 n 71         OUTPUT("[%s|%s@%s,%d] " format "\n", "FATAL", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \* t2 }7 q1 @: Y! X
72         exit(1);                   \
+ H7 R- k, V" F7 x6 G 73     } while (0)4 R( ^% {$ w& q5 O" [7 t; p
74 3 W) V# x: [% F
75 /* Assert */
* F  m, X* [0 R. I$ b# ^8 s 76 #define ASSERT(EXP)                \
# s" ?: t# b# n$ y 77     do{                            \
8 L+ |/ u: `7 V& `* ], N2 j 78         if (!(EXP)) {              \) Y+ o3 K6 z0 V4 l
79             OUTPUT("[%s@%s,%d] ASSERT: " #EXP "\n", __func__, __FILE__, __LINE__ );                  \
( g8 z  S, [. C; M3 d7 t& d 80             exit(1);               \
* [) [3 A1 [0 @! s5 ?0 H: S- t9 k 81         }                          \
, n1 K; z% J% m: c 82     } while(0)
0 l; J- o0 z, ^0 n8 h 83
2 ?7 v3 G% g6 G. B% [ 84 #endif) L7 f; G  _4 D' Y9 p+ v& x
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
板凳
发表于 2014-12-4 14:03:10 | 只看该作者
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏) {' @! b5 |8 T. S0 B( Y
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
地板
 楼主| 发表于 2014-12-4 15:21:54 | 只看该作者
tenny 发表于 2014-12-4 14:03
( e6 A$ [" g" U9 Q: u$ u1 s( a修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏
1 I' Y# Q* |% A- z
你好,是arm这一端的app
: h0 |; l$ [; H9 m
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
5#
 楼主| 发表于 2014-12-4 15:40:21 | 只看该作者
tenny 发表于 2014-12-4 14:03
% J8 m7 K$ S. h1 E# H7 D修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏
4 U5 u  ?( U: }2 Y! g5 l
你好,你是不是将host/app下的log.h和dsp/driver下的log.h和到一块啦,怎么说下你的思路  C/ s1 z4 x0 c5 N
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
6#
发表于 2014-12-4 15:59:03 | 只看该作者
arm 端的 log 并没有用到 uart1% [. N8 ~- |$ S  p
dsp 端的 log 才使用了 uart1
* g3 ?; b) P- |1 l9 F$ G! H0 T所以,你需要也只需要修改的是 dsp 子工程的 log.h(新版本的代码 是在 dsp/app/log.h,旧的是在 dsp/driver/log.h)) t+ T7 U+ z$ \1 ?5 X' l( _
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
7#
 楼主| 发表于 2014-12-4 17:19:24 | 只看该作者
tenny 发表于 2014-12-4 15:598 D6 V: C( _1 U1 R' \  C! S) w1 ~' ^
arm 端的 log 并没有用到 uart1
% k9 P3 j2 v8 c& k+ S/ y. D1 qdsp 端的 log 才使用了 uart1
0 U3 L) x2 ?" D8 v所以,你需要也只需要修改的是 dsp 子工程的  ...
0 \  V! R$ f: T3 p, z& Q! H+ p
那我是不是将你贴出的那段代码,替换DSP/driver下的log.h就可以是吧,
+ ^# z0 E/ s- F, _然后将#define OUTPUT_TO_UART1 1 换成% S1 r! i2 S" k5 r  c
#define OUTPUT_TO_UART1 0
  C2 f! o; X2 Z$ e# }# m/ D- R$ L  是不是这样1 W2 L$ @: C& D  r6 y2 ~+ x

, Z. l' P5 Z& D
) F4 {' ?  J% Q. T& F
; o5 F3 Z$ j, l( ]1 _
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

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

$ l0 X# w( ~% o; w! C4 S' V# S
回复

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2026-3-5 21:41 , Processed in 0.049943 second(s), 26 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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