Chinaunix首页 | 论坛 | 博客
  • 博客访问: 530714
  • 博文数量: 237
  • 博客积分: 2175
  • 博客等级: 大尉
  • 技术积分: 2563
  • 用 户 组: 普通用户
  • 注册时间: 2007-04-05 22:02
个人简介

目前在一家公司担任软件总监,主要涉及智能手机,笔记本电脑的开发

文章分类

全部博文(237)

文章存档

2024年(18)

2023年(68)

2022年(13)

2021年(7)

2020年(11)

2019年(3)

2018年(10)

2017年(8)

2012年(7)

2011年(4)

2010年(32)

2009年(41)

2008年(6)

2007年(9)

分类: WINDOWS

2009-11-19 18:04:25

WINCE的开发工作分为三部分: BSP , OS定制 ,应用开发


BSP包括4部分, Bootloader , device driver , 配置文件,以及OAL .

其开发流程为:

1) 先clone 一个相近的BSP ,命名为ABC

  clone 其实就是copy整个文件夹.

  然后把PLATFORM\ABC\SRC\driver目录删除掉,修改PLATFORM\test\SRC\dirs,把driver这行删除掉(因为现在一开始要把bootloader 和OAL调试好,这样wince就可以跑起来,然后再加驱动).

 New-> Project -> OS Design , 建立一个工程,Design Templates 选择Custom Device ,然后 Finish .(这样很多应用,服务 不选择,比如HTTP , Media ,这些留到OS定制的时候来选择).

 然后 Build -> Build Solution ,编译完成. 发现NK.exe(内核) 76.5KB, NK.bin 2.73MB , eboot.nb0 256KB .  下面就可以去修改bootloader ,OAL了

2) 开发Bootloader

   主要是修改串口,网口,Nand Flash驱动等.
   然后配置eboot.bib .

   这样 编译就生成了 eboot.nb0

3) 开发OAL

   中断,RTC...

4) 添加其他的驱动程序

   其他的显示等驱动.

5) 是否考虑电源管理部分?

6) 发布BSP

  其实就是把Platform/ABC copy出来就可以了.别人要用的话,直接放在platform目录下面.

BootLoader 就是把WINCE内核加载到内存里,包括Eboot(通过以太网加载内核),还有通过串口,USB的bootloader ,它主要由4部分组成:

1) BLCommon (通用的bootloader架构,主要函数BootloaderMain,DownloadImage,VerifyChecksum等)

2) OEM 代码

3) 存储管理 ( 对Flash的读写,分区...)

4) EDBG驱动程序 (网卡的驱动)

5) Eboot 库 (实现DHCP , UDP ,TFTP )

对于用户来说,2 必须提供, 4 也许网卡不同要改动.

OEM代码包括开始启动的startup.S ,以及串口来输出打印信息的函数,显示,时钟(这个在等待的时候要用到时钟函数) 等.

然后给一定SOURCES文件编译bootloader , 另外一个BIB配置文件进行配置内存等,{BANNED}最佳后用RomImage进行打包.

OAL 就是操作系统对硬件的访问. 操作系统要运转,必须要中断处理,RTC,Timer等, 并提供oemaddrtab_cfg.inc文件,以对内存的划分进行描述.

对于驱动程序,则主要是要了解wince驱动的工作机制,了解所针对的硬件,以及驱动模型,比如网卡要实现NDIS接口.

加上其他的配置文件,比如config.bib ,platform.bib

OS定制

其实就是利用platform Builder , 根据需求,在Catalog Item里选择不同的组件.这个有点象Linux的 Make menuconfig .

 然后编译成NK.bin (整个OS都在里面).

导出SDK给应用开发人员.

应用开发:

1) 安装SDK

2)和桌面开发一样,编码,并先可以用模拟器测试

3)使用 wince 设备测试

4) 发布 (.cab 文件格式)

这样这个应用程序就可以在wince里面安装了.

应用程序的开发人员可以用win32 API , MFC 或者 .net 编程 .

阅读(1080) | 评论(0) | 转发(0) |
0

上一篇:wince/mobile发展路线

下一篇:创业的要素

给主人留下些什么吧!~~