|
1 #ifndef _LOG_H_
3 |8 M9 a/ [9 J- g 2 #define _LOG_H_% ]0 V3 M0 u) m" I J$ J0 N
3 3 U$ @1 t, d# B# j
4 /* 0: printf; 1: UART1 */
: I3 D. m0 Q$ B- x 5 #define OUTPUT_TO_UART1 1
L! c1 D3 t+ j' |1 [+ I5 Z# I' U 6
+ K/ i6 }* ^/ _ 7 /* Switch Log Output */& ?2 _: M! B `" ]& n
8 #if OUTPUT_TO_UART1! K% o ^! v: Z2 }3 v, Q$ B& }% ~
9 /* For UART1 Initial */
9 k& u* d9 t5 \* u5 q 10 #include <stdlib.h>* p1 j, g N3 v g6 o
11 #include "hw_types.h"
" t u" _9 X+ J# | 12 #include "hw_syscfg0_C6748.h"/ {# \* k8 G# i* @8 l" a( j
13 #include "soc_C6748.h"
$ L3 {) f$ x6 x2 r7 A! I# Q1 I9 @ 14 #include "psc.h" 4 j' V1 G3 ^5 [& ]2 X' I) m: q) a
15 #include "gpio.h"
3 r! h H& ^+ }0 v; x0 M 16 #include "uart.h": T' x6 H# A8 o. }
17 #include "uartStdio.h"/ x+ y2 N( C7 t
18 2 V, P8 A0 | A$ @( h
19 #define OUTPUT UARTprintf
: u3 U2 j/ E! M3 E9 B: t 20 #else
7 S E, |0 n" g4 h% E 21 #include <stdio.h>* c! ^( n5 h; i+ v I3 S/ ?
22 #include <stdbool.h>3 w. e8 k- v6 j; z2 q v
23 1 Y* Z% b, o7 X& |- G1 X7 P/ N
24 #define OUTPUT printf6 ^1 M/ U& b. O9 n! ~ O5 w
25 #endif
4 l# O# J% V0 n" p% c 26 ^6 i% ]: K1 s" [1 X
27 /* Log init */
1 G9 I. u% u/ B9 |! R) }2 Y8 f- e 28 #if OUTPUT_TO_UART1
7 T2 _8 G7 l' ]' r7 Y. D$ W 29 #define LOG_INIT() do { \# U1 m- f. p- k- F+ a
30 PSCModuleControl(SOC_PSC_1_REGS, HW_PSC_GPIO, \" p) B2 h- G2 W/ P2 f. ~% K
31 PSC_POWERDOMAIN_ALWAYS_ON, \1 o" E3 k: j( ?7 Y- n/ n2 S! }
32 PSC_MDCTL_NEXT_ENABLE); \
+ k! M. Z6 x/ \: c% _/ C 33 GPIOBank6Pin12PinMuxSetup(); \
7 e6 ]4 q# T- n1 E 34 GPIOBank6Pin13PinMuxSetup(); \: G! s0 r% D0 a! T" Y
35 GPIODirModeSet(SOC_GPIO_0_REGS, 109, GPIO_DIR_OUTPUT); \
- A. z i* H4 F4 `$ b' E 36 GPIODirModeSet(SOC_GPIO_0_REGS, 110, GPIO_DIR_OUTPUT); \2 {# E A7 W$ Q6 g: T% y# ]; ]8 I
37 UARTStdioInit(); \; a) Q6 ?7 f$ C( M! s
38 } while (0). a1 m+ k3 `2 o. B8 O, N
39 #else
) a0 g; N0 c% o$ k L5 h0 l$ ]: P 40 #define LOG_INIT() do { } while (0)
9 }/ |0 N% x- L y. H 41 #endif) @1 F( t+ K2 I2 v/ Z/ _& O+ [
42
# _3 P1 P) k5 [- ~ 43 /* Log Output */6 P1 U/ ?5 |+ B: h1 A3 k: n. o! ?
44 #define LOG_INFO(format, ...) \
3 ^/ ~4 O$ N( @0 k1 Z6 ] 45 do { \
2 X4 U7 x+ Q( K" K 46 OUTPUT("[%s|%s@%s,%d] " format "\n", "INFO ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
6 y, z$ C8 v5 t( q* N: c, e% R 47 } while (0), R' o& `+ _" X
48
3 N6 e9 x" S- B& l) [) w: t 49 #define LOG_ERROR(format, ...) \
9 h! C& p$ D. Z5 j% Y5 s 50 do { \
- A, u E, G. D( W 51 OUTPUT("[%s|%s@%s,%d] " format "\n", "ERROR", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \3 x3 X. T$ h" b
52 } while (0)
4 Y" s; G9 K4 M9 F 53 6 j: V& g# w* ^& T# s. x
54 #define LOG_DEBUG(format, ...) \
* G y c9 R8 z* `' @; M8 y 55 do { \
. H6 H9 y, l: D 56 OUTPUT("[%s|%s@%s,%d] " format "\n", "DEBUG", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \% L8 y$ r' S- n. m/ W- M- M
57 } while (0)
" @4 |/ S7 S" a 58 ! W: W0 D9 X7 w7 [! [
59 #define LOG_WARN(format, ...) \( W& p. _# d" d* o
60 do { \- n8 @- f; Y9 I8 I, K
61 OUTPUT("[%s|%s@%s,%d] " format "\n", "WRAN ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
8 }3 a! h7 I& a* w+ g 62 } while (0)1 j+ X/ y4 U. L; W3 u( h% I
63
+ Y6 @* Q: Z* v6 D 64 #define LOG_TRACE(format, ...) \
S7 t# Y# B; Y0 \4 K 65 do { \
$ m" G3 g# t" Y+ { 66 OUTPUT("[%s|%s@%s,%d] " format "\n", "TRACE", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
* ~/ u" s! l6 H8 w 67 } while (0)! f/ M z# v. v; ^% L, y
68 5 m( J' g5 N& i) M# y" o" A
69 #define LOG_FATAL(format, ...) \$ u7 j0 ^* J4 U
70 do { \
+ X* _: O3 b, j* F0 F 71 OUTPUT("[%s|%s@%s,%d] " format "\n", "FATAL", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
6 B" d& c9 `3 N. q" }' ] 72 exit(1); \
7 s% s# q! c! A+ r 73 } while (0)
: e7 A3 q0 D0 J0 k 74
% u5 t3 N- K: Q$ S# {7 l+ S 75 /* Assert */" y, V1 _7 H. Q# N$ d, z( V
76 #define ASSERT(EXP) \: g9 G" i/ I6 G$ l! O* l& _' Y4 i
77 do{ \7 P1 ~5 {3 V( H/ N0 g
78 if (!(EXP)) { \% S, V; ?2 \1 l" O+ I: O
79 OUTPUT("[%s@%s,%d] ASSERT: " #EXP "\n", __func__, __FILE__, __LINE__ ); \
' e( L3 s4 `: C: }2 x, V) } 80 exit(1); \
' @, U% l# l3 ~- A 81 } \
3 u! u( e) p; C 82 } while(0)
$ k5 I. A7 S, P4 { 83 $ e9 y% |! F, ~4 l
84 #endif3 _+ q; l$ \7 ~( r v
|
|