|
|
1 #ifndef _LOG_H_
' b# y2 d3 [& G% C+ z; t3 M( o6 S 2 #define _LOG_H_1 x8 N- x+ o4 Y$ z' f% a1 @$ ? {
3
- ^" E5 c/ d9 t% O 4 /* 0: printf; 1: UART1 */
7 S* D2 d7 {' b- b" F5 [: o; i 5 #define OUTPUT_TO_UART1 1% G* c) R. J2 P3 f
6
! a2 p4 Z1 [% l H2 |% C 7 /* Switch Log Output */
9 l. j1 T4 G7 g4 @: c- c 8 #if OUTPUT_TO_UART1! k. |: I4 o9 t8 T2 v% i& W% L' \
9 /* For UART1 Initial */# e4 z/ w4 A) a1 `: v! \4 m
10 #include <stdlib.h>; f$ Q- O' b2 b1 O
11 #include "hw_types.h" + ?$ |& B. \/ U, q4 d+ D0 N& K) C
12 #include "hw_syscfg0_C6748.h"
$ L, D9 ~* i& S4 f% Q4 Z8 U 13 #include "soc_C6748.h"- K# u2 k% r3 ?- B q( Z: A
14 #include "psc.h"
+ e) |9 G: A7 c 15 #include "gpio.h"
; B# w5 f2 L" D 16 #include "uart.h"
. d8 R" \1 a9 e' V s8 S 17 #include "uartStdio.h"
1 Z P' o9 n+ c6 ~* g o/ }; c 18
: L7 a$ N/ U' c+ x 19 #define OUTPUT UARTprintf% h6 t. N$ @2 A( Z
20 #else
8 u" E: P& Q2 w8 a0 F 21 #include <stdio.h>
" P) N, n/ b$ i1 z, ^0 I& V8 {! \ 22 #include <stdbool.h>" S9 d5 v3 I( a6 Z
23
* F S; _/ N4 L; C8 C. R6 h- g1 b 24 #define OUTPUT printf
5 q; {% F2 f5 A" C$ \ 25 #endif- W$ O9 ~+ o" k
26
& p) U, S$ Z) J2 l. a: \ 27 /* Log init */6 i; \6 ] |2 y* j; \5 i
28 #if OUTPUT_TO_UART1. Z7 R& J' S& x! `3 C& z4 k; T/ i
29 #define LOG_INIT() do { \: o) c3 t# R& a- o7 P
30 PSCModuleControl(SOC_PSC_1_REGS, HW_PSC_GPIO, \
0 f: i( o, L! v) R! w- w 31 PSC_POWERDOMAIN_ALWAYS_ON, \, d) s' q4 F3 \" y$ \6 l
32 PSC_MDCTL_NEXT_ENABLE); \
' O; b5 E: A1 U: b 33 GPIOBank6Pin12PinMuxSetup(); \
4 I z' j1 R; t 34 GPIOBank6Pin13PinMuxSetup(); \9 V; e8 S7 n0 L2 H) n5 O9 Y7 b) `0 J$ ]
35 GPIODirModeSet(SOC_GPIO_0_REGS, 109, GPIO_DIR_OUTPUT); \3 Q6 I+ c7 g5 D' L
36 GPIODirModeSet(SOC_GPIO_0_REGS, 110, GPIO_DIR_OUTPUT); \
- x3 t4 @6 Q% K% g& k5 i 37 UARTStdioInit(); \
6 P4 Z0 G1 s5 ?2 ]0 Z9 @1 z 38 } while (0)1 G7 x5 M" G9 f7 o& L$ p
39 #else
2 }' X% u" J7 {& W' Y 40 #define LOG_INIT() do { } while (0)
( ?1 u: K/ T" c5 R 41 #endif0 M1 `( G8 Y: E/ I8 m+ i
42
. m7 w! I8 k# P0 x( m 43 /* Log Output */
9 F6 I$ `7 s8 g4 [6 p4 F; l 44 #define LOG_INFO(format, ...) \* F; e+ O' P$ \8 k) D: e( O
45 do { \0 I# v4 p# ^) x
46 OUTPUT("[%s|%s@%s,%d] " format "\n", "INFO ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
+ o8 v, i/ \! Z @3 s% O1 c: h 47 } while (0)
' A/ ]. A: \* ~% ^4 J# U 48
- u5 W2 k/ U. v0 v+ W 49 #define LOG_ERROR(format, ...) \
. B5 w/ r T/ X5 ^ 50 do { \: F$ ?* Z+ z" q: U3 ?9 O* r9 R' B: _- ]
51 OUTPUT("[%s|%s@%s,%d] " format "\n", "ERROR", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
& l& x4 S6 A; g, [! g 52 } while (0)8 V6 z8 o) Z4 [: S4 Y Q
53
4 N) d; q2 N- b7 [ 54 #define LOG_DEBUG(format, ...) \
, i4 n. f' f7 ?$ q2 r9 A H 55 do { \
?: K. m4 a+ h4 T 56 OUTPUT("[%s|%s@%s,%d] " format "\n", "DEBUG", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
2 A8 v& B6 J( \! { 57 } while (0)
: B2 P' O- E: W% ? 58 V% G! a7 j8 J& |/ [/ W
59 #define LOG_WARN(format, ...) \, _# b- I4 y0 L' L* `
60 do { \" j# i i3 o& h* ~* ^+ D
61 OUTPUT("[%s|%s@%s,%d] " format "\n", "WRAN ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \0 V; T# }1 \! {
62 } while (0)7 I( b1 h9 Q) K, W! m; F
63 ; ]+ q' ?- D. E9 F, Z
64 #define LOG_TRACE(format, ...) \4 j$ Z0 u: E( m, I; b* p0 k3 h& y' v
65 do { \* U) E9 t y" s6 Y
66 OUTPUT("[%s|%s@%s,%d] " format "\n", "TRACE", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \ {0 s+ |7 Y$ e, n
67 } while (0)
) S- |6 s ?6 V2 b 68
! i9 V" H3 A5 T% w+ g 69 #define LOG_FATAL(format, ...) \/ N) R3 y. e2 U6 i
70 do { \7 M) s- J$ d m
71 OUTPUT("[%s|%s@%s,%d] " format "\n", "FATAL", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \; w0 g! ^; C' i& M; {
72 exit(1); \1 U, P2 D0 d1 k8 O, w2 a
73 } while (0)" R% D! b5 n' r' S
74 ) i @- f' B- c. Q( E6 Q
75 /* Assert */
4 a2 y& Q# N, H# D8 x5 ~$ ? 76 #define ASSERT(EXP) \
, {! G$ u5 y1 C; ]" ^9 N 77 do{ \
' l, c# i7 y4 G 78 if (!(EXP)) { \. s. [0 `' V' ?
79 OUTPUT("[%s@%s,%d] ASSERT: " #EXP "\n", __func__, __FILE__, __LINE__ ); \! _' V( d2 M8 f" R/ S
80 exit(1); \
, |2 V8 [8 b A4 U* f/ Q 81 } \& n4 o: B0 d4 \4 ~' ^! _) F8 [
82 } while(0)) N3 E6 A2 n3 h/ l" x
83
' H- T7 W: O( w, }" P% ~ 84 #endif& ^7 ^! s& z4 w' O" d' E
|
|