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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
跳转到指定楼层
楼主
发表于 2014-12-4 11:08:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
你好我现在用的你们的omapl138开发板,跑的双核通信的程序,我现在需要通过串口一向外部发信息,但是串口一被DSP占用了,我怎样才能解除DSP占用呢8 l0 U: g6 ^% R$ g' }
2 K* I3 A, G1 \
6 J/ ~" ]: ^3 |! h
谢谢6 g( U* s8 G5 X" w1 i

& P1 N  A7 J% q, c! d, D7 s& @9 e3 |' y. I6 t
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
沙发
发表于 2014-12-4 14:01:26 | 只看该作者
  1 #ifndef _LOG_H_
) c; h7 ~) a; H% \- y  2 #define _LOG_H_
: C+ i" z: A7 c7 p) m; d  3
, U& f# h/ J' [5 Z; B& X% b' v0 q  4 /* 0: printf; 1: UART1 */
8 y; F* f% F7 C' N4 z  b7 h  5 #define OUTPUT_TO_UART1 1
# p  X5 j2 K* T* b
  6
4 z1 D& |. J! P: u5 [  7 /* Switch Log Output */: O6 {7 {4 Y% _; e; m4 X: H" g) a
  8 #if OUTPUT_TO_UART1- Y3 N' Q7 ^/ ^8 A4 C5 v
  9     /* For UART1 Initial */* Y9 S3 t* F6 U: E
10     #include <stdlib.h>
  G* g, a, M# k6 N5 w5 z 11     #include "hw_types.h"  
& d8 X6 d$ P  O/ j: i( E 12     #include "hw_syscfg0_C6748.h"1 U% F; n3 |7 ?) p- M* l2 t+ Y
13     #include "soc_C6748.h"4 c! q7 M  r1 K
14     #include "psc.h"               / b+ f7 ~( d; _, \- [
15     #include "gpio.h"               
9 V. F& N8 a, f8 \  r8 ] 16     #include "uart.h"8 U  m! S3 Z1 C7 n3 k
17     #include "uartStdio.h"
  D0 r* V, Q, g5 Z' r* S. M$ } 18 - n% f- R+ ^$ Z, F8 S
19     #define OUTPUT UARTprintf
! a9 [: Q) G" L4 @& Y  l 20 #else
, o+ B1 \( l9 q% R 21     #include <stdio.h>6 P! ], c7 N* ]$ y
22     #include <stdbool.h>
9 A' F0 F# _2 j; S: X' R( Y0 M0 ~ 23
& |1 l( B  Y$ i$ a 24     #define OUTPUT printf1 [( s6 _' I' B( H% L6 W1 f
25 #endif
5 Y* \: y. h$ v% L0 G% f2 \ 26
$ f* A5 e7 Z; M: o. y- `* z3 _ 27 /* Log init */4 }" o; |1 `- G2 K. E5 x% P
28 #if OUTPUT_TO_UART1
. q  e2 I* _  z" ]( m. L. }. _ 29     #define LOG_INIT() do {                                     \3 s5 F" O: f9 F
30         PSCModuleControl(SOC_PSC_1_REGS, HW_PSC_GPIO,           \
. O  N. @3 e: A 31                          PSC_POWERDOMAIN_ALWAYS_ON,             \
- P, u* z. P8 X 32                          PSC_MDCTL_NEXT_ENABLE);                \5 C: C! e7 S2 M' |6 z9 @6 m1 b* E2 v2 c
33         GPIOBank6Pin12PinMuxSetup();                            \
- ?' O- L1 h3 u- B% e8 u- D 34         GPIOBank6Pin13PinMuxSetup();                            \3 q  J- H. T) B+ ]9 A
35         GPIODirModeSet(SOC_GPIO_0_REGS, 109, GPIO_DIR_OUTPUT);  \8 Y- ?8 U1 x6 j% }+ |3 G7 o: W' G
36         GPIODirModeSet(SOC_GPIO_0_REGS, 110, GPIO_DIR_OUTPUT);  \( D( q. |# d/ z0 m8 F
37         UARTStdioInit();                                        \6 m/ x% J6 z" L6 c
38     } while (0)$ Y( |3 ^) ~, l( p: L8 f6 H
39 #else: L3 s) ^& k! k# y; T! [$ m
40     #define LOG_INIT() do { } while (0)
- O3 g& |5 g4 Y9 Y4 t 41 #endif9 T- e. b9 ~  W# A$ {3 t4 a0 ^( x
42
2 F9 P3 y/ y/ {9 ]& C* o* p! Z- o 43 /* Log Output */
5 j$ m2 N7 `4 _5 c1 f 44 #define LOG_INFO(format, ...)      \9 n% \' L6 P" p8 j
45     do {                           \- X; B; ]+ X2 T5 `+ P
46         OUTPUT("[%s|%s@%s,%d] " format "\n", "INFO ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \5 \7 }) z( U0 T( n+ m" h
47     } while (0)
3 f( h. f* \- ? 48
! ]- F7 _. W7 p# \ 49 #define LOG_ERROR(format, ...)     \/ J0 f1 r! \- s( j% |- A& t3 J
50     do {                           \  m5 w( B: `$ c7 @0 Q' N* r
51         OUTPUT("[%s|%s@%s,%d] " format "\n", "ERROR", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
; f7 U5 i8 S& ^ 52     } while (0)$ f5 G: ~! G. ^2 e& {$ a
53
) \' Y7 g" ~8 @! C2 h* | 54 #define LOG_DEBUG(format, ...)     \# N) ?: L4 j. C% x7 t$ A$ ?8 p+ U
55     do {                           \# W6 F) Z6 X1 U6 `2 H. C+ r! m
56         OUTPUT("[%s|%s@%s,%d] " format "\n", "DEBUG", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \3 N5 u" O1 P2 b/ f
57     } while (0)
  s9 ~" M1 k; u1 b& E 58 % n& d9 Z' C7 H0 w, u( A
59 #define LOG_WARN(format, ...)      \
3 e  N. }/ |* R% C 60     do {                           \
8 @- }: O% U8 S% S  W0 V1 n1 x# m 61         OUTPUT("[%s|%s@%s,%d] " format "\n", "WRAN ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
  V; S* w  M/ f 62     } while (0)
+ {3 t) M0 j3 c5 X 63
2 f/ Z2 m4 j' b0 C 64 #define LOG_TRACE(format, ...)     \
" K" u9 p: i) ^/ s& y- h( n* ]' v 65     do {                           \
# e. K1 Z. `. I2 b' M2 q 66         OUTPUT("[%s|%s@%s,%d] " format "\n", "TRACE", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \5 c: U& l& B( i
67     } while (0)
" s! Y2 G+ W: Q, m 68 3 x. x+ j' S9 Y
69 #define LOG_FATAL(format, ...)     \4 Z0 O: F: t) W6 P* W% q" \8 A7 f
70     do {                           \
$ L6 a- J$ J& L6 X! J/ s 71         OUTPUT("[%s|%s@%s,%d] " format "\n", "FATAL", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
" r* X1 w4 q; a8 s& ] 72         exit(1);                   \
( m# x/ w2 N6 q+ j1 ^) G 73     } while (0)
8 C* n. j/ M) ~8 R1 v' d+ D 74 ) R) O. ~' N0 Y
75 /* Assert */
) V: ]1 [# D6 R. t6 w# h 76 #define ASSERT(EXP)                \
* r- q: @0 i; B4 K 77     do{                            \0 j+ P! t6 x- _/ O3 R
78         if (!(EXP)) {              \
2 l5 f/ \2 l1 a7 x 79             OUTPUT("[%s@%s,%d] ASSERT: " #EXP "\n", __func__, __FILE__, __LINE__ );                  \
8 L# W+ w' Q& t  j0 m2 z1 c7 e 80             exit(1);               \
- w  F  g/ @2 ]1 S- a 81         }                          \# i5 X9 N4 [- x$ x. U% }; z
82     } while(0)+ b6 _& S! N; H3 z5 R, S
83 7 ^7 _* A( i' b: n8 o
84 #endif* l& c7 r5 N8 m! C
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
板凳
发表于 2014-12-4 14:03:10 | 只看该作者
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏
) |1 X/ B. H/ i8 @
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
地板
 楼主| 发表于 2014-12-4 15:21:54 | 只看该作者
tenny 发表于 2014-12-4 14:03* g# o" C& `  M% q0 s$ S2 ]. M
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏
9 N3 E8 k, y6 C& A$ Q
你好,是arm这一端的app
  q# I$ E, [& s# L
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
5#
 楼主| 发表于 2014-12-4 15:40:21 | 只看该作者
tenny 发表于 2014-12-4 14:03. s4 \  A0 _+ {6 p4 [
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏
. ^0 n4 y- Q( T
你好,你是不是将host/app下的log.h和dsp/driver下的log.h和到一块啦,怎么说下你的思路" u7 y$ v6 b& s2 m& e
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
6#
发表于 2014-12-4 15:59:03 | 只看该作者
arm 端的 log 并没有用到 uart15 t( z9 d. A( C) ?! A; n. h" Z
dsp 端的 log 才使用了 uart1+ N7 i: Q, E/ F5 X
所以,你需要也只需要修改的是 dsp 子工程的 log.h(新版本的代码 是在 dsp/app/log.h,旧的是在 dsp/driver/log.h)
1 N; f" G2 s, W& [
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
7#
 楼主| 发表于 2014-12-4 17:19:24 | 只看该作者
tenny 发表于 2014-12-4 15:59
  g7 n- p9 e3 Z- a5 parm 端的 log 并没有用到 uart19 _* Y) X8 t  e5 v/ S
dsp 端的 log 才使用了 uart1! r$ W0 K4 D( F! S; u# j% H
所以,你需要也只需要修改的是 dsp 子工程的  ...
1 G8 p. t# v: K) ]/ a5 J
那我是不是将你贴出的那段代码,替换DSP/driver下的log.h就可以是吧,
( f. U8 d% }7 E3 [  M然后将#define OUTPUT_TO_UART1 1 换成" r6 G9 P8 g9 C( Q% k2 @1 k; V
#define OUTPUT_TO_UART1 0
! W5 v. N9 f* |, {8 @  是不是这样& G4 l! E( b# k( D

: v! n5 W* Y  h( d& Y5 z* ]8 d
6 V+ p$ ]. o5 D$ |  [0 ?4 X- _5 ]# @6 o: e1 ]6 F5 C! d  ~. \% H
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

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

. r; C- g% d9 w8 ~" s
回复

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2026-4-1 00:14 , Processed in 0.043160 second(s), 25 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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