跳到主要內容
NK.BIN 形成的主要參數儲存在OSDesign專案中的bib配置檔內
其中主要有四個設定區塊

MEMORY
CONFIG
MODULES
FILES


其中與NK.BIN形成最主要的設定是MEMORY與CONFIG 兩個區塊的配置


MEMORY區塊:

主要是配製NK.BIN於記憶體中的安排方式
格式如下:

NAME(區塊名稱) Address(記憶體位置) Size Type

其中Type:宣告常見有下面型態:
  FIXUPVAR: 該記憶體區快可以透過參數調整
  NANDIMAGE: 標示該記憶體區快可以使用 NAND Flash 存放
  RAM : 該記憶體區塊需使用ram 存放
  RAMIMAGE: 標示該記憶體區段可以使用RAM或NOR Flash存放
  RESERVED: 標示該記憶體區段為保留區塊

CONFIG 區塊:


提供附加選項
AUTOSIZE: 自動配置runtime所使用的記憶體
PROFILE: 提供Runtime的效能取樣功能
BOOTJUMP: 指定系統啟動的指令進入點
COMPRESSON: 指定nk.bin是否壓縮
KERNELFIXUPS: 指示核心是否需重新記憶體定位動作
RAMFLAGS: 設定核心運作時的特殊屬性
ROMSTART: 指定nk.bin ROM的起始位址
ROMWIDTH: 指定nk.bin ROM的位元寬度(8/16/32)與檔案數量
ROMSIZE: 指定ROM的大小

留言

這個網誌中的熱門文章

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 作業系統

Windows Embedded 7 & 2013 Catalog 變動

從Windows Compact 7 轉移至 Windows Compact 2013 會發現在 Catalog Items View 工作選單尚有部分 Components 有稍微異動 , 部分元件被移除/改名/合併 或是新加入的元件 欲得知這些變動的元件清單可以參考下列網址 http://msdn.microsoft.com/en-us/library/jj919252.aspx

WEC 7 之記憶體太多怎麼辦之介紹--OEMRAMTable

WEC7 與 CE6 使用同樣的 Kernel memory mapped 512MB , 所以若製造商的記憶體RAM > 512MB的時候, 就必須要修改 OAL 的Kernel Space mapping了 , 原本的 512MB 仍然使用  OEMAddressTable 去mapping,多出來的部分就要修改 OEMRAMTable / OEMDeviceTable 去對應給系統知道了 微軟提供最簡單的練習方式可以參考 CEPC 所附帶的BSP ,有興趣的童鞋 可以參考一下 \WINCE700\platform\common\src\x86\COMMON\startup\newtable 內所定義的 OEMRAMTable 與 OEMDeviceTable 內容 OEMAddressTable 加入 CE_NEW_MAPPING_TABLE 宣告系統有額外超出512MB記憶體 OEMRamTable 宣告  base_address , Size 與 memory type ( Cached ) OEMDeviceTable : 定義採用uncached 方式的記憶體存取模式,將記憶體對應至外部周邊設備