Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

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

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

[複製鏈接]
跳轉到指定樓層
1#
發表於 2009-5-26 22:40:51 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
======================C2H======================3 F9 L! W$ m5 l  A% A0 Y+ y8 X8 _
我想把下面這一個function改成C2H來實作~
9 K8 L8 b/ ^+ k! d. e( y0 X% h. A2 e" _1 ?( X5 S& y. r
bool AUDIO_DacFifoNotFull(void){* |' k4 }( s: s8 T6 T
    bool bReady;* y6 Q, H& B8 a
    bReady = ((IORD(AUDIO_BASE, 5) & 0x01)?TRUE:FALSE)?FALSE:TRUE;9 a/ H, M% q% l- m( V1 i
    return bReady;
2 I2 l4 A) A& A4 T  H, @# |}  O7 E9 L- y2 {2 a/ E

: \3 V( b: h+ y. A/ ?因為直接這樣使用,C2H會不能編譯,會產生錯誤!; g% C" R6 d) w4 d( }( x
在網路找到資料說,寫成以下這樣就可以編譯囉~( I8 v# b, x. X4 s
0 @6 ~- l- G9 V5 L/ n( I6 |
bool AUDIO_DacFifoNotFull(void){
- [+ L# o5 W( f! B2 G# c% |& R    bool bReady;$ Q4 J9 J3 h4 t9 M5 L, g9 Q
    unsigned long * au_base = (unsigned long *) AUDIO_BASE;
! S+ h; c2 T6 P    bReady = ((au_base[5] & 0x01)?TRUE:FALSE)?FALSE:TRUE;
2 ?) o/ ]. K; k0 l1 P    return bReady;
0 l3 k2 t3 G+ v% ^6 s: x}8 l* r! W, k2 S) k1 r( o

8 Z/ x, g/ `8 ^( T改成這樣的確可以編譯了...4 U  H- f& M$ B* v- G( b
但是為什麼會動作不正確呢?0 _  h- U1 I; x5 J) \' f3 M8 p9 P& A
是因為改成C2H後,這樣寫會沒有動作嗎?
& v" W# O+ ~; c請教各位大大,要如何讓以上的程式在C2H下可以動作呢?+ Z- ]3 ~+ M) P7 ]! s$ }! z! y) ~  X

$ B4 h% z8 F5 s: F2 G9 X: a8 P : m2 O- v0 K+ E6 w( K) [, O
8 K0 w, b' [5 P0 D9 Z
======================Profiling======================* z; M+ Q. M+ x
我使用Profiling後,產生了一個檔案...
/ _5 s- w2 ]( c7 a一共有這些分類的數值 (中文是我看英文直接翻的)/ h1 Q2 U8 D' C  q7 n

/ T0 Y4 C) x; qpercent Time     百分比時間
2 M7 ?% z( K1 ^% m$ v( Ncumulative Time  累計時間
1 _, f- ?+ Q7 ]; a! {self Time        自身時間$ p0 A0 ^: @7 g; ?" g
self time per call  每次呼叫花費時間0 M. _  w! ^# f/ ?. z3 b
total time per call 總計 每次呼叫花費時間6 [; T) x1 m. i# c2 M
& _. z- p$ P! c) ^) t
請教各位大大..4 I8 n6 W( a. B0 I  }6 r# y
哪一個數值代表著執行時耗最大的時間呀!?: ?+ J1 V6 P5 \. o
我目前都依percent Time為依據
  L  Z" {6 ^' X4 o( V' O" F想用C2H來改善執行的速度~
! {" a* v" E0 U. B9 |2 }3 v請問依percent Time是正確的嗎?* \/ v7 o$ e! @' i6 Q
- C: F7 z! S2 [: g
先感謝各位大大幫忙喔~ ^ ^
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享分享 頂 踩 分享分享
2#
發表於 2009-5-26 23:57:10 | 只看該作者
需要軟體的C達人來幫忙嗎
3#
 樓主| 發表於 2009-5-27 00:04:02 | 只看該作者
真糟糕..我最重要的部分忘了講了
# v- b5 H' h2 k$ k* z, O這個是 Altera 提供的 NIOS II 裡的東西~
, ~7 N1 W* Q3 p" [/ t5 }/ aC2H是 Altera公司所提供軟體轉硬體實作的一種編譯器 @@
6 T) a% u5 H0 `- z0 m" s7 `我問的問題都是NIOS II程式下的東西~  V; \: b9 @% l8 Q
不好意思上面沒講清楚 >"<: `" o0 h: c1 ?9 H  l2 i# w
請各位大大幫忙囉~
4#
發表於 2009-6-4 15:04:13 | 只看該作者
AUDIO_BASE是個public變數, 你沒放上來型態我也不清楚
9 R# I. l* O0 P4 [- f1 Z: T1 Xunsigned long * au_base是一個32 bits的指標位置指向跟AUDIO_BASE同一個地方
: b- B6 s4 p# `4 T" P$ I(在NIOS-II內, long是32 bits沒錯吧)0 O, x" Y+ O) o  N  L% t# @+ P
所以au_base[5]所指向的是(char)AUDIO_BASE + 5x4的地方- u5 {6 V1 ~# t
如果AUDIO_BASE本身也是一個 long的指標的話, 有問題的就只是IORD這個 function 跟cache manager的問題
0 P. k: c+ q& c% a% x1 v否則, 不同長度的指標型態互轉, 設計者必須自己計算新的offset才行
5#
發表於 2009-6-4 15:08:33 | 只看該作者
percent Time     指的是這個function call消耗系統平均時間, 愈高表示執行這個function call占用系統時間愈多, 在分析系統效能時, 確實是個很重要的指標
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2024-6-5 09:54 AM , Processed in 0.117015 second(s), 18 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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