Multi-Xip

最近在omap上实现了Ce6.0的MultiXip,其实是挺简单的,只是一些地方需要注意。首先心里得有个概况:

一般我们不使用BinFS时候布局如下:

image

增加BinFS后布局如下:

image

其实很多时候,我们有了BinFS,但并没有使用multi-xip功能的优点:节省上电拷贝时间和内存!下面是实现时候的注意地方:

1、Eboot

Eboot里面一定得支持分区PART_BINFS,用于存储OS(xip.nb0).我这分为两个分区PART_BINFS和PART_DOS32(用作文件系统)。源码如下:

        hPartition = BP_OpenPartition(NEXT_FREE_LOC, dwBootPartitionSectorCount, PART_BINFS, FALSE, PART_CREATE_NEW);
        if (hPartition == INVALID_HANDLE_VALUE)
        {
            OALLog(L"Error creating OS partition!!/r/n");
            goto cleanUp;
        }
        // Create FAT partition on remaining flash (can be automatically mounted)
        hPartition = BP_OpenPartition(NEXT_FREE_LOC, USE_REMAINING_SPACE, PART_DOS32, FALSE, PART_CREATE_NEW);
        if (hPartition == INVALID_HANDLE_VALUE)
        {
            OALLog(L"Error creating file partition!!/r/n");
            goto cleanUp;
        }

2、Hive文件系统

系统能够像PC一样,最好使用Hive,这样能够对设置信息等自动保存。增加进来比较简单,Catalog选择如下图:

image

Hive设置如下图:

image

按照微软的配置在:

[HKEY_LOCAL_MACHINE/System/StorageManager/Profiles//<FileSystemName>]
   "MountBootable"=dword:1

这样来配置Hive存放位置,但未成功,故只好指定在文件系统ResidentFlash下面,这个是"Folder"="ResidentFlash".

上面的错误由于选择RAM和ROM,导致默认为对象存储作为根目录导致,需要更改为ROM Only即可。

 

3、配置config.bib

Binary ROM Iimage File System (BinFS)和Multiple XIP Support这两节的帮助已经说得清晰了,需要增加什么文件都清楚(How to Modify the MEMORY Section of the Config.bib File to Support BinFS),但自身还需要增加自己的驱动进入xipkernel,有个经验,可直接将platform.bib里面的内容全部拷贝过来,将NK更改为XIPKERNEL,再将认为不需要的删除即可,这样试验即可实现了。

4、platform.reg

配置binFS,这里需要用到binFS,增加进入作为一个profile.

image

碰到还有一个问题:

image

BootPhase:

0 Specifies that the locale has not been initialized.

1 Specifies that the locale has been initialized, but the full registry is not yet functional.

2 Specifies that the registry is functional.

BootPhase=dword:0则在FMD_Init里面读取注册表值不成功,表现为读取成功但值并未得到,为0。必需更改为1才能正常读取。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值