Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

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

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

[複製鏈接]
跳轉到指定樓層
1#
發表於 2009-5-26 22:40:51 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
======================C2H======================
- O: x' a0 Y8 C6 ~2 M) F% W- v6 |我想把下面這一個function改成C2H來實作~( u  g: ~9 G9 X8 J4 b8 c

6 P7 O8 R2 L/ U4 R- Y2 U# f3 dbool AUDIO_DacFifoNotFull(void){# P; t: _" U! Z
    bool bReady;
* }$ _% n) e1 M- x    bReady = ((IORD(AUDIO_BASE, 5) & 0x01)?TRUE:FALSE)?FALSE:TRUE;3 L. O, K1 L  h: H
    return bReady;
! }3 R/ D" ]+ |4 D  u( _}# m, K7 l& Q2 w) a

! d7 q" W6 X: z/ @3 ]1 o, a因為直接這樣使用,C2H會不能編譯,會產生錯誤!# b& z* M) \2 f5 m
在網路找到資料說,寫成以下這樣就可以編譯囉~. y6 E- E6 P$ h. K# ~

7 E% p+ [8 ?* tbool AUDIO_DacFifoNotFull(void){' o0 ^7 t  T# z6 L- V
    bool bReady;
% G! {; n; w- z    unsigned long * au_base = (unsigned long *) AUDIO_BASE;6 }- D' `$ o% k" a5 b
    bReady = ((au_base[5] & 0x01)?TRUE:FALSE)?FALSE:TRUE;
/ a( }0 B, I$ o6 D2 k( X    return bReady;, `, `2 S  }3 p. |8 d
}
9 l7 A1 H7 Z. D! D% S# I, C9 ]* N7 }& k, h9 `
改成這樣的確可以編譯了...
" M2 @8 N, l5 ]/ `但是為什麼會動作不正確呢?
' `1 k2 w, U% x, |6 ~$ d8 F% Z$ }是因為改成C2H後,這樣寫會沒有動作嗎?
/ u6 N5 [# a5 @: V  ?2 B& L請教各位大大,要如何讓以上的程式在C2H下可以動作呢?
  x" y# m$ ^' N$ l( b " o2 a3 {6 P- M0 U4 a+ Q

: c& ~: d  p* o7 M- u4 ~- ] + e2 Z0 |; S$ O" x! D2 d# A% u
======================Profiling======================; b: A7 k/ u! I0 u( `
我使用Profiling後,產生了一個檔案...
# K* k3 D* k' ?; t6 e, x+ @' D一共有這些分類的數值 (中文是我看英文直接翻的)# q* C8 Q( h5 r! L& ~" `; t

+ a( Q0 T" }$ _+ a; z  G; vpercent Time     百分比時間
2 `8 g. U% o6 R& a0 J6 o( ]cumulative Time  累計時間' J4 j' s- D) y, u: F
self Time        自身時間+ T9 A: n( A" Z0 R
self time per call  每次呼叫花費時間/ z) Y/ ^( I' O; @" i8 b
total time per call 總計 每次呼叫花費時間
' C3 [' s2 d9 a7 P6 W
* L7 ?: ^8 _$ w! }. E+ [7 N6 ^* X請教各位大大..
7 }  Q+ C- Q7 T# ]* C) ~0 D/ l哪一個數值代表著執行時耗最大的時間呀!?! R- ]) W4 X7 h
我目前都依percent Time為依據! I6 U3 V) h1 B% k' _
想用C2H來改善執行的速度~! o& b' I" d  ^5 J3 i- I  _
請問依percent Time是正確的嗎?
# C2 t: ^- O2 `* _9 ^/ U" p
* X: {$ m/ A, Y" V5 Z( Z先感謝各位大大幫忙喔~ ^ ^
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享分享 頂 踩 分享分享
2#
發表於 2009-5-26 23:57:10 | 只看該作者
需要軟體的C達人來幫忙嗎
3#
 樓主| 發表於 2009-5-27 00:04:02 | 只看該作者
真糟糕..我最重要的部分忘了講了 1 m+ T7 r  S4 p8 \) K1 A$ [
這個是 Altera 提供的 NIOS II 裡的東西~' E8 R$ ~' V+ d* x+ \9 W) I
C2H是 Altera公司所提供軟體轉硬體實作的一種編譯器 @@: O* q5 ~( @, b: T
我問的問題都是NIOS II程式下的東西~* N+ U$ X6 b8 `
不好意思上面沒講清楚 >"<
/ ^+ n" [' O& v+ H( k請各位大大幫忙囉~
4#
發表於 2009-6-4 15:04:13 | 只看該作者
AUDIO_BASE是個public變數, 你沒放上來型態我也不清楚
! A8 s4 ~9 x7 b) Q  iunsigned long * au_base是一個32 bits的指標位置指向跟AUDIO_BASE同一個地方1 b$ F/ m9 f1 d$ o/ M8 l. b% _
(在NIOS-II內, long是32 bits沒錯吧)7 [+ I2 W2 f% Q2 P9 S6 a
所以au_base[5]所指向的是(char)AUDIO_BASE + 5x4的地方: h0 h" ~1 W1 m. C8 A
如果AUDIO_BASE本身也是一個 long的指標的話, 有問題的就只是IORD這個 function 跟cache manager的問題# E1 F3 H& J  v8 u0 H- |' D2 r+ I! D
否則, 不同長度的指標型態互轉, 設計者必須自己計算新的offset才行
5#
發表於 2009-6-4 15:08:33 | 只看該作者
percent Time     指的是這個function call消耗系統平均時間, 愈高表示執行這個function call占用系統時間愈多, 在分析系統效能時, 確實是個很重要的指標
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2024-4-29 05:39 PM , Processed in 0.106006 second(s), 17 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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