|
|
1 #ifndef _LOG_H_
+ o: m: O, z2 z2 A' N2 }( c$ Q0 m 2 #define _LOG_H_* J+ a3 J- x0 t5 s- \, L
3 . k) e) R: V+ h, G% I9 A0 W* ~
4 /* 0: printf; 1: UART1 */
. |$ |5 m* }9 f 5 #define OUTPUT_TO_UART1 1, r3 I* ~9 w7 h
6 8 }; _4 p6 i2 p5 y
7 /* Switch Log Output */
- m I# E, [! g3 b+ _ 8 #if OUTPUT_TO_UART1: D1 ~9 r9 ~* H! }
9 /* For UART1 Initial */
. y5 x1 h+ P& Y! n; K4 t 10 #include <stdlib.h>9 c) i/ s/ i! _9 a) N, {$ Y
11 #include "hw_types.h"
% h; Z: ^+ ~4 A1 i" A 12 #include "hw_syscfg0_C6748.h"
; T4 F! R! N- q | 13 #include "soc_C6748.h"
# _, O& z7 m1 l 14 #include "psc.h" 9 S8 [: h A- E) Y
15 #include "gpio.h"
L% c2 Q/ g ]( K7 K" t! C, N) G 16 #include "uart.h"" [% H6 e" }. m( U
17 #include "uartStdio.h"
6 m; p' ]+ z0 B8 r) l, P/ A 18 & O ^; @2 c2 b; q0 ? s/ q
19 #define OUTPUT UARTprintf
' H( w) {& d9 N 20 #else5 Q% {' ^+ U) N, L6 \; Y. G
21 #include <stdio.h>! l, K x. y9 F8 t1 M5 ~
22 #include <stdbool.h>4 R; y8 @% [" _! W& s2 J. O
23 " v) D) K7 K8 t! f! r0 p! z" E
24 #define OUTPUT printf( K. s. C/ k, {' D2 F0 _; `" V
25 #endif
3 ?% S& O- o# V! v- t 26 9 q. Y9 W8 B' \) Y# G
27 /* Log init */* f B' D- N" f$ s7 Z1 U
28 #if OUTPUT_TO_UART1
1 D- k3 n0 `8 m& l- _ 29 #define LOG_INIT() do { \
! e- |7 F; ?+ q+ Q5 g$ c6 D7 p 30 PSCModuleControl(SOC_PSC_1_REGS, HW_PSC_GPIO, \' C) {# I3 g; n) V- o( q
31 PSC_POWERDOMAIN_ALWAYS_ON, \
; F' j# v C1 C* p I; k& N 32 PSC_MDCTL_NEXT_ENABLE); \1 B) `+ w3 K3 a
33 GPIOBank6Pin12PinMuxSetup(); \9 X0 O% y2 v. s1 L" I/ T
34 GPIOBank6Pin13PinMuxSetup(); \4 O0 W* U8 ~. i3 x( b; n2 }
35 GPIODirModeSet(SOC_GPIO_0_REGS, 109, GPIO_DIR_OUTPUT); \' C( _# |+ `3 L* Q7 o/ L2 w) ^
36 GPIODirModeSet(SOC_GPIO_0_REGS, 110, GPIO_DIR_OUTPUT); \- G0 ?% P8 C0 @- z
37 UARTStdioInit(); \8 L1 \: \2 O6 H3 d' } l8 Y2 M
38 } while (0)
* J2 E( q) z# G2 V/ y$ m( x8 [1 m 39 #else: s6 @' D/ T$ p: }% _
40 #define LOG_INIT() do { } while (0)6 F& d) m9 P# m% @/ Z
41 #endif
# d- v: c7 G4 R( k! m1 G4 w2 a4 p# p 42
: d! \& C; S9 K* G; u9 M: l5 t6 U 43 /* Log Output */( t4 _0 z0 c7 V: v1 w }! A
44 #define LOG_INFO(format, ...) \5 F; W x4 ^5 l& L4 F5 |
45 do { \5 c" l1 h/ a# c, L+ R
46 OUTPUT("[%s|%s@%s,%d] " format "\n", "INFO ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \- a7 G- h/ \* ^$ W9 ^
47 } while (0), v: U/ h5 t4 F, Q( E
48 ; I- F$ X U% v# {: L
49 #define LOG_ERROR(format, ...) \
/ p" D+ {+ c0 M" b1 r' D$ \9 W/ { 50 do { \
. n+ \, ], i" T 51 OUTPUT("[%s|%s@%s,%d] " format "\n", "ERROR", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \& _ ?& S6 R; }8 k
52 } while (0)
/ X. n7 M% P& P. @$ g: G 53
6 t' I, G4 f, A# d 54 #define LOG_DEBUG(format, ...) \, g1 \+ [) L" ~8 [+ |/ k/ @
55 do { \+ y- `1 b6 W# g* O' W; B, Q% a) ]
56 OUTPUT("[%s|%s@%s,%d] " format "\n", "DEBUG", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \0 r2 o. ?, u+ J- y8 d! A" a
57 } while (0)
8 @4 a9 |% E8 S6 r4 C 58 . K$ N' g# P* n! f2 k' k
59 #define LOG_WARN(format, ...) \) s7 l; J7 T. Y, x0 C+ B8 m
60 do { \
7 L Z7 g( L, _ 61 OUTPUT("[%s|%s@%s,%d] " format "\n", "WRAN ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
0 b: o7 C0 @" ^. n# s# J0 ] 62 } while (0)
/ j% t' z1 {) j H0 Q' J1 g$ S 63 * [ J- v* r* M9 O8 N2 [1 l
64 #define LOG_TRACE(format, ...) \7 m7 n; O# s6 F# V
65 do { \
/ I# l% K4 d9 x, {& w 66 OUTPUT("[%s|%s@%s,%d] " format "\n", "TRACE", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \$ U+ i! M/ Q& `
67 } while (0)
$ n% _5 P$ Z- r T' e9 _: { 68 0 }) L- R* h+ ?) e/ _
69 #define LOG_FATAL(format, ...) \+ l& G" ?0 o7 e Q
70 do { \
x3 H% @- t- |/ G 71 OUTPUT("[%s|%s@%s,%d] " format "\n", "FATAL", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \4 _! y1 L3 P* i
72 exit(1); \
% _! @; M) j, s5 I* \1 ?# c+ e 73 } while (0)
0 l( b7 `% V3 S% p8 b5 ^ 74 : T# U1 g4 S/ v9 Z/ i: E) a- b3 c
75 /* Assert */
# L) m% L' c- ` 76 #define ASSERT(EXP) \& s: [ ^) I% D$ A" r9 F6 Q9 R
77 do{ \- l1 ?9 G9 ~5 [; F$ ?
78 if (!(EXP)) { \0 j- s u( f! s2 r: |
79 OUTPUT("[%s@%s,%d] ASSERT: " #EXP "\n", __func__, __FILE__, __LINE__ ); \! d/ i. S, z& E& B9 [
80 exit(1); \
" P) M2 Y, V. s 81 } \
+ q, i, Y( x: m& A% _ 82 } while(0)
3 o5 u) f+ X' W/ q 83 ' _, ~: I+ z% k3 Q# y9 a% k$ k r
84 #endif- ~% Q& ~5 |5 |* N" a
|
|