|
======================C2H======================- d& @: x" h& W
我想把下面這一個function改成C2H來實作~
( K& M; _* i( |( _5 [1 K5 r3 q7 \& p3 a; P9 F. q6 |1 w( \
bool AUDIO_DacFifoNotFull(void){
0 e3 `. |) Y B! f- I, B x bool bReady;
% |% C7 S; a% c9 q bReady = ((IORD(AUDIO_BASE, 5) & 0x01)?TRUE:FALSE)?FALSE:TRUE;8 z8 C% x7 y# J
return bReady;
" _* p0 m. I' I5 |0 Q& V o}
$ |! o; S: U( v# Q* ^' k. W! R8 H4 @0 ~) g3 I! n
因為直接這樣使用,C2H會不能編譯,會產生錯誤!
$ G: @5 C# Z% I) z5 {在網路找到資料說,寫成以下這樣就可以編譯囉~
% e) C3 N( }% c0 |$ c% S- E' z; H; X- S
bool AUDIO_DacFifoNotFull(void){2 i$ P+ X$ k% ~! Y: D) i
bool bReady;( e: S) M' Y% [0 E" N( q+ y
unsigned long * au_base = (unsigned long *) AUDIO_BASE;% W+ H/ ^5 I" E& g/ a
bReady = ((au_base[5] & 0x01)?TRUE:FALSE)?FALSE:TRUE;1 R$ f+ o# A% @+ `. z# Z2 K
return bReady;
9 v8 J( k6 H( l8 c# d+ B& M}/ N. K- S* a# W
8 I$ ^/ z7 o3 U& Z9 p6 f$ j4 d改成這樣的確可以編譯了...
; z( q3 F5 D+ h, p$ a5 t但是為什麼會動作不正確呢?
6 n! m* t/ {4 N [7 R9 s$ f是因為改成C2H後,這樣寫會沒有動作嗎?
- G# S8 W p" c2 @請教各位大大,要如何讓以上的程式在C2H下可以動作呢?
6 u" Z9 s' \* h$ \( l6 F' j, [
+ j5 a& Q0 Z) `3 g8 J* B0 ]
6 H6 y M, M1 T7 d
( S/ _# X- G1 j! U2 G0 n======================Profiling======================' |* E3 s+ {; y- g" | g
我使用Profiling後,產生了一個檔案...
: f; |$ v6 q8 F: ~; ]! N) `一共有這些分類的數值 (中文是我看英文直接翻的)
3 [) F1 I" ^8 v G
4 K6 g! |$ B' ^, ?/ k% Lpercent Time 百分比時間
6 d; T6 @( x/ ~8 I9 M$ i- Icumulative Time 累計時間
3 r: `: s; {* Dself Time 自身時間6 C3 k) V1 N7 m" V8 R
self time per call 每次呼叫花費時間6 K0 j' }. T' q$ T
total time per call 總計 每次呼叫花費時間+ o3 D2 d x3 L6 }: ^( Z' S. H8 D
l+ l [8 J( o3 f: ]1 u" j請教各位大大..$ F, h& p0 K: o f- b- R
哪一個數值代表著執行時耗最大的時間呀!?, }# O* h3 d7 c: l- I8 L4 e
我目前都依percent Time為依據1 [4 X. y" R6 F5 L
想用C2H來改善執行的速度~% B/ ~3 b/ {, d0 {# a
請問依percent Time是正確的嗎?
7 e* \# P! ~% D6 Y; \7 q/ ^7 x3 b+ I4 d) A) W" V
先感謝各位大大幫忙喔~ ^ ^ |
|