2013年11月6日 星期三
2013年10月1日 星期二
ISR之不能做什麼
1.7 __interrupt double isr(double r)
{
double area = PI*r*r ;
printf("%f\n",area) ;
return area ;
}
說明並解釋上述之interrupt service routine 之錯誤處?
中斷是嵌入式系統中重要組成部分,很多編譯器開發商都讓標準c支持中斷,並引入關鍵字_interrupt.但是:
1、ISR不能有返回值;
2、ISR不能傳遞參數;
3、ISR應該是短而高效的,在ISR中做浮點運算是不明智的;
4、ISR中不應該有重入和性能上的問題,因此不應該使用pintf()函數。
1、ISR不能有返回值;
2、ISR不能傳遞參數;
3、ISR應該是短而高效的,在ISR中做浮點運算是不明智的;
4、ISR中不應該有重入和性能上的問題,因此不應該使用pintf()函數。
1.ISR 不能有返回值。為什麼?
2.ISR 不能傳遞參數。為什麼?
2.ISR 不能傳遞參數。為什麼?
裸奔的系統:硬件中斷響應程序的運行插入時機是隨機的,程序中不存在這樣的調用語句:「value=interrupter( )」, 所以,即使有返回值也不知返回給誰。 同理,如果中斷函數有形參,但因沒有調用者,也就沒有實參對形參賦值。所以,不可能有參數傳遞。
裸奔系統中,中斷程序由硬件觸發執行。這意味著中斷函數沒有具體的調用者,所以,中斷函數無法將值返回給任何對象
非裸奔系統:操作系統需要進行各種調度安排,所以接管了中斷的入、出口;另外,還增加了許多軟件中斷。這些中斷函數的運行插入時機已經不再是隨機了。一個中斷申請發生後,其運行時機取決於操作系統的確定安排和調用。也就是說,有了調用者,所以可以有返回值和參數傳遞。
2013年9月23日 星期一
TI DM320/270 DSP+ARM處理器的解決方案
Ti通過與Ingenient合作,提供了最成熟的MP4設計方案。愛可視推出的世界上第一款MP4產品——愛可視 Jukebox便是採用的Ingenient方案。目前,包括愛可視、iRiver、微星等眾多著名廠商都採用了Ingenient的方案。
圖:IIngenien技術公司基於TI DM2X及DM3X的多媒體硬件參考設計
Ti的解決方案採用ARM處理器搭載DSP的方式,利用DM320/270 DSP芯片進行音視頻編解碼,ARM處理器負責系統以及支持外圍設備接口。TI DM320為純DSP芯片,因此必須配合ARM處理器才能組成完整的解決方案。該方案所支持的媒體類型非常豐富,包括MPEG4 SP/ASP、pX、MPEG1/2、WMV、WMA、QuickTime 6、H.264、AAC-LC、MP3等格式。其中除了H.264格式外的分辨率只有CIF(352×288)的水平外,其它均可實現D1分辨率(720×576)視頻(30fps)文件的實時解碼。另外,此方案的編碼能力也是相當強大,DM320方案錄製MPEG4 SP視頻可達到D1的質量(30fps),而DM270方案可錄製VGA(640×480)質量的視頻。該方案更可具備PVR的功能(即錄製和播放可雙工同時進行)。
所有Ti方案均可支持USB2.0 OTG接口、支持HDD、SD、CF、MS等。
優點:
支持的媒體類型豐富,編解碼能力強
缺點:
- 必須配合ARM處理器,成本不佔優勢,功耗較大;
- 不支持網絡視頻格式RM、RMVB;
- 屬於低性能應用處理器(ARM 80-160MHZ),軟件解決方案有限,需要客戶做大量的軟件編程工作。
訂閱:
文章 (Atom)