Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

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

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

[複製鏈接]
跳轉到指定樓層
1#
發表於 2009-5-26 22:40:51 | 只看該作者 回帖獎勵 |正序瀏覽 |閱讀模式
======================C2H======================
* t7 e0 Q% H) p/ I. ^我想把下面這一個function改成C2H來實作~  }9 s3 v2 R; `! r; O* _% [, I' h
$ m+ u/ v) L; `
bool AUDIO_DacFifoNotFull(void){1 ]/ X: b: w* ]7 ^$ Y
    bool bReady;6 ~6 ^/ D7 C: |& J8 Q
    bReady = ((IORD(AUDIO_BASE, 5) & 0x01)?TRUE:FALSE)?FALSE:TRUE;  k' A- g, z) s/ r8 r  U( l
    return bReady;
, E4 R6 L( V. L+ _7 \! h, k}
/ Q/ G# E# I9 E& p/ ]" p$ O
' W' E7 W7 T; o; E) a/ q因為直接這樣使用,C2H會不能編譯,會產生錯誤!) N6 S' K& C: A$ l. `
在網路找到資料說,寫成以下這樣就可以編譯囉~
: k, ?" d! D1 X# b, s
6 ~4 M! Y8 ^/ Z0 E  ?3 u% I& O& hbool AUDIO_DacFifoNotFull(void){8 G( f1 D9 E% ^8 Z8 v
    bool bReady;
6 B4 v9 |3 ]6 P) ~/ ^    unsigned long * au_base = (unsigned long *) AUDIO_BASE;* ^3 R/ r6 N6 A9 r3 A5 ?
    bReady = ((au_base[5] & 0x01)?TRUE:FALSE)?FALSE:TRUE;
" y2 m+ V6 R0 j' N: p' ^    return bReady;
8 Z5 M5 F& N' [" {& i}! U9 h, W* L" h1 f" d
  G' [+ ?4 j2 a9 o8 }
改成這樣的確可以編譯了...
" K# @8 J" L9 |1 R9 Y7 m) j+ p3 F但是為什麼會動作不正確呢?. [0 t% N* W1 L7 `- W" G
是因為改成C2H後,這樣寫會沒有動作嗎?4 s: Y( k  O( H- e2 g7 K8 O1 }
請教各位大大,要如何讓以上的程式在C2H下可以動作呢?
- w) g. K/ E9 b4 W
4 F- D/ J  m5 r) O- I7 c9 F* V , U' p2 [, _# D8 r

' t5 d% R$ F! w+ _( B2 q======================Profiling======================# B# b; V3 }* S8 S
我使用Profiling後,產生了一個檔案...
2 V7 n& m5 O5 z$ ]9 _  i一共有這些分類的數值 (中文是我看英文直接翻的)
4 ], k3 U) l5 ?0 h; w* Y2 [
1 {6 B1 \/ M* v( kpercent Time     百分比時間
5 o8 p3 }& x0 x2 p$ r; Z, L1 Acumulative Time  累計時間
* K$ _3 a8 {8 Xself Time        自身時間( Q: C; e, `/ ]* W* k0 E; j
self time per call  每次呼叫花費時間  b( _) v( ]0 t- _4 F/ {7 F+ p7 i
total time per call 總計 每次呼叫花費時間7 p9 X+ l6 a& y. ?
8 H0 S7 H8 r' ~7 L9 ^5 s; W' S
請教各位大大..& s) \% D1 ~- K' f! i7 ^$ S9 ]0 f
哪一個數值代表著執行時耗最大的時間呀!?
& W4 j  u3 z; e- o" ?5 D我目前都依percent Time為依據; X; c: ^6 G3 Y4 S, Y' o1 j( _9 w
想用C2H來改善執行的速度~
# J2 b5 _3 t) w" A$ L8 C! k. R請問依percent Time是正確的嗎?
. Z4 A- Y8 d6 A& j) W
7 R  w) }. z2 M4 }& I+ a先感謝各位大大幫忙喔~ ^ ^
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享分享 頂 踩 分享分享
5#
發表於 2009-6-4 15:08:33 | 只看該作者
percent Time     指的是這個function call消耗系統平均時間, 愈高表示執行這個function call占用系統時間愈多, 在分析系統效能時, 確實是個很重要的指標
4#
發表於 2009-6-4 15:04:13 | 只看該作者
AUDIO_BASE是個public變數, 你沒放上來型態我也不清楚+ j8 }8 J: `9 X( Z1 {$ F& u
unsigned long * au_base是一個32 bits的指標位置指向跟AUDIO_BASE同一個地方/ q  q$ n4 |( P+ a( T/ `7 a
(在NIOS-II內, long是32 bits沒錯吧). d6 ?# F2 E; q
所以au_base[5]所指向的是(char)AUDIO_BASE + 5x4的地方
/ _* O; R0 [& Q" \; X9 O如果AUDIO_BASE本身也是一個 long的指標的話, 有問題的就只是IORD這個 function 跟cache manager的問題
6 f8 l/ C+ w5 s* W9 F否則, 不同長度的指標型態互轉, 設計者必須自己計算新的offset才行
3#
 樓主| 發表於 2009-5-27 00:04:02 | 只看該作者
真糟糕..我最重要的部分忘了講了 5 Z, B; `  R9 ], U( M- s
這個是 Altera 提供的 NIOS II 裡的東西~' u8 C8 f5 x# e9 M
C2H是 Altera公司所提供軟體轉硬體實作的一種編譯器 @@3 b+ F" `! Q2 C# m6 C
我問的問題都是NIOS II程式下的東西~
7 G" Z; X4 S2 B' L/ b& t不好意思上面沒講清楚 >"<+ n+ b% \4 L5 d; [
請各位大大幫忙囉~
2#
發表於 2009-5-26 23:57:10 | 只看該作者
需要軟體的C達人來幫忙嗎
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2024-5-16 06:49 AM , Processed in 0.104513 second(s), 18 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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