6410 wince IROM引导SD升级 回忆
来源:互联网 发布:淘宝上的销量是真的吗 编辑:程序博客网 时间:2024/05/18 23:27
前段时间,需要把IROM这个搞一下。主要是因为要更换Nandflash,而飞凌提供的IROM只支持2G的,不支持4G的。所以需要自己把这个给搞出来
IROM是一个nb0二进制文件,主要是固化到SD卡上,然后在开机的时候,由IROM启动方式进入。CPU会跳转到SD卡上的IROM,进行引导升级Stepldr、Eboot和NK。
由于我用的飞凌6410开发板并不提供这个源码,所以只能自己搞一个。
通过别人提供的友坚6410的这个Eboot.SDFuser和NBL1.IROM_SD。来进行移植IROM。
至于IROM的启动结构,这里就不多说了。网上很多例子,这里提供一个网址:点击打开链接
移植这个的时候,碰到很多问题,如:
友坚的Eboot.SDFuser里面用到了EBOOT.WHIMORY架构,而我使用的飞凌BSP里面是没有这玩意的。再加上我这个Nandflash使用的MLC,而不是SLC,这个就增加了移植的难度。
我这里移植后,生成的IROM文件名为:IROM_SD_EBOOT.nb0
主要由Eboot.SDFuser和NBL1.IROM_SD和组合而成。(我这里的Eboot.SDFuser改名为EBOOT.YSD)
EBOOT.YSD ---> eboot_ysd
NBL1.IROM_SD ---> Stepldr_IROM_SD
eboot_ysd.nb0 + stepldr_IROM_SD.nb0 --> IROM_SD_EBOOT.nb0
就是这样生成这个IROM文件了。(组合生成文件这些,主要在对应的makefile.inc配置)
一开始,我是先把NBL1.IROM_SD 这个移植过来,这个相对比较容易。然后开始移植EBOOT.YSD(原来叫Eboot.SDFuser)
EBOOT.YSD主要由 BLCOMMON + EBOOT + FAT_LIB + SDMMC_LIB 组合而成。
关键点在于Eboot部分。我这里直接使用我BSP仲的Eboot,因为Eboot.SDFuser中的Eboot使用到了EBOOT.WHIMORY里面的很多东西,非常的不好移植。
这个Eboot会先刷写Stepldr,然后刷写Eboot,最好进行分区,刷写NK。刷写完可以Launch进入系统,也可以死等停在那里。
移植这部分的时候,还需要注意显示控制部分。
在格式化的时候,需要注意,低格会耗费很多时间的,可以把相应部分给屏蔽掉。
分区的时候有个需要注意的地方,如果分的区小余NK的大小的话,会导致无法进入系统的问题。
根据情况,里面的Eboot的bib文件也是需要相应修改的。
NBL1.IROM_SD的makefile.inc:
!if 0Copyright (c) Microsoft Corporation. All rights reserved.!endif!if 0Use of this source code is subject to the terms of the Microsoft end-userlicense agreement (EULA) under which you licensed this SOFTWARE PRODUCT.If you did not accept the terms of the EULA, you are not authorized to usethis source code. For a copy of the EULA, please see the LICENSE.RTF on yourinstall media.!endif!if 0Module Name: makefile.inc romimage $(ROMIMAGE_FLAGS) stepldr_irom_sd.bib!endifstepldr_romimage:!IF "$(NOLINK)" == "" romimage $(ROMIMAGE_FLAGS) stepldr_irom_sd.bib #copy /y/b $(_PLATFORMROOT)\$(_TGTPLAT)\target\$(_TGTCPU)\$(WINCEDEBUG)\eboot_sdfuser.nb0 + $(_PLATFORMROOT)\$(_TGTPLAT)\target\$(_TGTCPU)\$(WINCEDEBUG)\stepldr_IROM_SD.nb0 $(_PLATFORMROOT)\$(_TGTPLAT)\target\$(_TGTCPU)\$(WINCEDEBUG)\IROM_SD_EBOOT.nb0copy /y/b $(_PLATFORMROOT)\$(_TGTPLAT)\target\$(_TGTCPU)\$(WINCEDEBUG)\eboot_ysd.nb0 + $(_PLATFORMROOT)\$(_TGTPLAT)\target\$(_TGTCPU)\$(WINCEDEBUG)\stepldr_IROM_SD.nb0 $(_PLATFORMROOT)\$(_TGTPLAT)\target\$(_TGTCPU)\$(WINCEDEBUG)\IROM_SD_EBOOT.nb0!IF "$(WINCEREL)"=="1" copy $(_PLATFORMROOT)\$(_TGTPLAT)\target\$(_TGTCPU)\$(WINCEDEBUG)\IROM_SD_EBOOT.* $(_FLATRELEASEDIR) copy $(_PLATFORMROOT)\$(_TGTPLAT)\target\$(_TGTCPU)\$(WINCEDEBUG)\stepldr_IROM_SD.* $(_FLATRELEASEDIR)!ENDIF!ENDIF
EBOOT.YSD的makefile.inc:
!if 0Copyright (c) Microsoft Corporation. All rights reserved.!endif!if 0Use of this source code is subject to the terms of the Microsoft end-userlicense agreement (EULA) under which you licensed this SOFTWARE PRODUCT.If you did not accept the terms of the EULA, you are not authorized to usethis source code. For a copy of the EULA, please see the LICENSE.RTF on yourinstall media.!endif!IF 0Module Name: makefile.inc!ENDIF## Take the eboot.exe that resulted from the standard build and generate eboot.bin from it.#EbootImage:!IF "$(NOLINK)" == ""romimage eboot_ysd.bib#copy /y/b $(_PLATFORMROOT)\$(_TGTPLAT)\target\$(_TGTCPU)\$(WINCEDEBUG)\eboot_ysd.nb0 + $(_PLATFORMROOT)\$(_TGTPLAT)\target\$(_TGTCPU)\$(WINCEDEBUG)\stepldr_IROM_SD.nb0 $(_PLATFORMROOT)\$(_TGTPLAT)\target\$(_TGTCPU)\$(WINCEDEBUG)\IROM_SD_EBOOT.nb0!IF "$(WINCEREL)"=="1"copy $(_PLATFORMROOT)\$(_TGTPLAT)\target\$(_TGTCPU)\$(WINCEDEBUG)\eboot_ysd.nb0 $(_FLATRELEASEDIR)copy $(_PLATFORMROOT)\$(_TGTPLAT)\target\$(_TGTCPU)\$(WINCEDEBUG)\eboot_ysd.bin $(_FLATRELEASEDIR)copy $(_PLATFORMROOT)\$(_TGTPLAT)\target\$(_TGTCPU)\$(WINCEDEBUG)\eboot_ysd.sre $(_FLATRELEASEDIR)!ENDIF!ENDIF
就记录到这里吧!
- 6410 wince IROM引导SD升级 回忆
- SD卡加载和引导WinCE内核映像的实现
- SD卡引导WinCE启动引发的种种有关…
- 6410硬件启动流程,注意最后一句话,irom启动方式有SD卡启动
- SAMSUNG SOC SD IROM writer for Linux
- SD卡升级实现方法之UBOOT+WINCE应用
- EBoot支持SD卡下载升级Bootloader和WinCE系统
- EBoot支持SD卡下载升级Bootloader和WinCE系统
- EBoot支持SD卡下载升级Bootloader和WinCE系统
- WINCE STL使用回忆
- wince升级
- 四极管:EBoot支持SD卡下载升级Bootloader和WinCE系统
- WinCE SD驱动分析
- WINCE 检测SD卡
- WINCE 检测SD卡
- WINCE SD 驱动学习
- WinCE SD模块结构
- 扑克牌“升级”引发的回忆
- 爱情如江南的青花瓷
- shell测试
- 做为中国人,以下“历史片断”绝对颠覆你的想像!
- Study JQuery《4、事件和动画》
- 判断 iOS 系统版本
- 6410 wince IROM引导SD升级 回忆
- android 面试题
- LoadRunner分析测试结果(转)
- Static关键字的作用
- nefu488餐厅计划问题(最小费用最大流)
- WinCE文件创建修改时间异常
- C++命名规则
- 探究JVM和GC
- 七夕情书之恋恋红尘