当前位置:   article > 正文

imx6ull 使用图形化配置 U-boot并编译验证_uboot图像化配置完成后编译

uboot图像化配置完成后编译

以前的 uboot 是不支持图形化配置,只有 Linux 内核才支持图形化配置。不过不知道从什么时
候开始, uboot 也支持图形化配置了.

Uboot编译

环境准备

uboot 或 Linux 内核可以通过输入“make menuconfig”来打开图形化配置界面, menuconfig
是一套图形化的配置工具,需要 ncurses 库支持。 ncurses 库提供了一系列的 API 函数供调用者
生成基于文本的图形界面,因此需要先在 Ubuntu 中安装 ncurses 库,命令如下:

sudo apt-get install build-essential
sudo apt-get install libncurses5-dev
  • 1
  • 2

配置uboot

menuconfig 重点会用到两个文件: .configKconfig, .config 文件前面已经说了,这个文
件保存着 uboot 的配置项,使用 menuconfig 配置完 uboot 以后肯定要更新.config 文件。 Kconfig
文件是图形界面的描述文件,也就是描述界面应该有什么内容,很多目录下都会有 Kconfig 文
件.
在打开图形化配置界面之前,要先使用“make xxx_defconfig”对 uboot 进行一次默认配置,
只需要一次即可。如果使用“ make clean”清理了工程的话就那就需要重新使用“ make
xxx_defconfig”再对 uboot 进行一次配置。进入 uboot 根目录,输入如下命令:

make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- mx6ull_alientek_emmc_defconfig
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- menuconfig
  • 1
  • 2

如果已经在 uboot 的顶层 Makefile 中定义了 ARCH 和 CROSS_COMPILE 的值,那么上述
命令可以简化为:

make mx6ull_alientek_emmc_defconfig
make menuconfig
  • 1
  • 2

打开后的图形化界面如下图所示:
在这里插入图片描述
通过键盘上的“↑”和“↓”键来选择要配置的菜单**,按下“Enter键进入子菜单**。菜单
中高亮的字母就是此菜单的热键,在键盘上按下此高亮字母对应的键可以快速选中对应的菜单。
选中子菜单以后按下**“Y”键就会将相应的代码编译进 Uboot 中**,菜单前面变为“< * >”。按下
“N”键不编译相应的代码,按下“M”键就会将相应的代码编译为模块,菜单前面变为“< M >”。
按两下“Esc”键退出,也就是返回到上一级,按下“?”键查看此菜单的帮助信息,按下“/”键打开搜索框,可以在搜索框输入要搜索的内容
在配置界面下方会有五个按钮,这五个按钮的功能如下:
:选中按钮,和“Enter”键的功能相同,负责选中并进入某个菜单。
:退出按钮,和按两下“Esc”键功能相同,退出当前菜单,返回到上一级。
:帮助按钮,查看选中菜单的帮助信息。
:保存按钮,保存修改后的配置文件。
:加载按钮,加载指定的配置文件。

以DNS为例,配置如下:
在这里插入图片描述

编译uboot

使用如下命令编译 uboot:

make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- -j16
  • 1

千万不能使用如下命令:

./mx6ull_mybsp_emmc.sh
  • 1

因为 mx6ull_mybsp_emmc.sh 在编译之前会清理工程,会删除掉.config 文件!通过图形化界面配置所有配置项都会被删除。

为了防止每次编译器之前清理掉工程,可以save到指定路径下,在下次make menuconfig 打开界面时,可以使用Load去加载之前的配置文件。
在这里插入图片描述
修改完毕后再使用

make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- -j16
  • 1

如果makefile 中指定了ARCHCROSS_COMPILE,则直接输入:

make -j16
  • 1

烧录验证编译好的U-boot

chmod 777 imxdownload       //给予 imxdownload 可执行权限 
./imxdownload u-boot.bin /dev/sda    //烧写 u-boot.bin 到 SD 卡中
  • 1
  • 2

烧写完成以后将 SD 卡插入 I.MX6U-MINI 开发板的 TF 卡槽中,最后设置开发板从 SD卡启动。打开 mobaxterm,设置好开发板所使用的串口并打开,复位开发板。

编译完成以后烧写到 SD 卡中, 重启开发板进入 uboot 命令模式, 输入 “?” 查看是否有 “dns”命令,一般肯定有的。测试一下 dns 命令工作是否正常,使用 dns 命令来查看一下百度官网“www.baidu.com”的 IP 地址。要先设置一下 dns 服务器的 IP 地址,也就是设置环境变量 dnsip的值,mobaxterm中输入命令如下:

setenv dnsip 114.114.114.114
saveenv
dns www.baidu.com
  • 1
  • 2
  • 3

在这里插入图片描述

uboot自定义菜单

打开顶层 Kconfig,在最后面加入如下代码:

menu "My test menu"

config MY_TESTCONFIG
  bool "This is my test config"
  default y
  help
    This is a empty config, just for test!
endmenu # my test menu
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

添加完成以后使用 make menuconfig 打开图形化配置界面:
在这里插入图片描述
再点击Enter 进去子菜单:
在这里插入图片描述
从图可看出配置项 MY_TESTCONFIG 默认也是被选中的,因此在.config 文件中肯定会有“CONFIG_MY_TESTCONFIG=y”这一行,如下图所示:
在这里插入图片描述
到此为止,自定义菜单添加成功了。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/很楠不爱3/article/detail/607849
推荐阅读
相关标签
  

闽ICP备14008679号