Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

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

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

[複製鏈接]
跳轉到指定樓層
1#
發表於 2009-5-26 22:40:51 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
======================C2H======================- d& @: x" h& W
我想把下面這一個function改成C2H來實作~
( K& M; _* i( |( _5 [1 K5 r3 q7 \& p3 a; P9 F. q6 |1 w( \
bool AUDIO_DacFifoNotFull(void){
0 e3 `. |) Y  B! f- I, B  x    bool bReady;
% |% C7 S; a% c9 q    bReady = ((IORD(AUDIO_BASE, 5) & 0x01)?TRUE:FALSE)?FALSE:TRUE;8 z8 C% x7 y# J
    return bReady;
" _* p0 m. I' I5 |0 Q& V  o}
$ |! o; S: U( v# Q* ^' k. W! R8 H4 @0 ~) g3 I! n
因為直接這樣使用,C2H會不能編譯,會產生錯誤!
$ G: @5 C# Z% I) z5 {在網路找到資料說,寫成以下這樣就可以編譯囉~
% e) C3 N( }% c0 |$ c% S- E' z; H; X- S
bool AUDIO_DacFifoNotFull(void){2 i$ P+ X$ k% ~! Y: D) i
    bool bReady;( e: S) M' Y% [0 E" N( q+ y
    unsigned long * au_base = (unsigned long *) AUDIO_BASE;% W+ H/ ^5 I" E& g/ a
    bReady = ((au_base[5] & 0x01)?TRUE:FALSE)?FALSE:TRUE;1 R$ f+ o# A% @+ `. z# Z2 K
    return bReady;
9 v8 J( k6 H( l8 c# d+ B& M}/ N. K- S* a# W

8 I$ ^/ z7 o3 U& Z9 p6 f$ j4 d改成這樣的確可以編譯了...
; z( q3 F5 D+ h, p$ a5 t但是為什麼會動作不正確呢?
6 n! m* t/ {4 N  [7 R9 s$ f是因為改成C2H後,這樣寫會沒有動作嗎?
- G# S8 W  p" c2 @請教各位大大,要如何讓以上的程式在C2H下可以動作呢?
6 u" Z9 s' \* h$ \( l6 F' j, [
+ j5 a& Q0 Z) `3 g8 J* B0 ]
6 H6 y  M, M1 T7 d
( S/ _# X- G1 j! U2 G0 n======================Profiling======================' |* E3 s+ {; y- g" |  g
我使用Profiling後,產生了一個檔案...
: f; |$ v6 q8 F: ~; ]! N) `一共有這些分類的數值 (中文是我看英文直接翻的)
3 [) F1 I" ^8 v  G
4 K6 g! |$ B' ^, ?/ k% Lpercent Time     百分比時間
6 d; T6 @( x/ ~8 I9 M$ i- Icumulative Time  累計時間
3 r: `: s; {* Dself Time        自身時間6 C3 k) V1 N7 m" V8 R
self time per call  每次呼叫花費時間6 K0 j' }. T' q$ T
total time per call 總計 每次呼叫花費時間+ o3 D2 d  x3 L6 }: ^( Z' S. H8 D

  l+ l  [8 J( o3 f: ]1 u" j請教各位大大..$ F, h& p0 K: o  f- b- R
哪一個數值代表著執行時耗最大的時間呀!?, }# O* h3 d7 c: l- I8 L4 e
我目前都依percent Time為依據1 [4 X. y" R6 F5 L
想用C2H來改善執行的速度~% B/ ~3 b/ {, d0 {# a
請問依percent Time是正確的嗎?
7 e* \# P! ~% D6 Y; \7 q/ ^7 x3 b+ I4 d) A) W" V
先感謝各位大大幫忙喔~ ^ ^
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享分享 頂 踩 分享分享
2#
發表於 2009-5-26 23:57:10 | 只看該作者
需要軟體的C達人來幫忙嗎
3#
 樓主| 發表於 2009-5-27 00:04:02 | 只看該作者
真糟糕..我最重要的部分忘了講了 0 o. i  U1 g0 \) x4 E4 s' U1 q3 l7 `
這個是 Altera 提供的 NIOS II 裡的東西~
0 [" k- K! T# U( P4 A( x, zC2H是 Altera公司所提供軟體轉硬體實作的一種編譯器 @@
) Y- K( \+ @3 h$ o9 ~6 Q/ G我問的問題都是NIOS II程式下的東西~; @' n. z- s. r/ k# W9 ]9 K
不好意思上面沒講清楚 >"<
+ N: P- G9 @' [. U$ F2 h: {! H/ w請各位大大幫忙囉~
4#
發表於 2009-6-4 15:04:13 | 只看該作者
AUDIO_BASE是個public變數, 你沒放上來型態我也不清楚
' U0 h7 I9 c- Xunsigned long * au_base是一個32 bits的指標位置指向跟AUDIO_BASE同一個地方
( j* K) m" S0 W5 ^, ^(在NIOS-II內, long是32 bits沒錯吧)
( d% x# m3 h4 x9 U8 Q: C所以au_base[5]所指向的是(char)AUDIO_BASE + 5x4的地方5 a" F5 S0 ?- A# v! R+ U
如果AUDIO_BASE本身也是一個 long的指標的話, 有問題的就只是IORD這個 function 跟cache manager的問題' |5 D. O- R/ {1 `7 Q! B1 j
否則, 不同長度的指標型態互轉, 設計者必須自己計算新的offset才行
5#
發表於 2009-6-4 15:08:33 | 只看該作者
percent Time     指的是這個function call消耗系統平均時間, 愈高表示執行這個function call占用系統時間愈多, 在分析系統效能時, 確實是個很重要的指標
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2024-5-6 06:39 AM , Processed in 0.102006 second(s), 17 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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