Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

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

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

[複製鏈接]
跳轉到指定樓層
1#
發表於 2009-5-26 22:40:51 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
======================C2H======================
+ m& `) }/ \0 V" L, t( h9 p我想把下面這一個function改成C2H來實作~
& E, l0 a7 x5 V5 K
" ~2 ]+ m& x  \$ ~; S$ p, b1 Pbool AUDIO_DacFifoNotFull(void){' s" N* E$ _! G# E0 R' N
    bool bReady;
, ~0 c- G! O4 u& z7 N& E4 i& ~    bReady = ((IORD(AUDIO_BASE, 5) & 0x01)?TRUE:FALSE)?FALSE:TRUE;
) `6 D5 Z$ w2 C) x+ y    return bReady;9 q; s7 W9 E# i
}5 h! N, o2 K/ R2 w: f  T
! |- h& T+ O0 d" @: \9 U& p# h
因為直接這樣使用,C2H會不能編譯,會產生錯誤!; G7 i7 b  G1 A0 T
在網路找到資料說,寫成以下這樣就可以編譯囉~3 e' f5 E  u* [
# ]6 t4 q; b& [
bool AUDIO_DacFifoNotFull(void){
) p! f! x  R9 W$ b5 Y$ n+ `    bool bReady;
  I; v: }8 K( W1 L" L$ {    unsigned long * au_base = (unsigned long *) AUDIO_BASE;
+ r: X6 p: D% G$ y# i) y8 ^2 G    bReady = ((au_base[5] & 0x01)?TRUE:FALSE)?FALSE:TRUE;& i$ u1 p4 p5 J! O6 }1 }
    return bReady;6 R* o5 U! e6 K( f3 W; G( k: @
}$ Q4 _( W# P2 o( @7 S2 j$ d3 p
; y8 Y; W# K' Y5 H# T. G
改成這樣的確可以編譯了...7 p6 c$ z% U. P5 y
但是為什麼會動作不正確呢?
, V- t1 O+ }) h是因為改成C2H後,這樣寫會沒有動作嗎?. x2 }: ]9 U0 w0 h; q* E9 {5 h/ H
請教各位大大,要如何讓以上的程式在C2H下可以動作呢?2 S7 Q3 {  f( }, ~  B* F8 l
+ a; }1 ~$ J9 n, \; |: C0 K2 Y
3 K$ X( n4 I$ P5 N( P: z$ p" j
$ V1 R2 s' `" p" _4 z- y0 [' E$ {
======================Profiling======================+ r8 Q3 E* X+ q4 F
我使用Profiling後,產生了一個檔案...3 J  S$ A! P' d6 z3 {
一共有這些分類的數值 (中文是我看英文直接翻的): Z! V1 g! k% J4 \3 l6 Q

/ ~$ t: l! K4 H- F1 apercent Time     百分比時間# P% K' u/ D' @6 r5 E! U
cumulative Time  累計時間
9 N0 t% s9 R- T6 @" m2 Mself Time        自身時間
; F; B3 r  j% V) f$ O: f1 Rself time per call  每次呼叫花費時間
  e, s7 n& x  Jtotal time per call 總計 每次呼叫花費時間
4 Z9 G) n+ ^2 @2 g
5 o; d( h7 I. d2 v; K6 I3 a1 r請教各位大大..
2 o' c0 t: j+ ]1 ?% w+ m9 z2 E' T& c3 N哪一個數值代表著執行時耗最大的時間呀!?; ~0 I' m) F3 c* X  c
我目前都依percent Time為依據
, u5 s4 N+ G1 H$ X7 `, p* o5 @想用C2H來改善執行的速度~
1 N+ B# A' s, k0 q. r請問依percent Time是正確的嗎?  A) e9 P% X" V! d; q1 s4 ?

, K# X& M, b( s# A* s! U; M9 Z先感謝各位大大幫忙喔~ ^ ^
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享分享 頂 踩 分享分享
2#
發表於 2009-5-26 23:57:10 | 只看該作者
需要軟體的C達人來幫忙嗎
3#
 樓主| 發表於 2009-5-27 00:04:02 | 只看該作者
真糟糕..我最重要的部分忘了講了
5 e- m. L# B1 m$ X# U, v這個是 Altera 提供的 NIOS II 裡的東西~- N& c7 }/ |5 W7 y
C2H是 Altera公司所提供軟體轉硬體實作的一種編譯器 @@
2 T( M# o& |, Z' N/ q我問的問題都是NIOS II程式下的東西~3 |3 E1 P/ W6 f3 d7 o
不好意思上面沒講清楚 >"<7 w5 }- K, H/ X0 Q# D8 `# ]( a6 z3 ?7 |
請各位大大幫忙囉~
4#
發表於 2009-6-4 15:04:13 | 只看該作者
AUDIO_BASE是個public變數, 你沒放上來型態我也不清楚
: X  c2 M; S$ iunsigned long * au_base是一個32 bits的指標位置指向跟AUDIO_BASE同一個地方
) l+ L5 M& A$ W, x8 e(在NIOS-II內, long是32 bits沒錯吧)* p% [2 t: r0 {, m/ }% ^9 R
所以au_base[5]所指向的是(char)AUDIO_BASE + 5x4的地方
: ^: e+ b- s1 u) K9 i3 n如果AUDIO_BASE本身也是一個 long的指標的話, 有問題的就只是IORD這個 function 跟cache manager的問題
- x; h) D7 M8 Y* Z$ z& ]否則, 不同長度的指標型態互轉, 設計者必須自己計算新的offset才行
5#
發表於 2009-6-4 15:08:33 | 只看該作者
percent Time     指的是這個function call消耗系統平均時間, 愈高表示執行這個function call占用系統時間愈多, 在分析系統效能時, 確實是個很重要的指標
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2024-9-26 12:32 PM , Processed in 0.170010 second(s), 18 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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