u-boot中nor flash的sector管理方式

转载 2015年11月18日 16:35:53

   我们通过flinfo可以看到,在u-boot中,nor flash被按照sector来管理,但是注意分清出概念,这里的sector,并非和nor flash中sector的定义一样,而是nor flash datasheet中定义的sector的倍数个,并且,在u-boot中,可以划分不同的区域(最大可以设置6个区域),并且在不同区域中,sector的大小不同,请看下面的示意图:

jedec_table.regions[]:
                                    |---------------|
                                    |regions[3]  |
info->start[3]----------->|---------------|
                                    |regions[2]  |
info->start[2]----------->|---------------| 
                                    |regions[1]  |
info->start[1]----------->|---------------|
                                    |regions[0]  |
info->start[0]----------->|---------------| <---- PHYS_FLASH_1 0x00000000


                                   |--------------| 
                                   |regions[1]  |
info->start[1]----------->|--------------|
                                       /
                                     /   ERASEINFO(size,blocks)
                                   /
                  |-------------|\ 
                  |-------------| |
                  |-------------| |
                  |-------------| |regions_size = sector_size*sector_number
                  |-------------| |
                  |-------------| |
                  |-------------| |
                  |-------------|/

u-boot在管理nor flash时,擦除操作时按照最小单位为sector_size进行的,我们给出一个实例:

  1. .NumEraseRegions= 4,  
  2. .regions    = {  
  3.    ERASEINFO(0x10000,6),  /* 6  blocks */  
  4.    ERASEINFO(0x10000,10), /* 10 blocks */  
  5.           ERASEINFO(0x10000,15), /* 15 blocks */  
  6.           ERASEINFO(0x10000,1),  /* 1  blocks */  

在这个例子中,我们共分了4个区域,第一个区域有6个sectors,每个sectors大小为0x10000(也就是刚好SST39LV1601一个block的大小),这样,u-boot在擦除操作的时候,擦除的最小单位就是一个block了。这里定义第一个区域为6,是因为一般这个区域放u-boot映像文件,最后一个区域为1block是因为这个区域我们计划用来放置环境变量。


http://blog.csdn.net/cneozhang/article/details/6694405

u-boot nor flash驱动

  • 2012年06月01日 23:37
  • 8KB
  • 下载

u-boot-2014.10移植第15天----nor flash操作

去除nor flash写保护在已经运行起来的u-boot命令行去除nor flash写保护:TQ2440 # flinfo Bank # 1: EON EN29LV160AB flash (16 x...
  • sonbai
  • sonbai
  • 2015年02月05日 08:38
  • 2349

添加NOR FLASH到U-BOOT(附图)

本次移植参照《(原)uboot-2009.11移植手册(适用与Mirco2440,Mini2440,TQ2440).pdf》感谢作者! u-boot默认是从nor flash启动,现在的u-boot...

U-boot-2014.04移植到MINI2440(5) Nor FLASH 读写支持移植

MINI2440有一个2M的NOR FLASH,NOR FLASH在MINI2440上其实是一个容量较小的ROM,不过它比NAND要好的地方在于可以执行代码。当开关打在nor的时候,就选择从NOR F...

移植u-boot学习笔记6-----修改代码支持nor flash

支持了nand flash启动并不是说支持了以后对nand flash的读写操作,支持nand flash启动只需要在重定位时(把代码从nand flash拷贝到SDRAM的函数copy_code_t...

u-boot移植随笔:终于解决Nor Flash的问题了

今天解决了困扰我好几个月的问题了。终于将u-boot的Nor代码搞好了。
  • subfate
  • subfate
  • 2011年03月02日 16:50
  • 1876

u-boot-2014.10移植第16天----Nor flash启动

第15天时将u-boot.bin文件烧录到Norflash上没有正常启动,考虑到tq2440.h文件中的CONFIG_SYS_TEXT_BASE 值时0x33FC0000,我们将其修改为0,毕竟这个是...
  • sonbai
  • sonbai
  • 2015年02月06日 08:14
  • 1898

TQ2440 u-boot-2012.04.01移植三支持NOR Flash

继 u-boot-2012.04.01移植二支持NAND启动,继续修改代码支持NAND Flash、NOR Flash。最后直接用NOR Flash里的u-boot烧写自己移植的u-boot到NAND...

U-Boot移植FL2440--2--支持从Nor FLASH启动

U-Boot移植--2--支持从Nor FLASH启动 Step     2012.4.27 ---------------------------------------------------...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:u-boot中nor flash的sector管理方式
举报原因:
原因补充:

(最多只允许输入30个字)