跳到主要內容

Windows CE XIP

上課學員提問  何謂  eXecute In Place ( XIP )

Windows CE 對於記憶體的定義與一般桌上型 Windows OS 稍有不同, Windows CE Memory 泛指所有 RAM, ROM , FLASH 都屬於 Windows CE 作業系統的記憶體

在一般的設計上 若 image 採用壓縮方式儲存在ROM/FLASH內,執行時期則必須先透過解壓縮到RAM的記憶體區塊才能執行, 後續為了提供更多的可用記憶體,Windows CE支援XIP機制,ROM/Flash內的 image 採不壓縮方式寫入, 當應用程式需要執行時, 若 ROM/Flash支援 隨機存取與線性存取的話, 因為image 沒有壓縮, Process便可直接於儲存的空間內執行,無須透過重新載入 RAM記憶體區塊內執行,因而節省較多的RAM空間供系統與使用者使用

但一般的ROM/FLASH執行速度相較於RAM來說執行速度將較為緩慢,因此也造成系統的效能可能有下降的風險,因此XIP設計上普遍針對成本導向的一般消費產品應用較多,對於需要高效能或 real-time 相關的產品 比較少看到 XIP 的設計應用.

留言

這個網誌中的熱門文章

Window CE BootLoader for x86 ( MS-DOS )

CEPC X86採用了幾種開機方式,其中一種運用MS-DOS當成Booting OS 利用 Windows CE Platform builder所提供的 Image disk 製作一片 1.44M的開機片,內有提供 LoadCepc.exe命令作為 CE Boot Loader 不過首先得先將磁片的開機檔案移植到嵌入式設備的CF / FLASH / DISK 上 以下提供傳統的MS-DOS開機系統製作方式供學員參考 : 使用MS-DOS開機片開機後, 透過 Fdisk.exe與 Format.com 工具製作 Windows CE Boot Loader 過程如下 圖一: MS-DOS開機 圖2: 開機後,載入 Fdisk執行 Partition切割工作 圖3: 選擇第一項,建立 Partition 圖4: 選擇第一項,建立 DOS Partition 圖5: 詢問是否全部切割成單一PARTITION,若CF過大可回答 N 自行切割大小 圖6: 輸入欲切割的Partition大小 圖7:切割後,按一下鍵盤的 esc鍵回到檢視畫面,就可看到所切割的Partition大小 圖8: esc回到主選單後,在選擇 [2] 設定啟動磁區 圖9: 選擇欲啟動作業系統的Partition 圖10: 選擇後應該會看到 Partition清單上的 Status欄位出現 A 字元 圖11: 切割後 重新啟動系統 圖12: 格式化所切割的新磁區 圖13: 格式化完成後 便可將 Platform Builder所製作的 Windows CE Bootloader磁片內容複製到C:內 重新開機後,進入c:> 輸入 C:>Loadcepc /L:800x600x16 nk.bin 便可載入nk.bin到記憶體 並且以800x600的解析度執行 windows ce 作業系統

NLB Operation Mode / Modes of Bonding

mode=1 (active-backup) Active-backup policy: Only one slave in the bond is active. A different slave becomes active if, and only if, the active slave fails. The bond's MAC address is externally visible on only one port (network adapter) to avoid confusing the switch. This mode provides fault tolerance. The primary option affects the behavior of this mode. mode=2 (balance-xor) XOR policy: Transmit based on [(source MAC address XOR'd with destination MAC address) modulo slave count]. This selects the same slave for each destination MAC address. This mode provides load balancing and fault tolerance. mode=3 (broadcast) Broadcast policy: transmits everything on all slave interfaces. This mode provides fault tolerance. mode=4 (802.3ad) IEEE 802.3ad Dynamic link aggregation. Creates aggregation groups that share the same speed and duplex settings. Utilizes all slaves in the active aggregator according to the 802.3ad specification. Prerequisites: Ethtool support in the base drivers fo...

Automatic Building Process: 建置 Windows CE 6.0 Images

對於常常需要改變各種 Windows CE Image設定並且需要重新編譯Image的人來說,透過Visual Studio的GUI操作介面來說變成是一種負擔,互動式介面造成必須等候每一步驟的完成後才能繼續進行下一步 因此自動化編譯的需求便是這種情形下最適當不過的一種操作方式 自動化編譯是透過命令模式(command Prompt)來完成,但是命令模式並非一般的Command Prompt,必須要 事先將所有的Windows CE Environment Variables 設定完成後才能進行編譯,因此可以透過下列方式將編譯所需的環境變數轉換成一個批次檔後便可以進行自動化編譯的任務 1.使用 PBXMLUtils.exe 將Windows CE環境變數提取轉存 批次設定檔 首先,先在Visual Studio 2005工具內開啟Windows CE外掛的build選單下的Open Build Release Windows 在此命令模式下執行: c:>"c:\program files\Microsoft Platform Builder\6.00\cepb\IdeVS\Pbxmlutils.exe" /getbuildenv > SetupCEEvn.bat 便可將 Windows CE Building Command Prompt內的環境變數轉存到 SetupCEEnv.bat 批次檔內 2. 測試自動化編譯程序 首先,開啟一般的Windows Command Prompt命令模式,並執行 SetupCEEnv.bat批次檔後,再使用 set命令檢視Win CE Building Environment Variables是否設定成功 接下來便可以使用 blddemo -q 測試編譯 Windows CE 6.0 Image了