加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-15 06:12:50 所属栏目:百科 来源:网络整理
导读:u-boot2011.12在mini2440上的移植2 ??????? u-boot2011.12在mini2440上的移植1中的错误,经查看源代码后发现时开始NOR Flash支持时引起的,考虑到不需要NOR Flash支持,故去掉NOR FLASH支持。 ??????? 1.? mini2440.h中,添加宏定义 ??????? #define CONFIG_
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,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

???????

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读