Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

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

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

[複製鏈接]
跳轉到指定樓層
1#
發表於 2009-5-26 22:40:51 | 只看該作者 回帖獎勵 |正序瀏覽 |閱讀模式
======================C2H======================, `' q, q# p+ i' G6 H7 [
我想把下面這一個function改成C2H來實作~
8 ^! M4 Q6 F% y) D
1 T, X' y; W3 R8 F9 Z+ Jbool AUDIO_DacFifoNotFull(void){
8 A# v! `" ^5 C9 K0 T    bool bReady;9 [2 g+ `9 T5 G: {  F3 P# z
    bReady = ((IORD(AUDIO_BASE, 5) & 0x01)?TRUE:FALSE)?FALSE:TRUE;4 O. J5 C# P5 e) x/ |! p
    return bReady;
3 a/ v$ T. P9 }: @# b- E}, b4 G' s: H- T" L( l/ [
8 R% j/ K4 S1 b* _! v; w: k9 v0 X
因為直接這樣使用,C2H會不能編譯,會產生錯誤!
0 v: B+ a& R: w9 `9 Y) Y- a# o0 H在網路找到資料說,寫成以下這樣就可以編譯囉~
2 I0 n# @& T6 H, P. E5 U; X7 F! I& R- y& j' h* ^2 E
bool AUDIO_DacFifoNotFull(void){
$ @6 Q7 r& k! ~! A: S; ?4 O    bool bReady;) o4 Y4 P$ e; I2 ^4 b, g9 `* Y
    unsigned long * au_base = (unsigned long *) AUDIO_BASE;
& ]5 C' D! K4 ^  f0 b- `+ O    bReady = ((au_base[5] & 0x01)?TRUE:FALSE)?FALSE:TRUE;8 L- z3 V9 A$ {% E# s
    return bReady;, k# t) Q: S' ^4 m. T
}
! ]/ |; L5 D' M9 A4 Q& f8 k1 g* X, C
改成這樣的確可以編譯了...
' X3 i+ I4 X5 ?* p' d但是為什麼會動作不正確呢?% v3 M9 ~* n3 J! M7 Y9 D, M9 x7 d; X
是因為改成C2H後,這樣寫會沒有動作嗎?# E; q$ U" K* x
請教各位大大,要如何讓以上的程式在C2H下可以動作呢?) L( h' V$ i% f- {6 l; S; _9 f4 R
& F* t3 s) {& J7 s1 S+ J& A9 M2 O' H

# X7 m3 h5 m  ~* r8 V # f" ?0 ?* ~1 V! `! R; \. ~
======================Profiling======================. P/ @  |, h5 a6 X+ |
我使用Profiling後,產生了一個檔案...
7 E$ n- ]/ s& D) _; c, _) G3 ^一共有這些分類的數值 (中文是我看英文直接翻的)
9 C! n% \; Q$ u7 o, U" I- l# F
1 g( P/ N" m% x. [: M! C4 {) Gpercent Time     百分比時間) j0 i( I; [" l* I* p  y" D& k
cumulative Time  累計時間
. U1 k& w4 f& J3 g1 zself Time        自身時間
, _: e& R0 Y/ H8 dself time per call  每次呼叫花費時間$ H+ O$ [- Q, C* i
total time per call 總計 每次呼叫花費時間
; {3 ^! q7 M( H: I8 ~9 D
  X. H3 o1 G% M( m& Z8 z# m請教各位大大..
# V- ]' J3 l2 }6 `" `( y3 H2 S3 C" U8 E哪一個數值代表著執行時耗最大的時間呀!?- D( r+ r# [( i: B1 W/ }
我目前都依percent Time為依據
; f& B" Y3 |0 K$ c& |# Z9 M想用C2H來改善執行的速度~( N9 g/ L2 r: d* V
請問依percent Time是正確的嗎?- S; r3 |! r' H2 S
6 v1 J' s- Z, i, y/ R
先感謝各位大大幫忙喔~ ^ ^
分享到:  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變數, 你沒放上來型態我也不清楚1 t' g( i2 @3 n0 w# z$ e( V
unsigned long * au_base是一個32 bits的指標位置指向跟AUDIO_BASE同一個地方% [; k6 C! v' ]) c
(在NIOS-II內, long是32 bits沒錯吧)
8 G8 V% c# z- J# R5 _( K所以au_base[5]所指向的是(char)AUDIO_BASE + 5x4的地方
- B! B+ A- b/ K( }( t$ Q7 H如果AUDIO_BASE本身也是一個 long的指標的話, 有問題的就只是IORD這個 function 跟cache manager的問題( m- R5 E& R3 o5 {% p+ C: L
否則, 不同長度的指標型態互轉, 設計者必須自己計算新的offset才行
3#
 樓主| 發表於 2009-5-27 00:04:02 | 只看該作者
真糟糕..我最重要的部分忘了講了
* h3 e7 @) z2 f/ d/ Y% {# E  h% r這個是 Altera 提供的 NIOS II 裡的東西~$ T$ x9 l* ?& Y* w. W
C2H是 Altera公司所提供軟體轉硬體實作的一種編譯器 @@# R% E% c! b1 M1 G
我問的問題都是NIOS II程式下的東西~' X) K2 a, o0 r, O: N
不好意思上面沒講清楚 >"<
# ~+ Y, d" ?( a請各位大大幫忙囉~
2#
發表於 2009-5-26 23:57:10 | 只看該作者
需要軟體的C達人來幫忙嗎
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2024-5-19 03:48 AM , Processed in 0.109014 second(s), 19 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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