通过前面裸机的学习,基本上掌握了外设的底层原理,这样在以后进行Linux驱动开发的时候就只需要将精力放到Linux驱动框架上,在进程Linux驱动开发之前需要将Linux系统移植到开发板上。

第一:U-Boot实验基本原理
在移植U-Boot之前,先看下U-Boot是什么,启动U-Boot可以学习一下其中的命令。 先编译对应的uboot源码,使用相应的编译命令:

分析解释: 这三条命令中 ARCH=arm 设置目标为 arm 架构,CROSS_COMPILE 指定所使用的交叉编译器。第一条命令相当于“make distclean”,目的是清除工程,一般在第一次编译的时候最好清理一下工程。第二条指令相当于“make mx6ull_14x14_ddr512_emmc_defconfig”,用于配置 uboot,配置文件为 mx6ull_14x14_ddr512_emmc_defconfig。最后一条指令相当于 “make -j12”也就是使用 12 核来编译 uboot。当这三条命令执行完以后 uboot 也就编译成功了。
第二:常见的信息查询命令 bdinfo、printenv 和 version。先来看一下 bdinfo 命令,此命令用于查看板子信息,直接输入“bdinfo”即可。

第三:添加自定义菜单 图形化配置工具主要工作就是在.config下面生成前缀为“CONFIG_”的变量,这些变量一般都是要值,为y,m或n,在uboot源码里面会根据这些定变量决定编译哪个文件,自定义菜单要求如下:①、在主界面中添加一个名为“My test menu”,此菜单内部有一个配置项。②、配置项为“MY_TESTCONFIG”,此配置项处于菜单“My test menu”中。③、配置项的为变量类型为 bool,默认值为 y。④、配置项菜单名字为“This is my test config”⑤、配置项的帮助内容为“This is a empty config, just for tset!”。
打开顶层Kconfig,在最后面加入如下代码:
添加完成以后打开图形配置界面

主菜单最后面出现了一个名为“My test menu”的子菜单,这个就是我们上面添加进来的子菜单。

在.config 文件中肯定会有“CONFIG_MY_TESTCONFIG=y”这一行。
总结:重点要记住,Kconfig文件的最终目的就是在.config文件中生成以“CONFIG_”开头的变量。

第一:U-Boot实验基本原理
在移植U-Boot之前,先看下U-Boot是什么,启动U-Boot可以学习一下其中的命令。 先编译对应的uboot源码,使用相应的编译命令:

分析解释: 这三条命令中 ARCH=arm 设置目标为 arm 架构,CROSS_COMPILE 指定所使用的交叉编译器。第一条命令相当于“make distclean”,目的是清除工程,一般在第一次编译的时候最好清理一下工程。第二条指令相当于“make mx6ull_14x14_ddr512_emmc_defconfig”,用于配置 uboot,配置文件为 mx6ull_14x14_ddr512_emmc_defconfig。最后一条指令相当于 “make -j12”也就是使用 12 核来编译 uboot。当这三条命令执行完以后 uboot 也就编译成功了。
第二:常见的信息查询命令 bdinfo、printenv 和 version。先来看一下 bdinfo 命令,此命令用于查看板子信息,直接输入“bdinfo”即可。

第三:添加自定义菜单 图形化配置工具主要工作就是在.config下面生成前缀为“CONFIG_”的变量,这些变量一般都是要值,为y,m或n,在uboot源码里面会根据这些定变量决定编译哪个文件,自定义菜单要求如下:①、在主界面中添加一个名为“My test menu”,此菜单内部有一个配置项。②、配置项为“MY_TESTCONFIG”,此配置项处于菜单“My test menu”中。③、配置项的为变量类型为 bool,默认值为 y。④、配置项菜单名字为“This is my test config”⑤、配置项的帮助内容为“This is a empty config, just for tset!”。
打开顶层Kconfig,在最后面加入如下代码:

添加完成以后打开图形配置界面

主菜单最后面出现了一个名为“My test menu”的子菜单,这个就是我们上面添加进来的子菜单。

在.config 文件中肯定会有“CONFIG_MY_TESTCONFIG=y”这一行。
总结:重点要记住,Kconfig文件的最终目的就是在.config文件中生成以“CONFIG_”开头的变量。