这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » 软件与操作系统 » 编译丨迅为iTOP4412开发板Makefile编译

共9条 1/1 1 跳转至

编译丨迅为iTOP4412开发板Makefile编译

菜鸟
2022-06-30 11:39:32     打赏
在前面入门视频第十期“搭建编译环境 uboot_linux_Android”中,只介绍了输入 Make 命令就可以编译出内核,并没有介绍它是如何运行的。在向内核中添加驱动的时候要完成 3 项工作,包括:1)在 Kconfig 中添加新代码对应项目的编译条件,这一部分在实验 3 已经介绍过;2)将驱动源码添加到对应的目录中,这一步比较好理解,在本章实验中将给大家演示一下;3)在目录 Makefile 中文件中增加针对新代码的编译条目,这一部分将在本章节介绍到。视频资源:本节配套视频为“视频 04_Makefile 编译” 1 编译器路径的设置在前面入门知识中,只介绍了在什么目录解压编译器,在环境变量文件中添加路径,就可以编译出内核,并没有介绍他们之间是如何对应的。如下图所示,按照前面提供的基础教程,配置好 Ubuntu 中的编译器和库文件,输入命令“make”,就可以编译生成内核的二进制镜像。

如下图所示,使用命令“#cd”,使用命令“#vim .bashrc”打开环境变量文件“.bashrc”。

如下图所示,进入最底行,可以看到,在环境变量文件中编译器路径设置为

export PATH=$PATH:/usr/local/arm/arm-2009q3/bin

然后使用命令“#cd /usr/local/arm/”,进入解压编译器“arm-2009q3.tar.bz2”的文件目录

可以明显的看到,环境变量中设置的路径和解压的路径是对应的。这里回到内核源码的目录,如下图所示。

如下图所示,使用命令“vim Makefile”打开内核目录下的 Makefile 文件。

这里通过 vim 编辑器查找参数“CROSS_COMPILE”,如下图所示。

可以查到参数“CROSS_COMPILE”,如下图所示。

再看一下参数“CROSS_COMPILE”的下一行,可以看出这里有修改过的痕迹。很容易推断出,原来三星是用的“4.5.1”版本的编译器,不过这个没关系,只要能编译通过就可以了。

一般说来,拿到源码之后的第一步,是要先要先将源码编译通过。设置上图中的变量“CROSS_COMPILE”以及环境变量还有编译器实际解压路径三者对应。这三者对应之后,就能确保执行 Make 命令之后,系统能够找到这个编译器。

在编译命令执行的过程中,会提示一些错误,然后根据提示的错误,挨个去排查修改,去添加库文件或者修改库文件。这个过程有长有短,考验的只是耐心,并没有太多技巧。由于已经将缺少的库文件写成脚本,这样大家在编译器执行以下脚本就能够编译通过。

针对内核目录下的 Makefile 文件,提醒大家一下,这个文件中内容很多,除了上面编译器路径变量以外的其它部分几乎不用关注。

另外还有一个地方需要了解一下,如下图所示,在该文件的第一行,可以看到内核的版本。




高工
2022-06-30 13:36:09     打赏
2楼

谢谢分享


菜鸟
2022-06-30 14:32:56     打赏
3楼

好资料


专家
2022-07-04 08:10:23     打赏
4楼

感谢分享


专家
2022-07-04 08:17:49     打赏
5楼

感谢分享


专家
2022-07-04 08:42:43     打赏
6楼

谢谢分享


高工
2022-07-04 08:57:33     打赏
7楼

感谢分享


专家
2022-07-04 09:01:04     打赏
8楼

谢谢分享


工程师
2022-07-16 23:41:46     打赏
9楼

不错的文章


共9条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]