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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
楼主
发表于 2014-12-4 14:01:26 | 显示全部楼层
  1 #ifndef _LOG_H_
) _$ E* F" m$ T  2 #define _LOG_H_
' i8 X; ~- i4 j( [3 h  3 1 Y1 J  p7 d5 O
  4 /* 0: printf; 1: UART1 */
5 l+ p4 X1 u- I$ p% E: n3 {+ k( C) E  5 #define OUTPUT_TO_UART1 1
* X. a( D) t! `7 |& R& k
  6
) i5 d  _; H. N& Y  7 /* Switch Log Output */
8 M$ J9 l5 H' q1 ^" ?7 Z  8 #if OUTPUT_TO_UART1
9 k  y$ C' }' {' p  9     /* For UART1 Initial */
& R( S2 Y/ K0 E+ y# T/ @* b 10     #include <stdlib.h>
0 e1 z( d4 |; A. h7 X1 b3 Z5 D 11     #include "hw_types.h"  
) z# M1 v6 V4 W$ r1 G" ~+ p. P 12     #include "hw_syscfg0_C6748.h"+ c4 U0 L( e! \0 |' S: U2 M
13     #include "soc_C6748.h"4 {, p  C5 c, s; M
14     #include "psc.h"               : F0 c% w( G, u! s- H- N
15     #include "gpio.h"               
3 ?2 c+ b+ A/ `+ S6 Y1 G# @6 { 16     #include "uart.h"
+ ~! U5 F2 g3 i( Q 17     #include "uartStdio.h"& |5 W- @5 ]. S* A
18 - a/ K7 _' e  |& _# w
19     #define OUTPUT UARTprintf9 z! _; u/ f: @
20 #else
! c. d5 M3 s' N( s7 L: e/ K/ x9 S# a 21     #include <stdio.h>
& }2 ?' O' y$ s% W! g- P 22     #include <stdbool.h>: v2 D- Z# r4 q( Z+ w; h
23 7 i' T- S1 S# c7 {% M4 P1 P
24     #define OUTPUT printf" {6 N% B5 R0 P3 d2 R
25 #endif
  U+ h% c7 ]/ A5 @! w# v5 V5 ~' M 26 3 V4 X4 E/ J1 l
