跳到主要內容

發表文章

目前顯示的是 2013的文章

Windows Embedded 7 & 2013 Catalog 變動

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

Windows Compact 2013 UI 元件

Windows Compact 2013 在這一版所加入的新元件或是升級元件中,對於UI 軟體設計人員最重要的莫過於 Gesture 手勢操作引擎的加入以及更多元化的 UI Theme/Overlapping Menus  與 Touch Screen 功能的支援, 以及更新架構的 XAML for windows embedded元件, 透過 Windows Compact 2013 開發更符合現代潮流與人性化的UI資訊工作站與POS系統 有興趣的人可以與我聯絡, 我可以提供更進一步的 UI設計資訊

Windows CE 5.0 環境變數與目前目錄問題

在某次的Windows CE 教育訓練課程裡面被問到的一個問題,或許其他初學者也會遇到相同問題,就在格子內順便貼文供大家參考. Windows CE 開發人員在使用C語言開發軟體的時候要特別注意,當開啟文件的時候,文件的的路徑不能使用環境變數,也無法使用 . 符號代表目前目錄, 當開啟文件不指明完整路徑時,Windows CE 會從 \Windows 目錄以及跟目錄兩處搜尋,若找不到該文件則會產生系統錯誤訊息, 並不會從目前目錄搜尋指定文件, 若依需求需要尋找目前程式執行時期的所在目錄,可以透過 GetModuleFileName() 函數取得目前目錄後再串接該份文件作為開啟文件的完整路徑表示 例如: dwAbsPath = GetModuleFileName( NULL , szBuffer , MAX_BUFF_LEN); while( szBuffer[--dwAbsPath] != '\\')   ; szBuffer[dwAbsPath+1] = NULL; _tcscat(szBuffer , TEXT("MyDoc.doc");

使用Hyper-V Client 安裝 Compact 2013 Image

Windows Compact 2013內針對 PC-Based 模擬開發環境需求的開發人員提供了CEPC BSP與 Hyper-v/Virtual PC Client 的 CE Loader ,image 開發人員 將建置完成的 Compact 2013 image 透過網路bootp直接下載到 Hyper-V client 啟動,大致方法如下: 0. 提供 Hyper-V 服務的主機事先於 Hyper-V Manager 建立 Virtual Network Switch ( External ) 1. 透過 Hyper-V / Virtual PC 建立新的 虛擬機器 2. 使用 Compact 2013 所提供的 Virtal Hard Disk ( Wince800\platform\cepc\vm\hd0_sample.vhd 3. 啟動後便可透過內建的 EBoot  Loader 使用 Bootp 尋找開發主機上的 Image Bootp server 下載開發完成的 image 啟動 啟動 Hyper-V Client 使用Bootp 連結至開發端機器下載 nk.bin VS 2012 Platform Builder attach device 偵測到遠端 HyperV Client Bootp message後自動發送 image(nk.bin)   下載完畢,nk.bin 啟動後出現compact 2013畫面

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 的設計應用.
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的大小

Windows Embedded Compact 7 之 User Mode Components --之 GWE user(gweuser.exe)

WEC7 相較於 CE 6 在 User Mode 的components多出了 GEW user 元件, 主要在提供 UI介面所需的 user notifications 功能,例如OOM訊息, windows 啟動訊息與觸控螢幕定位功能的互動需求,也就是說 GWE user將所有跟UI有關的功能都從 "Kernel "模式移入 "User"模式去運作了,想必可以更增加 WEC 7的系統穩定度 不過也因此造成原本在 CE6 所設計的應用程式若與 GEW Component有關的部分 再移植到 WEC 7的時候必須要修改這部分的 Source code, 對於 CE6 的 Developers 就要注意這部分異動了

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 方式的記憶體存取模式,將記憶體對應至外部周邊設備

WEC7 之 compositor之 Alpha Blending

Windows embedded compact 7 的新功能Compositor支援 Alpha blending, 蝦蜜西  Alpha Blending呢? 所謂的 Alpha blending 在 Windows UI 介面中即是所稱的 Compositing, 在 UI 控制向中使用 Opacity 代表此項設定, Alpha 的值越大,代表越不透明, 視窗中常發生兩個視窗局部重疊再一起,當上層視窗的 alpha 值小於 1並趨近於零的時候,後方視窗的pixel 變會從底層透出來, Windows Embedded Compact 7 所宣稱的妞非糗有所謂的 Compositor 支援 alpha blending 簡單來說就是,WEC 7的視窗效果也可以支援跟WIN 7 一樣有透明視窗 的意思, 也增加了 transparent regions 支援 frame / over-impose 的視窗重疊更新機制,有效加速視窗處理效果

Windows CE 必備工具--DiskPrep

Windows CE image 建置完畢欲部署到裝置上執行之前,前置工作就是提供一個可開機的環境讓nk.bin能順利載入,Windows ce device上面 無論是使用 Hard Disk , USB Flash , CF 任何bootable storage都能透過 DiskPrep.exe 工具在 Storage Devices上面製作 Biosloader 提供 image 安裝與執行的能力 載點如下 http://archive.msdn.microsoft.com/DiskPrep