u-boot2011.12在mini2440上的移植2

u-boot2011.12在mini2440上的移植2

        u-boot2011.12在mini2440上的移植1中的错误,经查看源代码后发现时开始NOR Flash支持时引起的,考虑到不需要NOR Flash支持,故去掉NOR FLASH支持。
        1.  mini2440.h中,添加宏定义
        #define CONFIG_SYS_NO_FLASH
        用于关闭NOR FLASH
        将上次注释掉的#define CONFIG_CMD_NAND打开并在其后添加#define CONFIG_CMD_SAVEENV
        修改Flash配置为
#if 0
#define CONFIG_SYS_FLASH_CFI
#define CONFIG_FLASH_CFI_DRIVER
#define CONFIG_FLASH_CFI_LEGACY
#define CONFIG_SYS_FLASH_LEGACY_512Kx16
#define CONFIG_FLASH_SHOW_PROGRESS    45

#define CONFIG_SYS_MAX_FLASH_BANKS    1
#define CONFIG_SYS_FLASH_BANKS_LIST     { CONFIG_SYS_FLASH_BASE }
#define CONFIG_SYS_MAX_FLASH_SECT    (19)

#define CONFIG_ENV_ADDR            (CONFIG_SYS_FLASH_BASE + 0x070000)
#define CONFIG_ENV_IS_IN_FLASH
#define CONFIG_ENV_SIZE            0x10000
#else
#define CONFIG_ENV_IS_IN_NAND  1  
#define CONFIG_ENV_OFFSET      0x30000 //将环境变量保存到nand中的0x30000位置  
#define CONFIG_ENV_SIZE        0x10000 /* Total Size of Environment Sector */  
#endif
用于将ENV设置在NAND中

        mini2440.c中,注释掉函数ulong board_flash_get_legacy(ulong base, int banknum, flash_info_t *info)

修改cmd_bootm.c文件

a)把81和82行注释掉,如下:

// abort NOR FLASH  |del by guoyirong 2011.06.25
//#include <mtd/cfi_flash.h>
//extern flash_info_t flash_info[]; /* info for FLASH chips */

b)把函数int do_imls (cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])整体注释掉,改为如下:

int do_imls (cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]){return (0);}

添加

drivers/mtd/nand/目录下新建s3c2440_nand.c文件实现对NAND FLASH的操作,参考http://blog.csdn.net/reille/article/details/6568761中2.5

编译即可。

运行时可uboot可运行,但NAND仍有bug


       



  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值