Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

搜索
1 2 3 4
查看: 3782|回復: 4
打印 上一主題 下一主題

[問題求助] C2H與Profiling的疑問

[複製鏈接]
跳轉到指定樓層
1#
發表於 2009-5-26 22:40:51 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
======================C2H======================
: ?* o# x! n: R6 J' ^我想把下面這一個function改成C2H來實作~* I7 i8 l( y; `! }

, m4 t4 N: n; C3 qbool AUDIO_DacFifoNotFull(void){; m$ c6 u' G  k4 }6 I0 m
    bool bReady;
  f- w/ w. {$ _1 ~5 G! t( s7 _    bReady = ((IORD(AUDIO_BASE, 5) & 0x01)?TRUE:FALSE)?FALSE:TRUE;
; n" L! ^% q6 z, v* A    return bReady;
7 W* v' G  d3 g8 w}1 O" I9 T& U0 X0 t4 z" D
% Q& c9 A; T& C) z& d, V
因為直接這樣使用,C2H會不能編譯,會產生錯誤!9 _; [8 G8 W8 ?9 ?
在網路找到資料說,寫成以下這樣就可以編譯囉~' n# I" t% B6 Y0 j; W- a

5 ~- z6 a  X- t: ~bool AUDIO_DacFifoNotFull(void){2 O% P  |9 z( P* ]  K
    bool bReady;5 T0 N: e& |) p1 d
    unsigned long * au_base = (unsigned long *) AUDIO_BASE;
: a9 P  u/ L- y2 I/ D4 ~1 f5 F* i    bReady = ((au_base[5] & 0x01)?TRUE:FALSE)?FALSE:TRUE;
4 s% y, I- v! ?1 E    return bReady;  w' g9 ]9 V3 ]/ a, E; y
}! k, P. |7 }, f' }, Z! e% H# L
) U( m9 U, b- b6 C
改成這樣的確可以編譯了...
( _9 k: s4 P2 ~7 }但是為什麼會動作不正確呢?
. H; ^! d  J5 |* Q- M" s是因為改成C2H後,這樣寫會沒有動作嗎?! E+ }% r7 F. h8 c& h
請教各位大大,要如何讓以上的程式在C2H下可以動作呢?' j- e) K, X+ f6 ^  I% J
. ]+ y* M0 X3 M& K5 g3 c+ y1 g

0 a4 s) i7 r5 W7 r' u; r
5 D- J) q# b* [) P! a3 q% O======================Profiling======================! u4 X# z, h; f# c
我使用Profiling後,產生了一個檔案...
3 a  U" \  t) L! V( g一共有這些分類的數值 (中文是我看英文直接翻的)1 b* y) _& K1 f) X! K+ G* ~

% O9 q' K9 w  ?$ Spercent Time     百分比時間. ~; Y6 [# L/ F; y  n5 B
cumulative Time  累計時間
7 w* h' m# A7 M- k0 c0 u: d& U) Kself Time        自身時間& d7 k3 V& v3 P& y2 u% R
self time per call  每次呼叫花費時間
, `# P- F9 o( l7 s6 `+ y& u, r: ]total time per call 總計 每次呼叫花費時間
6 h( B5 ^% D" Y4 p- z) c3 `) a, C. C( L4 Z3 ^% s6 @0 G7 q7 {
請教各位大大..* {: X7 d6 U1 |3 ~' U9 b# l
哪一個數值代表著執行時耗最大的時間呀!?* x- l" U/ b7 @( q1 D% @
我目前都依percent Time為依據0 Q7 `; i- n$ {0 ]
想用C2H來改善執行的速度~
+ c- K9 q2 A- s+ s9 ^5 m. b請問依percent Time是正確的嗎?
. K/ P) Z- L0 k! y
9 W+ M* V1 ?8 ~  C先感謝各位大大幫忙喔~ ^ ^
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享分享 頂 踩 分享分享
2#
發表於 2009-5-26 23:57:10 | 只看該作者
需要軟體的C達人來幫忙嗎
3#
 樓主| 發表於 2009-5-27 00:04:02 | 只看該作者
真糟糕..我最重要的部分忘了講了
4 Q$ E. `# H& j3 y這個是 Altera 提供的 NIOS II 裡的東西~
& {7 H2 R  h3 N& o& wC2H是 Altera公司所提供軟體轉硬體實作的一種編譯器 @@
: O/ D$ p7 k% [+ N0 @: t" _我問的問題都是NIOS II程式下的東西~* Q' j* L$ m9 Z- w& r
不好意思上面沒講清楚 >"<
! L& M) h# G' C. s請各位大大幫忙囉~
4#
發表於 2009-6-4 15:04:13 | 只看該作者
AUDIO_BASE是個public變數, 你沒放上來型態我也不清楚2 F0 g4 ^" o- J0 B( z8 d
unsigned long * au_base是一個32 bits的指標位置指向跟AUDIO_BASE同一個地方9 ~9 T; B4 o% u6 b
(在NIOS-II內, long是32 bits沒錯吧)
0 L# C  Z4 b& K: D$ w所以au_base[5]所指向的是(char)AUDIO_BASE + 5x4的地方2 m$ x7 a4 G, _( ~
如果AUDIO_BASE本身也是一個 long的指標的話, 有問題的就只是IORD這個 function 跟cache manager的問題
* i* ?0 _! e+ b. H' e, n  p否則, 不同長度的指標型態互轉, 設計者必須自己計算新的offset才行
5#
發表於 2009-6-4 15:08:33 | 只看該作者
percent Time     指的是這個function call消耗系統平均時間, 愈高表示執行這個function call占用系統時間愈多, 在分析系統效能時, 確實是個很重要的指標
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

首頁|手機版|Chip123 科技應用創新平台 |新契機國際商機整合股份有限公司

GMT+8, 2024-5-31 09:47 PM , Processed in 0.107014 second(s), 18 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回復 返回頂部 返回列表