Global Sources
電子工程專輯
 
電子工程專輯 > 嵌入式技術
 
 
嵌入式技術  

Cypress與HI-TECH Software共同發表新款編譯器技術

上網時間: 2007年10月16日     打印版  Bookmark and Share  字型大小:  

關鍵字:PSoC  編譯  C語言 

Cypress Semiconductor與HI-TECH Software共同發表一款最新的編譯器技術,能擴充可動態調整的PSoC混合訊號陣列中的記憶體容量與效能。此新款符合ANSI規範的C語言編譯器──專為PSoC混合訊號陣列設計的HI-TECH C PRO,運用HI-TECH的Omniscient Code Generation (OCG)全知程式碼產生技術,可縮減PSoC程式碼大小。

PSoC混合訊號陣列將可編程的類比與數位功能與8位元MCU核心整合在一起,包含最大可達32Kbyte的快閃記憶體,及最大可達2Kbyte的SRAM。PSoC可廣泛運用在各種注重成本、及有空間限制的消費性應用,包括觸控螢幕介面、馬達控制、以及近距離偵測等。PSoC元件具備動態調整功能,並可由同一個矽元件執行多個獨立運作的功能,因此能降低元件數量、機板空間、以及電源消耗。

鎖定PSoC混合訊號陣列的HI-TECH C PRO編譯器採用OCG技術,在檢查所有程式模組後,再進行編譯與指標、暫存器、和堆疊配置的最佳化,以及刪除多餘程式碼等作業。編譯器亦釋放出SRAM空間,並針對所有非遞迴與非重進入的程式碼,編譯直接定址與最佳化函數堆疊,以減少PSoC 元件索引暫存器競用資源的狀況。縮小的程式碼能在更少的週期內執行完畢,因此新款編譯器亦可增加PSoC元件的效能。

OCG知道變數與已編譯堆疊需要多少記憶體,並可隨時配置,可讓SRAM的使用能更有效率,甚至能研判指標變數的範圍,並在適當的時機配置單位元指標。編譯器可藉此增加可用SRAM的容量。此外,根據統計數據設定的堆疊,可增加到程式需要的最大深度,OCG藉以防範可能導致嚴重故障的堆疊滿溢狀況。

掃瞄所有程式模組,並對應至呼叫圖與指標參考圖功能在準備編譯時,OCG編譯器會針對程式中每個模組,建立部份編譯的程式函式庫。然後再搜尋所有對應至程式的函式庫功能,並建立一個“呼叫圖”。在呼叫圖完成後,從頭到尾都沒有被呼叫的函式就會被移除,編譯器會找出並標示被稱為「重新進入」的函式,像是在主程式碼與中斷函式中的函式。

OCG編譯器亦會在每個程式模組中,為每個指標產生一個指標參考圖。因為編譯器知道任何指標所定址的物件尺寸,因此可偵測出任何一個存取靜態配置物件端的動作,並警告程式設計師可能的無效記憶體存取動作。從未啟動過的指標將會被刪除,並在編譯時間內發出適當警告。編譯器亦提供除錯報告,可顯示出所有指標及其目標物件。在不同原始碼檔案中,先確認出彼此不相容的變數或物件,並向使用者提出警告。

要存取儲存在PSoC元件中動態堆疊內的資料,需要先拿到僅用來移動與移除暫存器內容的堆疊指標,並傳送到可存取資料的索引暫存器。由於PSoC元件含有一個索引暫存器,因此動態配置的堆疊會造成競用稀有資源的狀況。每次指標複製出或寫入到索引暫存器時,都分別需要4與10個時脈週期,經常存取動態堆疊的應用程式,會導致系統需要使用超過某些數量的程式碼,才能執行系統功能。

PSoC混合訊號陣列擁有一個分頁式SRAM架構,要存取其他記憶體分頁,需要透過分頁選擇暫存器(page select register,PSR)進行重置。每個PSR重置動作需要3位元組的程式碼以及12個週期來執行。若分頁中一個使用中的資料(像是一個中斷常式)必須寫入另一個記憶體分頁,就需要使用更多程式碼和更多時脈週期。

HI-TECH支援OCG的編譯器擁有智慧型功能,能偵測到所有程式模組使用的變數與指標,以及它們所使用的頻率,並且再產生程式碼之前,就已經知道堆疊需要多少容量,以及應該配置的區域。它會把最常用到的變數配置到最方便存取的RAM,並把較不常用到的資料放到分頁RAM。結果可以避免讓程式碼設定分頁選擇暫存器,並可藉此增進程式碼密度,進而提升效能。




投票數:   加入我的最愛
我來評論 - Cypress與HI-TECH Software共同發表新...
評論:  
*  您還能輸入[0]個字
*驗證碼:
 
論壇熱門主題 熱門下載
 •   將邁入40歲的你...存款多少了  •  深入電容觸控技術就從這個問題開始
 •  我有一個數位電源的專利...  •  磷酸鋰鐵電池一問
 •   關於設備商公司的工程師(廠商)薪資前景  •  計算諧振轉換器的同步整流MOSFET功耗損失
 •   Touch sensor & MEMS controller  •  針對智慧電表PLC通訊應用的線路驅動器
 •   下週 深圳 llC 2012 關於PCB免費工具的研討會  •  邏輯閘的應用


EE人生人氣排行
 
返回頁首