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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
跳转到指定楼层
楼主
发表于 2014-12-4 11:08:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
你好我现在用的你们的omapl138开发板,跑的双核通信的程序,我现在需要通过串口一向外部发信息,但是串口一被DSP占用了,我怎样才能解除DSP占用呢
+ s# P& J, X/ K9 _3 R
# m! ^/ C2 j, Q$ J" e0 O% U2 \# }
谢谢
* E2 x3 Y/ Y3 ?* V
9 V1 Y  B; |$ Q' c  N! h; O! k, v% ?6 ^3 Q! \. ], Y' |" k  k4 ]
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
沙发
发表于 2014-12-4 14:01:26 | 只看该作者
  1 #ifndef _LOG_H_& n* u. c- O, W: Y# s' E, b( O
  2 #define _LOG_H_; ]; X8 c( G  i; B
  3
$ g% G$ t" \- n9 O  4 /* 0: printf; 1: UART1 */6 b2 h* [  e" G( E8 v+ X# a( V& x, `
  5 #define OUTPUT_TO_UART1 19 e; }& [) x. F) q! F; Y0 n: i
  6
, a0 c2 Y: A; L  f- i, D  7 /* Switch Log Output */: {+ I6 W! i8 b. |* O
  8 #if OUTPUT_TO_UART1
, w, R" B& k! ?5 C  9     /* For UART1 Initial *// Q; G6 r! X  r
10     #include <stdlib.h>
: L! v1 W* o: Y 11     #include "hw_types.h"  
0 O$ P1 N5 x2 `+ t9 j& Z8 `; T 12     #include "hw_syscfg0_C6748.h"
/ P! O* _. ?- _4 ? 13     #include "soc_C6748.h"( c  e! M& i- C5 }6 L
14     #include "psc.h"               
8 J+ X3 L/ o" C# ]" b 15     #include "gpio.h"               
6 h1 z( J0 _! U9 Q 16     #include "uart.h"
: d. m9 a9 P6 Y5 l$ \# y& h) s3 t 17     #include "uartStdio.h"
. E/ Z* f5 J% r8 h 18 # p; `4 S* C9 [+ E3 ~
19     #define OUTPUT UARTprintf( ?& t/ M3 s) A
20 #else
' G( d. W# d5 t6 @. U8 z$ \( e 21     #include <stdio.h>" v5 N- Y8 E7 T! [- |4 x
22     #include <stdbool.h>& a- }  `( V+ N; f
23
3 x7 p" F- Q3 X! t" P 24     #define OUTPUT printf) }1 `4 x% Y2 r4 y! q3 R) q
25 #endif5 t1 R& N  a- l6 S( V: s& P
26 ' h; \6 e5 |( z4 y$ m% T
27 /* Log init */
# Q, t- y8 k! E0 @9 b6 L: Q 28 #if OUTPUT_TO_UART1! B$ F* y/ S' K; w
29     #define LOG_INIT() do {                                     \
9 v% L2 @) x( }# B7 K 30         PSCModuleControl(SOC_PSC_1_REGS, HW_PSC_GPIO,           \, C4 `. a3 k0 D  C
31                          PSC_POWERDOMAIN_ALWAYS_ON,             \0 W- W) O# G/ E% i4 @9 f5 ^
32                          PSC_MDCTL_NEXT_ENABLE);                \& Y7 ~( A; B, V" R' I  k
33         GPIOBank6Pin12PinMuxSetup();                            \
: I  l! ~+ o; g) I1 O3 V 34         GPIOBank6Pin13PinMuxSetup();                            \5 K% W5 }9 e9 o6 s) H# ]6 b6 S
35         GPIODirModeSet(SOC_GPIO_0_REGS, 109, GPIO_DIR_OUTPUT);  \
5 F) ^9 [" A3 k* f; X 36         GPIODirModeSet(SOC_GPIO_0_REGS, 110, GPIO_DIR_OUTPUT);  \
; w+ }5 ~/ z7 L' C 37         UARTStdioInit();                                        \
+ n& _0 I- n" R0 ^& i! p 38     } while (0)
1 t' W: {1 T1 [ 39 #else
# f: U' o1 l2 P2 V. a# ? 40     #define LOG_INIT() do { } while (0)# H/ q1 l, z' E( }* S0 t
41 #endif' ^) c% A, i. |9 v$ g" R* P- k
42 ( s0 j! R0 m2 _* C1 Y& X
43 /* Log Output */& Z% J" L: z0 ?4 q' b8 a; S3 k. c- v
44 #define LOG_INFO(format, ...)      \
' T# M0 ]/ q, N9 @7 V  T 45     do {                           \
  M5 g4 L/ R7 K8 e$ P* L 46         OUTPUT("[%s|%s@%s,%d] " format "\n", "INFO ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \) [7 ~3 R  z3 P2 [
47     } while (0)
% L; ^/ D1 D. S+ A* {3 X- \ 48 ; a8 ]8 k2 Z, N& s0 [/ L0 c9 m
49 #define LOG_ERROR(format, ...)     \
, j4 \& i/ u6 G4 y 50     do {                           \1 b3 q1 R2 S5 J6 f5 u7 W+ j$ M) J
51         OUTPUT("[%s|%s@%s,%d] " format "\n", "ERROR", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \% H# t( c, ?+ l. l6 E9 K: @4 A
52     } while (0)
$ D5 F5 f7 p" c* b' h, w 53
# j, B. G- P/ W+ K 54 #define LOG_DEBUG(format, ...)     \
' h( V! i  A5 }  q- m9 N 55     do {                           \9 U1 F3 Q0 c; H" M5 o1 E) L- W. W
56         OUTPUT("[%s|%s@%s,%d] " format "\n", "DEBUG", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \2 c0 N) {6 o" g
57     } while (0)
  i5 Y8 g# F6 A 58 8 d3 G8 A' T  f9 |  M# f( z! G
59 #define LOG_WARN(format, ...)      \5 ^5 w4 \1 ^% a1 {# M" |4 W
60     do {                           \0 S7 z6 f3 c: k! s
61         OUTPUT("[%s|%s@%s,%d] " format "\n", "WRAN ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
# X( R3 x0 A, R  Z8 F& W 62     } while (0)
9 I8 Q+ _+ N/ ` 63
- i$ r4 I5 `3 m- P: ]- ?# M- e 64 #define LOG_TRACE(format, ...)     \
4 k$ e& N+ D$ ~& m' C 65     do {                           \
8 U5 f( m# ~8 r* P4 Y- L 66         OUTPUT("[%s|%s@%s,%d] " format "\n", "TRACE", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \# x" r* \& F2 h2 e- a
67     } while (0)2 e1 K  G- L3 z( F# ~
68
" l. v4 D1 u& R" s; w" U 69 #define LOG_FATAL(format, ...)     \! T. U3 ?, T0 _8 n' U$ e! S6 o
70     do {                           \$ q3 F, }$ R" m  F
71         OUTPUT("[%s|%s@%s,%d] " format "\n", "FATAL", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
; N$ b( B2 m* p; q4 {" ~ 72         exit(1);                   \
( [3 V9 [2 }) s) n7 Y 73     } while (0)
2 [8 Z- ^3 U, o; a& L% Q' f 74
" i' ?# N: B6 c- T! z& a+ W% A 75 /* Assert */0 Z6 s# B% T/ v
76 #define ASSERT(EXP)                \- i0 Z) o0 b! r) Z
77     do{                            \: q5 N( R5 v) q& M
78         if (!(EXP)) {              \( Z3 `& v% Y2 k/ M) u2 x  z
79             OUTPUT("[%s@%s,%d] ASSERT: " #EXP "\n", __func__, __FILE__, __LINE__ );                  \4 J+ g- h7 k. J- g* E
80             exit(1);               \. u# K0 V) x8 x" V
81         }                          \
- H  v  L9 U& t- J0 R# ` 82     } while(0)0 H6 k3 O/ m; D- W+ S3 N7 B
83 & b8 Y: v. J5 b- S
84 #endif5 [$ w: I" w* C
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
板凳
发表于 2014-12-4 14:03:10 | 只看该作者
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏! f5 y) P$ H  ?7 F
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
地板
 楼主| 发表于 2014-12-4 15:21:54 | 只看该作者
tenny 发表于 2014-12-4 14:030 s- a6 c7 w5 l  t0 i
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏
( `7 S8 d7 Z! D* h7 V7 w- D0 @
你好,是arm这一端的app
" D$ U- f5 ?( n6 j& W
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
5#
 楼主| 发表于 2014-12-4 15:40:21 | 只看该作者
tenny 发表于 2014-12-4 14:03
7 x0 x  g6 j9 Z修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏
- m) C3 U$ L( K, l6 ~7 D4 ~+ C
你好,你是不是将host/app下的log.h和dsp/driver下的log.h和到一块啦,怎么说下你的思路; X( S: O3 s! i! T' C
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
6#
发表于 2014-12-4 15:59:03 | 只看该作者
arm 端的 log 并没有用到 uart1
; @6 u9 A' w3 }0 w  g1 gdsp 端的 log 才使用了 uart1
" o6 h( b7 _; W8 a9 ^' W所以,你需要也只需要修改的是 dsp 子工程的 log.h(新版本的代码 是在 dsp/app/log.h,旧的是在 dsp/driver/log.h)! ~- Q- a# G: g* `0 K. [
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
7#
 楼主| 发表于 2014-12-4 17:19:24 | 只看该作者
tenny 发表于 2014-12-4 15:59) d. Y/ v/ H* `0 ~7 i
arm 端的 log 并没有用到 uart1+ f+ _: k4 E+ k* i, [
dsp 端的 log 才使用了 uart1; w, A8 `" Y& E( p4 u
所以,你需要也只需要修改的是 dsp 子工程的  ...

! }# k9 y( Y( p) z那我是不是将你贴出的那段代码,替换DSP/driver下的log.h就可以是吧,6 @5 b0 T: S, @5 o! R9 Z& O& u7 ~
然后将#define OUTPUT_TO_UART1 1 换成  o2 m$ \- D2 M# ]
#define OUTPUT_TO_UART1 0: @- w% d0 D8 Q. s# K3 s/ _8 w! Y
  是不是这样) J# @! f, L+ M5 t; u! J& e7 E0 p
" a0 b1 S) a/ L$ m: j) H6 T
' \! _4 W, c' C  r
& j: }* n4 C. b7 c1 T- k
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

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

9 L& T  \0 f8 T: P6 n& I, C
回复

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2026-1-30 23:38 , Processed in 0.048205 second(s), 26 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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