|
|
1 #ifndef _LOG_H_4 j. x$ a9 c5 D, F. q- V
2 #define _LOG_H_( j/ e5 Q; {# D
3 + P2 x9 P9 p5 e2 G$ ^9 U1 r1 q
4 /* 0: printf; 1: UART1 */
( a" X5 v* O: e* f 5 #define OUTPUT_TO_UART1 1# ]: t0 m0 R, F% ]+ T( _& ]' B
6 1 T# D" X v3 v/ i* ~6 \. w* \+ M
7 /* Switch Log Output */
' \. S/ C' t4 c4 e+ T6 t' e+ M 8 #if OUTPUT_TO_UART1, H8 d/ f- J+ ~6 C* s
9 /* For UART1 Initial */
! |$ q- A+ N& ^' v4 y 10 #include <stdlib.h>- ~2 m) S7 p/ [$ b2 O
11 #include "hw_types.h" 1 N6 k0 e* [, x- T
12 #include "hw_syscfg0_C6748.h"
7 Q' ?9 C' Z! e, X& O' a 13 #include "soc_C6748.h") r1 B5 s+ Q. ]! ?, H2 l; K& p( s5 L
14 #include "psc.h"
6 }/ M" [6 |7 i3 x& m z% G- X. A 15 #include "gpio.h"
~. c- t' o% S8 ]+ i/ `( [% F- t 16 #include "uart.h"% c2 ~$ f1 W! G: O4 f+ O
17 #include "uartStdio.h"
! H! s9 K# l+ L7 J% n) P R 18
3 Y2 r) V! @. r 19 #define OUTPUT UARTprintf3 }& ?) J' F" @* y2 q
20 #else' Q# n' i- I" O1 ^
21 #include <stdio.h>' | D9 Z+ I4 N4 ~% j
22 #include <stdbool.h>4 o1 A5 }, K" D) N
23 ( p; Z1 i' A6 ], `
24 #define OUTPUT printf
* S3 q2 B: n4 C9 h" K0 v& t 25 #endif# H1 R. B7 I$ B ?' N
26 ' L8 ]1 G8 y1 @9 Z! c
27 /* Log init */
! V8 H, k2 e9 t5 _' J1 R* K1 e 28 #if OUTPUT_TO_UART1
1 @8 e$ M5 M9 E 29 #define LOG_INIT() do { \
2 G( m9 E9 s+ i! P; M 30 PSCModuleControl(SOC_PSC_1_REGS, HW_PSC_GPIO, \
+ F, j. }2 J$ E/ R* c7 T, c 31 PSC_POWERDOMAIN_ALWAYS_ON, \. {8 G# p* E3 b; `: z
32 PSC_MDCTL_NEXT_ENABLE); \
% Y. P3 Q5 o2 ^6 [ 33 GPIOBank6Pin12PinMuxSetup(); \
( {' w; f7 i6 f' F# b 34 GPIOBank6Pin13PinMuxSetup(); \# F& Z( Z! ^8 ?7 A0 J
35 GPIODirModeSet(SOC_GPIO_0_REGS, 109, GPIO_DIR_OUTPUT); \4 e/ Z2 e4 [3 G2 z: p; ?6 _
36 GPIODirModeSet(SOC_GPIO_0_REGS, 110, GPIO_DIR_OUTPUT); \
) z$ @" m0 B n) @$ }6 i5 y6 Y 37 UARTStdioInit(); \9 @: m/ D; W. o0 b/ K
38 } while (0)
$ c6 F q6 G/ V- G6 N% Y 39 #else7 q8 c, q. t7 I/ F! S
40 #define LOG_INIT() do { } while (0)9 J: C# x+ ]* X$ T# c- A1 B
41 #endif. G& Z6 } h$ w7 k- f9 X. U
42
! c" z2 c8 \* q- l5 @3 ^9 A 43 /* Log Output */
+ h) k' T+ D" w' I, U1 A% ^ 44 #define LOG_INFO(format, ...) \/ L- ?0 w# g" I' S/ {" v
45 do { \3 j( P, b, Q; ~8 `7 P
46 OUTPUT("[%s|%s@%s,%d] " format "\n", "INFO ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \7 h4 ]$ s" X: w, X/ u
47 } while (0)
9 ^% p5 t$ @+ z' J# X 48
. E" {8 e& b y! }$ M* T/ K8 C' y 49 #define LOG_ERROR(format, ...) \/ w* w3 q3 I7 `+ W! l
50 do { \
' v; F, f3 P: U4 v9 Q' V3 P 51 OUTPUT("[%s|%s@%s,%d] " format "\n", "ERROR", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \, J4 M. W5 x* n. b4 L: _- I! x
52 } while (0)
! N7 Y; P" K0 s 53
/ S& [4 n+ C/ H 54 #define LOG_DEBUG(format, ...) \
2 u Y8 W1 h: W& k6 n3 R- K9 p 55 do { \! @% T0 h, k: j( L
56 OUTPUT("[%s|%s@%s,%d] " format "\n", "DEBUG", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \+ W1 O& O) {8 v
57 } while (0)
( W9 E' O1 \6 j+ `4 w 58
- X( `' U6 N9 u. r, [ 59 #define LOG_WARN(format, ...) \- y# k' C! C' O9 M8 O
60 do { \3 L5 a" K& @& Z! o! q) G! {* \
61 OUTPUT("[%s|%s@%s,%d] " format "\n", "WRAN ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \8 H+ |2 ?& b$ Z! U' n+ k8 p
62 } while (0)
2 m8 y' V E e* k. J+ Q. F 63 1 C1 K2 ~9 l& @+ S
64 #define LOG_TRACE(format, ...) \. v: c. Z) J: B& m- w; ?* [: L& H r
65 do { \# c1 A. C% A+ C4 N% j5 S9 V
66 OUTPUT("[%s|%s@%s,%d] " format "\n", "TRACE", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \" Z5 P" c% r) r% o2 C
67 } while (0)
7 b+ h) b+ |: K2 p 68
: _2 [2 `' F3 n" r 69 #define LOG_FATAL(format, ...) \
% g: Z9 x% Z' o$ Q6 n 70 do { \* M, u1 w& y7 w2 D1 b+ M
71 OUTPUT("[%s|%s@%s,%d] " format "\n", "FATAL", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \' `' n% i9 C8 K. {1 k4 q; l
72 exit(1); \% J% [" `- F {7 E- v) ]; N
73 } while (0)
/ \& F4 b* h6 S% E- d; o) c 74
- } g% D2 a6 p* L/ v+ l- ? 75 /* Assert */* W3 m1 I$ v8 I) v$ y& R
76 #define ASSERT(EXP) \* t6 `3 b; X+ Z
77 do{ \
* L& ~7 \% }7 o 78 if (!(EXP)) { \
; O% e! U" K1 g9 ] 79 OUTPUT("[%s@%s,%d] ASSERT: " #EXP "\n", __func__, __FILE__, __LINE__ ); \
, q; @- {& e+ o w- M( z" t 80 exit(1); \
. r) U; [3 y9 ]4 \& C' o6 f3 ` 81 } \
3 \- k% x n. l 82 } while(0)
! J: X/ Q* L: e7 C# t 83
4 b4 g4 k. w; J 84 #endif
9 Y3 Z; N" }3 q7 c" ] [ |
|