在公司里一直没怎么看wince,因为这是一个走的师兄弄好的,但是突然让我加一个阿拉伯字体,要发往阿拉伯,这个郁闷啊,所以只能从头学起。
当然,在博客里记录一下,以备忘记。
首先先介绍一下我们公司ce的启动方式,我们利用的是cf卡,手下利用usbboot把cf卡做成DOS启动盘,这个很简单,只需注意的是usbboot要传则HDD模式。
然后将setup、HIMEM.SYS、system、pagefile.sys,字体font文件夹copy到cf卡中,其中system是一个开机图片,pagefile. sys是wince的镜像,既NK,其中这块具体细节不是很了解。
说说制作NK的过程吧
首先通过NEW PLATFORM 建立一个模板,当然公司要求是视屏的,选择那个digital media receiver的,选择上一些组件,具体就不说了,需要什么加什么好了,这样能建立一个大体的模板。
然后就是加上显卡和网卡驱动,这个必须得加的,怎么加不用说了吧,但是分辨率肯定是要改的,在显卡驱动的iegd.reg里有width和height的选项,上面有注释,很好改,而且驱动的路径一定要对应好,否则编译会出错网卡驱动里要改好IP子网掩码等一些东西。
在startup. asm里,调整内核物理内存到虚拟内存的映射关系。
config.bib里修改内存多的分配。
如果要加字体,可以直接编译到内核,也可以把字体放入CF卡中,这样可以裁减NK的大小
[HKEY_LOCAL_MACHINE/SYSTEM/GDI]
"FontLinkMethods"=dword:1
[HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/FontPath]
"FontPath"="//Hard Disk//Font" ; 字库文件所在目录 [HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/FontLink/SystemLink]
"Tahoma"="//Hard Disk//Font//PSAUDI5.TTF,Psuedo Saudi"
"Courier New"="//Hard Disk//Font//PSAUDI5.TTF,Psuedo Saudi"
"Arial"="//Hard Disk//Font//PSAUDI5.TTF,Psuedo Saudi"
"Times New Roman"="//Hard Disk//Font//PSAUDI5.TTF,Psuedo Saudi"
"Symbol"=//Hard Disk//Font//PSAUDI5.TTF,Psuedo Saudi
这是将字体放入cf卡中,上面的映射的关系,也就是将沙特的字体映射到系统自带的字体上去。
再就是注意winceNK里肯定要有一些功能,比如ipconfig,ping等,要添加这些,只需要在project.bib中加入
ping.exe $(_WINCEROOT)/Corecon/X86/ping.exe NK S
ipconfig.exe $(_WINCEROOT)/Corecon/X86/ipconfig.exe NK S
就可以了。路径要注意正确。
再说说优先级project.bib 《platform。bib《commom。bib,而project。reg》platform。reg》common。reg
一般修改只需修改project的内容,因为他对应的是这个工程,当然也可以修改其他的,只不过要注意备份,好了,先说这么多吧,等想起什么再加。初学wince,留下一点痕迹,肯定有不对的地方,望多指教。