Chinaunix首页 | 论坛 | 博客
  • 博客访问: 73703
  • 博文数量: 35
  • 博客积分: 1420
  • 博客等级: 上尉
  • 技术积分: 306
  • 用 户 组: 普通用户
  • 注册时间: 2006-03-15 13:33
个人简介

自强不息!

文章分类

全部博文(35)

文章存档

2020年(1)

2017年(1)

2011年(3)

2010年(15)

2009年(2)

2008年(2)

2007年(1)

2006年(10)

我的朋友

分类: WINDOWS

2010-03-23 11:28:48

 以前在方案供应商买开发板上用NAND FLASH 是128M的K9F1G08U0A,在使用中分成了4个区域,第个分区做成了FLASH DISK ,第二个和第三个分区分别是NK.BIN的存放分区,第四个LOGO存放的分区,我现在是要改成1G的 NAND FLASH 型号是K9K8G08U0A,那么要改动那些地方呢

C:\WINCE500\PLATFORM\Db1200\Eboot\Common\Ldrnand
C:\WINCE500\PLATFORM\Db1200\Eboot\Common\Ldrbinfs
C:\WINCE500\PLATFORM\Db1200\Eboot\Inc
C:\WINCE500\PLATFORM\Db1200\Drivers\Binfs
C:\WINCE500\PLATFORM\Db1200\Drivers\nandFmd
首 先我们看下Eboot\Inc下面的Nanddarg.h里面定义了

#if defined(USE_BINFS)

#define BINFS_NUM_BLOCKS              800       //定义BINFS文件系统占用NAND FLASH 多少个块

#define BINFS_LOGO_NUM_BLOCKS   50       //定义LOGO文件占用NAND FLASH 多少个块

#else                                                                  // 我觉得LOGO的50 BLOCKS应该是包含在        

                                                                           //BINFS_NUM_BLOCKS 里面了

#define BINFS_NUM_BLOCKS              0         //不使用BINFS文件系统

#endif

#if defined(K9F1G08U0A)
#define NUM_BLOCKS       (1024-BINFS_NUM_BLOCKS)     //定义了BINFS文件系统占用后还剩多少BLOCKS

#define SECTOR_SIZE         2048       //FLASH 的页大小

#define SPARE_SIZE             64          //是指一页有另外多少字节来存放的ECC空间,不同的FLASH是不同的

#define SECTOR_PER_BLOCK  64    //一块多少个页

K9K8G08U0A总共有8192 Blocks,Pages=2048 ,SPARE_SIZE=64,BLOCKS=64Pages

那么我就应该修改成:

#if defined(K9K8G08U0A)
#define NUM_BLOCKS       (8196-BINFS_NUM_BLOCKS)     //定义了BINFS文件系统占用后还剩多少BLOCKS

#define SECTOR_SIZE         2048       //FLASH 的页大小

#define SPARE_SIZE             64          //是指一页有另外多少字节来存放的ECC空间,不同的FLASH是不同的

#define SECTOR_PER_BLOCK  64    //一块多少个页

 

另外 BINFS_NUM_BLOCKS和BINFS_LOGO_NUM_BLOCKS这两个参数是怎么使用的呢,上面我BINFS_NUM_BLOCKS定义 的BINFS文件系统占用的了多少BLOCKS FLASH的空间,

BLOCK=128;   800 BLOCKS=800×128K =100MB,BINFS_LOGO_NUM_BLOCKS占用的了50个BLOCKS,那就减去50 BLOCKS  ,50 BLOCKS = 50*128K = 6MB, 那用来放NK的分区就有94MB,这里又把94MB分成了两个区,每个区47MB,一个区是存放NK.BIN,另外一个存放一个NK.bin的备份。

阅读(470) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~