WinCE FireWare
文章平均质量分 64
silentchunk
这个作者很懒,什么都没留下…
展开
-
深入理解.bin文件和.nb0文件的结构
.bin文件是一个描述性质的映像文件,它由文件头(head)、镜像数据目的起始地址(ImageStart)、镜像数据长度(ImageLength)和多条相对独立的记录(record)构成。文件头(head)由7个字节组成,内容是:42 30 30 30 46 46 0A,即“B000FF/x0A”,这是判断镜像文件是.bin类型的依据。镜像数据目的起始地址(ImageStart)由4个字节组成,它转载 2009-12-01 17:00:00 · 806 阅读 · 0 评论 -
NAND Flash文件系统方案及其可靠性设计
NAND Flash文件系统方案及其可靠性设计 随着嵌入式系统在消费电子,数据采集和工业控制等领域得到越来越广泛的应用。各个领域都对嵌入式系统提出了更高的要求。作为嵌入式系统中最重要的组成部分,存储系统呈现出了较快的发展速度。NAND FLASH作为一种安全、快速的存储体,具有体积小、容量大、成本低、以及更多的擦除次数等一系列优点,已成为嵌入式系统中数据和程序最主要的载体。由于NAND FLA转载 2009-12-11 16:48:00 · 2372 阅读 · 0 评论 -
eboot中如何使用中断.(增加usb功能)
Samsung的cpu,nand启动.想在eboot中使用中断,进而使用usb下载功能.怎么办? 1.Eboot是工作在mmu开启的虚拟地址模式下. 2.arm在发生中断时候会跳动地址0x18.但eboot不在0地址运行.地址0是4k的nboot程序. 方法.eboot直接修改地址0x18的中断跳转指令,将它指向新的地址,指向自己的中断服务程序. #define pISR转载 2009-12-08 20:39:00 · 1009 阅读 · 0 评论 -
几个相关文件系统概念:geometry、sector 、Block
一:geometry应该翻译为几何数据,其实就是指的CHS(Cylinder、Head、Sector/Track) 。C-Cylinder柱面数表示硬盘每面盘片上有几条磁道,编号从0开始,最大为1023,表示有1024个磁道(用10个二进制位存储);H-Head磁头数表示硬盘总共有几个磁头,也就是几面盘片,编号从0开始,最大为255,表示有256个磁头(用8个二进制位存储);S-Secto转载 2009-12-08 16:36:00 · 3242 阅读 · 0 评论 -
WinCE OAL中的Memory函数介绍
在BSP开发中经常会用到物理地址与虚拟地址的转换,一般都是基于物理地址获得相应的虚拟地址来访问硬件。在WinCE6.0中,可以在WINCE600/Platform/Common/Src/Inc/Oal_memory.h文件中找到相关的操作函数,这些函数用来虚拟地址与物理地址之间的转换,它们都是基于OEMAddressTable表的。也就是说,首先要在OEMAddressTable中定义虚拟地址到物转载 2009-12-09 10:39:00 · 440 阅读 · 0 评论 -
开发WinCE设备更新工具过程--详记
最近在开发一款嵌入设备,基于WinCE5.0,使用的是SamSung的2416 cpu,基于2450的bsp。 首先是要了解eboot的详细流程,main->BootloaderMain() 在看到第一句就碰到问题了,如下代码。if (!KernelRelocate (pTOC)){ // spin forever HALT (BLERR_KERNELRELOC原创 2009-12-08 11:52:00 · 470 阅读 · 0 评论 -
wince bsp study
驱动模型:1. .LIB库文件,与操作系统内核链接,随操作系统启动一起加载,关闭一起关闭。效率高,但是缺乏灵活性和扩展性。2. 延迟加载,但是仍在系统的内核空间中。实现了驱动的动态加载,但是容易导致系统不稳定。3. wince 采用用户态下的DLL文件形式存在。 Wince驱动宿主 1. device.exe 设备管理器,负责加转载 2009-12-08 11:46:00 · 1026 阅读 · 0 评论 -
CE5.0 - romimage.exe如何填充eboot.bin中的pTOC特殊指针生成.nb0
eboot.bin和eboot.nb0的差别就是eboot.bin中没有填充pTOC结构体,必须使用parser解释器[类似于romimage.exe luther.gliethttp]将全局变量数据段解压释放到运行时使用的地址才行,eboot.nb0中经过romimage.exe填充了pTOC结构体,所以eboot.nb0可以自己将自己用到的全局量通过KernelRelocate()函数进行解压转载 2009-12-07 22:19:00 · 410 阅读 · 0 评论 -
wince2秒快速启动TOC分析
为什么29M的wince内核nk.nb0文件在2秒钟就能快速启动,如果你用汇编设计一个从NAND单纯拷贝29M nk.nb0的快速程序,你会发现用200MFCLK的2410或者用400MFCLK的2440都至少需要十几秒,那为什么ce能够启动这么快呢,有什么加速算法吗?答案是肯定的,并不需要一次性将所有nk.nb0数据都加载到内存,应该按需加载,那就是ce的镜像文件image“按需加载”[“段式加转载 2009-12-07 17:37:00 · 431 阅读 · 0 评论 -
eboot中的一个bug与备忘
eboot备忘 本文原创 转载请保持完整性xiaoyunsoft@163.com eboot有全部源码,5.0下的没有4.2的功能全,所以继续用4.2下的eboot。具体的代码我都拷贝出来做了注释,也很好理解。有几个地方做个记录:1.分区分区有函数直接支持,在wince420/public/common/oak/drivers/ethdbg/bootpart/bootpar转载 2009-12-11 16:44:00 · 620 阅读 · 0 评论