
kbuild
sunxiaohusunke
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
uboot构建框架1-总览
uboot版本:2016.03开发板:米尔科技imx6ull单板机编译器:arm-poky-linux-gnueabi-gcc,version5.3.0。由yocto SDK编译生成。编译器的安装和生效,请参考米尔开发板的手册。安装完编译器之后,我们source一下环境即可:source environment-setup-cortexa7hf-neon-poky-linux-g...原创 2019-05-31 10:22:50 · 1703 阅读 · 0 评论 -
uboot构建框架2-kbuild框架简要分析
其实网络上介绍kbuild框架的资料书籍一大把,有的介绍非常详细,大家不妨可以参考。本文试图从一些线索来简要分析kbuild框架,好让我们从一个方面了解一条线,不至于陷入kbuild框架的各种大坑里面。kbuild是个什么鬼?kbuild来源于linux内核,是linux内核用来构建输出内核镜像的make框架。因为这套框架做得比较好,uboot也借过来用了。kbuild中的k,我想应该就是...原创 2019-05-31 14:50:47 · 1762 阅读 · 0 评论 -
uboot构建框架7-u-boot.imx生成过程追踪
还是先找到入口上文《u-boot.bin生成过程追踪》,我们探讨了u-boot.bin的生成过程。在文章开头的地方,我们讲到终极目标,并且找到了主Makefile的终极目标所在。本文探讨u-boot.imx文件的生成,因很多内容跟上文都一样,所以在阅读本文之前,还需要阅读下上文的内容。还是跟u-boot.bin一样,我们在ALL-y里面寻找u-boot.imx的定义。不过可惜,我们好像没找...原创 2019-06-05 15:12:20 · 2051 阅读 · 1 评论 -
uboot构建框架3-make menuconfig命令的过程追踪
menuconfig是干什么的?编译过uboot或者内核的朋友一定清楚这个命令是干什么的,如果不知道,请记住了,这个命令是用来配置的。什么是配置?就是诸如选择什么CPU,选择什么soc,选择什么特性,是否编译成模块等等。uboot和内核的配置功能非常强大。menuconfig是一类通过ncurses实现的简易图形配置功能。我们可以通过cd到uboot根目录,然后键入:make men...原创 2019-05-31 17:49:46 · 1883 阅读 · 0 评论 -
uboot构建框架4-make *defconfig命令的过程追踪
引入还记得我们在文章《uboot构建框架1-总览》里面提到的米尔开发板uboot编译三个命令中的的第二个吗?就是:sunke@droresrv:~/work/MYiR-iMX-Uboot$ make mys_imx6ull_14x14_nand_defconfig道理还是一样的在文章《make menuconfig命令的过程追踪》里面,我们追踪了menuconfig的执行流程。上...原创 2019-06-01 12:27:15 · 1746 阅读 · 0 评论 -
uboot构建框架5-配置文件和make过程是如何联系起来的
什么是配置?还是从编译uboot的第二个命令开始我们的旅程,如下命令:sunke@droresrv:~/work/MYiR-iMX-Uboot$ make mys_imx6ull_14x14_nand_defconfig这个命令会打印一些信息,我们看到最后有个打印信息:## configuration written to .config#这个英语简单不,一目了然,就是...原创 2019-06-02 16:25:37 · 1059 阅读 · 0 评论 -
uboot构建框架6-u-boot.bin生成过程追踪
先看终极目标在配置完毕的情况下,我们在uboot根目录敲下"make"命令,就会执行一系列动作,产生一系列结果。这结果之一,便是u-boot.bin。这个u-boot.bin是一个二进制执行代码文件,理论上可以被CPU直接执行。但是对于imx6来说,不拿这个直接烧写,还是需要再处理一下才行,这个后续会提到。只要是查看主Makefile的执行流程,我们第一要做的,是找到这个Makefile的...原创 2019-06-03 15:30:00 · 3363 阅读 · 1 评论 -
uboot构建框架8-built-in.o的编译过程追踪
找入口追踪的第一件事情,还是找入口,就跟看C代码我们需要先找到main函数一样。我在《u-boot.bin生成过程追踪》一文中提到了"u-boot-dirs"变量,这个变量展开之后,是一系列的目录。然后这些目录作为目标,有如下的生成规则:PHONY += $(u-boot-dirs)$(u-boot-dirs): prepare scripts $(Q)$(MAKE...原创 2019-06-11 21:28:29 · 1896 阅读 · 0 评论