PXA270&&K9K8G08三系统启动的实现

简介: 折腾了一天的MULTI-BIN,最后发现PXA270&&K9K8G08不能正常使用MULTI-BIN。使用MULTI-BIN后,虽然系统启动快很多,但运行时很不稳定,GWES.exe和Device.exe等系统组件,总是不规律的出现Data Abort。

    折腾了一天的MULTI-BIN,最后发现PXA270&&K9K8G08不能正常使用MULTI-BIN。使用MULTI-BIN后,虽然系统启动快很多,但运行时很不稳定,GWES.exeDevice.exe等系统组件,总是不规律的出现Data Abort。从现象看起来,似乎跟网卡驱动有一点关系,如果不加网卡驱动,还是相当不错的,一旦加上网卡驱动,就极不正常了。所以,只能再改回去,无奈啊。

      PXA270&&K9K8G08上双系统的支持是没有问题了,NAND FLASH的驱动也搞定,工作得还算稳定。今天又把这一部分移植到WinCE6.0上,并最终实现了WinCE5.0WinCE6.0Linux共存,通过外部按键选择进入BLOB还是EBOOT,如果启动了EBOOT,则再根据外部按键判断是启动WinCE5.0还是WinCE6.0

      三系统的实现是基于双系统基础之上的,Linux部分依然保持原样。修改EBOOT,在其中加入获取外部按键的状态的功能,并支持将WinCE5.0WinCE6.0NK,烧写到NAND FLASH的不同区域,启动时根据外部按键的状态,选择加载WinCE5.0WinCE6.0NK,剩下的NAND FLASH空间由WinCE5.0WinCE6.0公用。实践证明,除了启动慢一点外,运行时相当稳定。这也算实现了NAND FLASH的价值,1GB,怎么用都行啊。还想着划出一部分给Linux用,不知有没有实现的可能。

     K9K8G08FLASH空间分布如下图所示:

       

     WinCE5.0NAND FLASH如下图所示:

        

    WinCE6.0中的NAND FLASH如下图所示:

         

     一变二,二变三,理论上四个、五个系统也都可以共存吧,只要FLASH的存储空间够大。突然想到了M8,如果存储器够大是不是可以给它装iPhone的系统,装Windows Mobile的系统,还可以任意切换,想用哪个用哪个。有点BT了,还好没有M8

     WinCE5.0WinCE6.0双系统启动的支持,说明他们的BOOTLOADER可以共用,二进制兼容,但源代码部分需要做些修改,有移植WinCE6.0的同学可以参考一下。WinCE5.06.0双系统的演示视频下载,有兴趣的同学可以看看。

目录
相关文章
|
1月前
|
Linux
进程运行级别
进程运行级别。
9 1
|
NoSQL 关系型数据库 MySQL
设置系统开机服务自动启动 | 学习笔记
快速学习设置系统开机服务自动启动
203 0
|
运维 监控 安全
精简系统服务和开机进程| 学习笔记
快速学习精简系统服务和开机进程。
127 0
|
Linux 内存技术
uboot设置bootargs启动根文件系统
uboot设置bootargs启动根文件系统
|
运维 监控 安全
精简系统服务和开机进程
一、线上服务器建议开启的服务 二、可删除的系统用户和组 三、下期公开课预告 四、广而告之
|
Linux
16.8 Linux启动引导程序加载内核
在刚刚的启动过程中,我们已经知道启动引导程序(Boot Loader,也就是 GRUB)会在启动过程中加载内核,之后内核才能取代 BIOS 接管启动过程。如果没有启动引导程,那么内核是不能被加载的。
186 0
16.8 Linux启动引导程序加载内核
|
存储 安全 Unix
Linux系统配置(系统启动)
引导过程、开机自检、MBR引导、GRUB菜单、加载Linux内核、init进程初始化、系统初始化进程、init进程、Systemd、系统服务、Systemd的目标与SysVinit的运行级别、目录结构
206 0
 Linux系统配置(系统启动)
|
芯片
BIOS启动过程分析
1        引言 1.1    文档目的 对于电脑用户来说,打开电源启动电脑几乎是每天必做的事情,但计算机在显示这些启动画面的时候在做什么呢?大多数用户都未必清楚了。
1439 0
|
存储 安全 Windows
|
Shell Linux 数据安全/隐私保护