wince bootloader
sukhoi27smk
学习是为了探索这个世界的本质
展开
-
EBOOT跳转到NK的过程
先做个说明:我的平台环境是:CE5.0(S3C2450)。 我的config.bib定义的镜像起始地址为0x8c20 0000(虚拟地址), EBoot将镜像下载到以0x8c20 0000为起始地址的RAM中, 但实际上OS跳转的地址却是0x8c20 1000, 也就是说, 传递到Lauch函数的参数应该是对应的物理地址0x3020 1000, 也就是镜像开始后4K的位置.转载 2012-12-05 22:50:52 · 621 阅读 · 0 评论 -
WINCE6开机进度条
大致思路,在NBoot或EBoot加开机进度条,由于WINCE启动主要时间都花在读取NK,因此每读取一定的页,就在屏上画一条固定高度的线,并记录画线的位置,下次接着画,直到读取完NK,这样就产生的进度条的效果。参考Mini2440 Nboot。先定义进度条颜色、位置及长宽,关键代码如下: 1 #define PROGRESS_BAR_R 0x00 2 #define P转载 2013-05-06 10:09:03 · 1304 阅读 · 0 评论 -
Wince6 Eboot中加入开机画面
昨天研究了一下wince开机时加入个性化的画面,折腾了一上午,不是花屏就是CE起不来……终于搞定,分享一下经验吧。。。Wince加入开机画面方法一般有以下两种:1、 在文件中下定义一个常量大数组,几百K,如const USHORT ScreenBitmap[],在显示图片的地方利用for循坏把数组都拷贝到相应的buffer中。2、 把图片数据存放到Flash的某位置,启动时转载 2013-05-06 10:07:33 · 949 阅读 · 0 评论 -
WinCE6.0的EBOOT概要
为一个新的硬件设备定制WinCE6.0操作系统,一般需要完成以下几个主要步骤:1. 针对特定的硬件设备创建板级支持包(Board Support Package缩写为BSP),BSP必须包括BOOTLOADER、OEM适配层(OEM Adaptation Layer缩写为OAL)和一些必要的驱动。2. 利用创建的BSP,定制一个系统设计(OS Desig转载 2013-05-06 09:42:46 · 845 阅读 · 0 评论 -
WinCE5.0 SMDK2410 BSP在GEC2410开发板上的移植(11)-BINFS在Nand上的实现(Multi-Bin的实现)
之前我们都是把整个系统镜像复制到RAM中运行,这样启动时间较慢,也占用内存.使用Multi-Bin的模式,将需要复制到RAM的组件和可存放在存储设备(如Nand)中的组件分开,系统启动时只需要将CE核心组件复制到内存中运行,然后需要的组件从Nand中读取即可.之前我们已经在eboot中添加了操作BINFS分区的支持.然后就可以进行系统镜像的定制了.如何实现可以参考PB帮助How to Impl转载 2013-01-17 21:20:47 · 704 阅读 · 0 评论 -
S3c2440A平台HIVE注册表+binfs的实现
我的例子是基于samsung S3C2440A+samsung ONENAND+WinCE5.0的,开发平台是platform builder 5.0,首先我们基于RAM register的image已经可以正常跑起来了,Flash除了放置image外其他的空间为用户提供文件系统,这部分的驱动程序是用三星的PocetStoreII15。 先来回味一下底层的东东,我们的Image主要由两部转载 2013-01-17 21:19:22 · 514 阅读 · 0 评论 -
wince2秒快速启动TOC分析
为什么29M的wince内核nk.nb0文件在2秒钟就能快速启动,如果你用汇编设计一个从NAND单纯拷贝29M nk.nb0的快速程序,你会发现用200MFCLK的2410或者用400MFCLK的2440都至少需要十几秒,那为什么ce能够启动这么快呢,有什么加速算法吗?答案是肯定的,并不需要一次性将所有nk.nb0数据都加载到内存,应该按需加载,那就是ce的镜像文件image“按需加载”[“段式加转载 2013-01-17 21:02:39 · 835 阅读 · 0 评论 -
对Multi-bin 技术的理解
[bin文件的格式]:Bin文件格式比较简单.结构如下:struct BinFile {BYTE signature[7]; //前面7个字节是标志, 固定的{‘B’,‘0’,‘0’,‘0’,‘F’,‘F’,‘\a’}.DWORD ImageStart; //Image Start表示image的开始地址DWORD ImageLength; //image的转载 2013-01-17 21:16:45 · 1322 阅读 · 0 评论 -
WinCE6.0 修改开机Logo方法
中秋假期已过,回来继续该博文主题。今天讲解第二种方法,将Logo图片的数据写入到Nand Flash中,在启动初始化LCD的时候,从固定的地址将数据读出并填充到显示缓存中。 实验平台:WinCE6.0+Android6410 +4.3寸CLD。 以下内容参考自CSDN论坛的一个帖子,不过里面的描述不是特别清楚,该主题博文进行了整理。为尊重原创,给出链接http://to转载 2013-01-28 23:15:57 · 1372 阅读 · 0 评论 -
修改SMDK6410的调试串口为普通串口(wince系统)
环境: 飞凌OK6410A开发板, Windows CE6.0系统 最近在做GPRS通信,可是手头上的GPRS模块(Q2403A)是五线串口的(RXD、TXD、GND、RCS、CTS),老板又不愿买新的模块。所以考虑将调试串口COM1改为普通串口来用(飞凌开发板上也就这1个5线串口)。在网上找了些资料,然后让师弟测试摸索了下,发现网上现有资料都无法修改成功,他经过几天的努力后给转载 2013-01-13 16:25:20 · 616 阅读 · 0 评论 -
WinCE EBOOT中的BootPart分析
应该说BootPart算是微软提供的一个用于分区的模块,可以在EBOOT中使用。不过说实话,我很少使用它,知道有些厂商的BSP里面支持这个功能,而且也算是EBOOT的一部分,所以还是介绍一下。先看一下架构,如图: 在EBOOT中,BLCOMMON处于最上层,这个在以前已经介绍过,BootPart模块会被OEM函数来调用,而BootPart模块要操作存储设备需要Flash Drive转载 2012-12-29 13:17:27 · 842 阅读 · 0 评论 -
WinCE启动界面的定制
本文将以模拟器为例,简单介绍如何定制WinCE的启动界面,实现动画效果。在实际硬件平台上一般在BOOTLOADER中定制开机界面。如果BOOT从Flash加载NK到内存的时间较长,通常也会加一个进度条显示。如果从NK加载完成到进入CE桌面的时间也很长,那加一个开机动画也是不错的。 首先在backlight驱动中添加相关代码,实现动画效果,代码如下。void slash() {转载 2013-01-05 06:45:08 · 827 阅读 · 0 评论 -
Wince6 Eboot中加入开机画面
昨天研究了一下wince开机时加入个性化的画面,折腾了一上午,不是花屏就是CE起不来……终于搞定,分享一下经验吧。。。Wince加入开机画面方法一般有以下两种:1、 在文件中下定义一个常量大数组,几百K,如const USHORT ScreenBitmap[],在显示图片的地方利用for循坏把数组都拷贝到相应的buffer中。2、 把图片数据存放到Flash的某位置,启动时使用特定方法转载 2013-01-05 06:39:22 · 739 阅读 · 0 评论 -
定制mini2440 wince启动界面
定制mini2440 wince启动界面过程我的显示屏是7寸的,所以应该按照分辨率制作一张800*480像素的图片。详细步骤如下:1、我用photoshop的制作的,如下图:2、用bmp2T.exe转换这个图片,在命令符下输入bmp2T空格图片名称,如>bmp2T forhibaidu.bmp很快就能转换好,生成同名的forhibaidu.H文件内容格式如:st转载 2013-01-05 06:41:47 · 915 阅读 · 1 评论 -
WinCE EBOOT中的BootPart分析
应该说BootPart算是微软提供的一个用于分区的模块,可以在EBOOT中使用。不过说实话,我很少使用它,知道有些厂商的BSP里面支持这个功能,而且也算是EBOOT的一部分,所以还是介绍一下。先看一下架构,如图: 在EBOOT中,BLCOMMON处于最上层,这个在以前已经介绍过,BootPart模块会被OEM函数来调用,而BootPart模块要操作存储设备需要Flash Drive转载 2013-01-06 06:47:15 · 687 阅读 · 0 评论 -
multibin
为提高boot引导速度,,需支持multibin。方法如下:1.D:\WINCE600\PLATFORM\SMDKV210\SMDKV210.bat@REM For Multiple XIP (using demand paging on BINFS)set IMGMULTIXIP=12.调整config.bib镜像大小由于系统生成的XIPKERNEL约为3M。转载 2013-05-13 17:46:57 · 896 阅读 · 0 评论