在u-boot中增加nor flash的支持
来源:互联网 发布:物业软件哪个好 编辑:程序博客网 时间:2024/04/28 04:08
开发板只带有一片SST的FLASH,而u-boot中at91sam9260ek中没有运行程序在norflash中的实例。花时间修改配置,将其运行在norflash中。
(1) 修改板子头文件mprts2.h:
/* NAND flash */
/* NOR flash - no real flash on this board */
//#define CONFIG_SYS_NO_FLASH
#define CONFIG_FLASH_CFI_LEGACY 1
#define CONFIG_SYS_FLASH_BASE 0x10000000
#define CONFIG_SYS_FLASH_CFI 1
#define CONFIG_FLASH_CFI_DRIVER 1
#define CONFIG_SYS_MAX_FLASH_SECT 128
#define CONFIG_SYS_MAX_FLASH_BANKS 1
#define CONFIG_FLASH_CFI_WIDTH FLASH_CFI_16BIT
1) CONFIG_SYS_NO_FLASH、CONFIG_FLASH_CFI_DRIVER、CONFIG_SYS_FLASH_CFI:定义此变量表明不使用nor flash。CONFIG_SYS_FLASH_CFI表示添加CFI FLASH的驱动,在MAKE过程中,生成include/autoconf.mk的时候会添加一行:
CONFIG_SYS_FLASH_CFI=y
此时,drivers/mtd/cfi_flash.c驱动将添加到编译文件中。
2) CONFIG_FLASH_CFI_LEGACY:定义是JEDEC标准的FLASH,drivers/mtd/jedec_flash.c被添加到编译文件中。
3) CONFIG_SYS_FLASH_BASE:FLASH的访问地址。
4) CONFIG_SYS_MAX_FLASH_SECT:FLASH的BLOCK数目。
5) CONFIG_SYS_MAX_FLASH_BANKS:FLASH的BANKS数,表示有多少个FLASH,一般设置为1。
6) CONFIG_FLASH_CFI_WIDTH:FLASH的端口宽度。
(2) 修改jedec_flash.c.
由于使用的FLASH是JEDEC标准的FLASH,它需要使用jedec_flash驱动。碰巧驱动文件中没有我使用的FLASH型号,修改它的内容如下:
static const struct amd_flash_info jedec_table[] = {
//内容略
{
.mfr_id = (u16)SST_MANUFACT,
.dev_id = SST_FLASH_ID,
.name = "SST_FLASH",
.uaddr = {
[1] = MTD_UADDR_0x0555_0x02AA
},
.DevSize = SIZE_8MiB,
.CmdSet = P_ID_AMD_STD,
.NumEraseRegions= 1,
.regions = {
ERASEINFO(0x10000,128),
}
},
};
有几个参数需要说明一下:
1) uaddr: 设置FLASH操作的前两个指令,可以查DATASHEET得出。如果是8位的端口设置“[0]=”,16位的端口设置“[1]=”的内容,如上面的那样;
2) NumEraseRegions和ERASEINFO:设置FLASH的区域,如设置的FLASH块的大小为64K字节,共128个块。也可设置多个区域,NumEraseRegions设置区域的数目。
- 在u-boot中增加nor flash的支持
- u-boot-2009.08在mini2440上的移植 增加nor flash功能
- u-boot-2009.08在mini2440上的移植(二)---增加nor flash功能
- u-boot-2011.06在mini2440上的移植之Nor flash支持
- u-boot-2011.06在mini2440上的移植之Nor flash支持
- u-boot中nor flash的sector管理方式
- u-boot中nor flash的sector管理方式
- u-boot中nor flash的sector管理方式
- u-boot-2009.08在mini2440上的移植(二)---增加nor flash功能 ——心得体会
- U-boot(NOR Flash)
- u-boot:从NOR FLASH启动并支持NAND FLASH读写的移植
- 基于TQ2440的u-boot 1.1.6移植(二)(支持nor flash nand flash )
- u-boot-2009.08在飞凌OK2440/FL2440上的移植(二)——让u-boot支持从nor flash 启动
- U-Boot移植FL2440--2--支持从Nor FLASH启动
- TQ2440 u-boot-2012.04.01移植三支持NOR Flash
- U-boot-2009.08移植(三)支持Nor FLASH
- U-boot-2009.08移植(三)支持Nor FLASH
- fl2440的U-boot-2010.09移植(四) 添加NOR Flash启动支持
- 毕业
- 霍夫变换(Hough Transform)
- AppFuse QuickStart - Chinese
- linux下c语言写的简单的贪吃蛇
- UVA 10522 Height to Area
- 在u-boot中增加nor flash的支持
- Java基础知识学习
- CSDN 404你懂的
- .net Repeater无数据时显示"no result" 快速解决方法
- 下载的好去处
- 对象初始化
- 在IBM DS4800上实现Storage Partition
- html表单使用示例
- 淘宝面试记