nandflash 分区

本文分享了在ADS环境下,通过调用bootpart.lib在NAND Flash进行分区的经验。主要内容包括在Flash驱动中实现分区,注册表设置,以及代码中调用BP_Init和BP_OpenPartition API的具体操作。特别指出在BP_OpenPartition的首次调用中,应使用PART_DOS3_FAT而非PART_DOS32,否则可能导致第二个分区不可见。
摘要由CSDN通过智能技术生成

以下内容是本人经验总结,如需转贴请注明出处!

http://blog.csdn.net/nick_TS16949/archive/2009/07/14/4346647.aspx

 

 

 

 

关于nandflash分区问题,由于在文件系统/MBR方面的欠缺让我走了许多弯路,虽然在网上搜了很多关于nandflash分区的文章,但我都没有成功。 在经过1个星期的修改/测试终于搞定了,所以现在把经验和步骤贴出来跟大家分享下。

 

一、实现分区的地方

因为我的boot是ADS写的,不能直接使用microsoft的bootpart源代码来分区,所以分区是在flash驱动中通过调用bootpart.lib来实现的。

另外!

不过根据其他人的经验,ADS下实现FLASH分区可以使用uc/fs的文件系统,而且更方便的做法:实现usb host,直接通过PC拷贝nk和应用程序到flash盘下,不需要烧录!

uc/fs分区的示意代码:

     FS_Init();

    FS_IoCtl("nf:0:", FS_CMD_FORMAT_AUTO, 0, 0);
    FS_IoCtl("nf:1:", FS_CMD_FORMAT_AUTO, 0, 0);

 

还有种方法就是把boopart.cpp的代码移植到ADS下,不过在移植BOOL BP_Init (LPBYTE pMemory, DWORD dwSize, LPCTSTR lpActiveReg, PPCI_REG_INFO pRegIn, PPCI_REG_INFO pRegOut)函数时遇到问题,这个PPCI_REG_INFO定义涉及到需要头文件,相当麻烦!所以放弃了,改用在os中实现分区。

 

二、注册表部分

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值