27 /* Log init */$ u/ d& H5 ]# e* c9 [3 o
28 #if OUTPUT_TO_UART1
4 N6 h, t* |( P1 ~1 r4 E- l9 ` 29     #define LOG_INIT() do {                                     \
- r1 a+ ^) A, H 30         PSCModuleControl(SOC_PSC_1_REGS, HW_PSC_GPIO,           \
; X4 v: D' k* t% k9 M- N2 U6 Y4 i 31                          PSC_POWERDOMAIN_ALWAYS_ON,             \, ^( \# J( A+ v
32                          PSC_MDCTL_NEXT_ENABLE);                \
  B  {5 w. D( r+ k0 o& [ 33         GPIOBank6Pin12PinMuxSetup();                            \
; R( w4 [& z# Y- r3 u+ _! n 34         GPIOBank6Pin13PinMuxSetup();                            \8 Y) K5 k- E5 Z1 M5 W/ q3 J
35         GPIODirModeSet(SOC_GPIO_0_REGS, 109, GPIO_DIR_OUTPUT);  \
6 Q9 g  r6 H# j$ Y: ]$ R" g% z 36         GPIODirModeSet(SOC_GPIO_0_REGS, 110, GPIO_DIR_OUTPUT);  \
- y+ L9 o: k6 _2 g) L: `& b 37         UARTStdioInit();                                        \- d  O! Z2 z  r4 ]) V
38     } while (0)0 q$ R5 B; C- _5 c$ y
39 #else/ E. ~/ o5 ?6 b7 Y6 ^# Q
40     #define LOG_INIT() do { } while (0)
/ a$ A% h( x4 F5 l' B 41 #endif
# R0 K; G: g3 i6 |% l/ u 42
+ F+ }$ M- d1 h6 x' S 43 /* Log Output */' r* Y+ a( T) M3 w" H
44 #define LOG_INFO(format, ...)      \' }' U/ n& {8 o1 a3 a- J% h
45     do {                           \6 V+ m0 e9 Q) i" V
46         OUTPUT("[%s|%s@%s,%d] " format "\n", "INFO ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
5 ^. c$ z) P/ M 47     } while (0)
+ C* U& x! L- n6 _7 m- x 48
/ i0 o( T/ }3 k- Z! C1 r! P9 h 49 #define LOG_ERROR(format, ...)     \9 B! v4 A- i+ V* r7 |# V
50     do {                           \
/ k* W7 ]& R- f4 E, E% f" C: ~3 B6 W 51         OUTPUT("[%s|%s@%s,%d] " format "\n", "ERROR", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
4 y" m7 d6 w, r0 M) e 52     } while (0)4 C& |6 [+ s$ y+ j, F+ D! p
53 5 ^+ t5 e+ F* I% g
54 #define LOG_DEBUG(format, ...)     \
0 g9 ]' ]1 L# o0 O 55     do {                           \+ ^- m& W6 R# j" H% x. R& F
56         OUTPUT("[%s|%s@%s,%d] " format "\n", "DEBUG", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \. P. X; v" H2 {  _  e
57     } while (0): `( l' y  e4 H9 B# ~& U% g9 H# J
58
5 x( ?. E" K+ u4 p6 ^6 B 59 #define LOG_WARN(format, ...)      \7 c. G! F% T0 v# y- S& E
60     do {                           \& A7 l7 S! a6 a
61         OUTPUT("[%s|%s@%s,%d] " format "\n", "WRAN ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \# H4 k2 |' o) {, w
62     } while (0)
7 P: t9 ^# ]( |2 y# ?. v  v1 b 63 6 C6 ^9 H; B2 N) @3 M, Q
64 #define LOG_TRACE(format, ...)     \
, x9 T/ K/ W, m. G 65     do {                           \0 p* H' L! o; q! N
66         OUTPUT("[%s|%s@%s,%d] " format "\n", "TRACE", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \( V0 [( f/ d6 h" s5 w; n
67     } while (0)
$ W) e8 y  z& d1 a; h6 ^1 `. i 68
% ]& G( P7 P0 z3 { 69 #define LOG_FATAL(format, ...)     \
' l8 d$ \9 i! r6 T. @+ y  z 70     do {                           \
6 Z% M2 V( V/ a6 y/ N8 g 71         OUTPUT("[%s|%s@%s,%d] " format "\n", "FATAL", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \9 H( k+ v$ c+ F/ \' c
72         exit(1);                   \
" p2 `( ^. T3 \" `! {$ b 73     } while (0)
1 W0 K! d0 M% _! e/ Q! n5 X- l& R 74 ' a  U& ]# E* W& h
75 /* Assert */3 U. ^& [2 {% p3 m
76 #define ASSERT(EXP)                \
: P+ B! \5 K- n1 m1 y' T% n7 ` 77     do{                            \6 f2 B) z1 J$ w
78         if (!(EXP)) {              \
% O1 [- f6 V" }: s" v  c 79             OUTPUT("[%s@%s,%d] ASSERT: " #EXP "\n", __func__, __FILE__, __LINE__ );                  \1 ~) c3 A1 i9 K! |5 `
80             exit(1);               \
. E: h! h6 i6 P2 i+ V& d 81         }                          \& E' x6 _* I; t7 E
82     } while(0)1 J- n& w8 o* z
83 # S7 u0 P  }* m( R4 G" Z# h  N
84 #endif
7 X- O& h( ?% G" w0 B
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
沙发
发表于 2014-12-4 14:03:10 | 显示全部楼层
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏
; }& o6 z6 W, {* {& U
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
板凳
发表于 2014-12-4 15:59:03 | 显示全部楼层
arm 端的 log 并没有用到 uart1# [7 `! H+ ]3 x( q- p
dsp 端的 log 才使用了 uart1
9 l# n8 ^3 n7 K* {- S所以,你需要也只需要修改的是 dsp 子工程的 log.h(新版本的代码 是在 dsp/app/log.h,旧的是在 dsp/driver/log.h)+ \' g7 k" r/ a3 Q& ^% M4 B4 B" K! N
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
地板
发表于 2014-12-5 09:25:09 | 显示全部楼层

! k5 `6 [6 m5 Z0 \1 X% G
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-7-12 16:25 , Processed in 0.035596 second(s), 22 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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