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

用IMX51_EVK小系统模拟新板子--修改u-boot宏定义

发布时间:2020-12-15 18:45:45 所属栏目:百科 来源:网络整理
导读:为了能够使u-boot能够把环境变量保存在自己所在的SPI NOR FLASH中,必须要修改相应的宏定义文件。步骤如下: 1、修改mx51_bbg_android.h 文件 在~/MyAndroid/bootable/bootloader/uboot-imx/include/configs/目录下,找到mx51_bbg_android.h 文件。用gedit或

为了能够使u-boot能够把环境变量保存在自己所在的SPI NOR FLASH中,必须要修改相应的宏定义文件。步骤如下:

1、修改mx51_bbg_android.h 文件

在~/MyAndroid/bootable/bootloader/uboot-imx/include/configs/目录下,找到mx51_bbg_android.h 文件。用gedit或者vi打开,修改如下:

???默认是注释掉的,把注释去掉
?#define CONFIG_FSL_ENV_IN_SF

.....

????????????

----把默认这段先注释掉,然后重新复制一下,把CONFIG_FSL_ENV_IN_MMC和CONFIG_FSL_ENV_IN_SF所在的宏定义段,调换一下位置,变成下面这样:
#if defined(CONFIG_FSL_ENV_IN_NAND)
?#define CONFIG_ENV_IS_IN_NAND 1
?#define CONFIG_ENV_OFFSET?0x100000
#elif defined(CONFIG_FSL_ENV_IN_SF)
?#define CONFIG_ENV_IS_IN_SPI_FLASH?1
?#define CONFIG_ENV_SPI_CS??1
?#define CONFIG_ENV_OFFSET???????(768 * 1024)
#elif defined(CONFIG_FSL_ENV_IN_MMC)
?#define CONFIG_ENV_IS_IN_MMC?1
?#define CONFIG_ENV_OFFSET?(768 * 1024)
#else
?#define CONFIG_ENV_IS_NOWHERE?1
#endif

2、保存mx51_bbg_android.h 文件退出

3、重新编译u-boot

(1)make distclean (先清除前面编译得到的文件)

(2)make mx51_bbg_android_config (按照Makefile文件中对应的节点进行配置)

(3)make (开始编译u-boot)

4、把得到的u-boot.bin文件用ATKTool写入到SPI NOR FLASH中。

5、启动I.MX51_EVK,并配置环境变量,显示如下:

U-Boot 2009.08-00082-g4e9cb1c-dirty (May 18 2010 - 01:34:12)

CPU:???Freescale i.MX51 family 3.0V at 800 MHz
mx51 pll1: 800MHz
mx51 pll2: 665MHz
mx51 pll3: 216MHz
ipg clock?????: 66500000Hz
ipg per clock : 665000000Hz
uart clock????: 66500000Hz
cspi clock????: 54000000Hz
Board: MX51 BABBAGE 3.0 [POR]
Boot Device: SPI NOR
DRAM:??512 MB
MMC:???FSL_ESDHC: 0
JEDEC ID: 0x1f:0x27:0x01
Reading SPI NOR flash 0xc0000 [0x20000 bytes] -> ram 0x975e0800
.SUCCESS

*** Warning - bad CRC,using default environment

In:????serial
Out:???serial
Err:???serial
Press home + power to enter recovery mode ...
Net:???FEC0 [PRIME]
Hit any key to stop autoboot:??0
BBG U-Boot > setenv serverip 192.168.1.120
BBG U-Boot > setenv ipaddr 192.168.1.125
BBG U-Boot > setenv ethaddr 00:04:9f:00:ea:d3
BBG U-Boot > saveenv
Saving Environment to SPI Flash...
Erasing SPI flash...Erase is built in program.
Writing to SPI flash...Writing SPI NOR flash 0xc0000 [0x20000 bytes] <- ram 0x975e0800
.....SUCCESS

done
BBG U-Boot >

OK,环境变量实现了在SPI NOR FLASH中的保存。由此可以看出,才版本的u-boot不但支持SPI NOR FLASH,而且支持ATMEL 的AT45DB321D芯片。

(编辑:李大同)

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

    推荐文章
      热点阅读