明远智睿MY-IMX6 L3035编译手册(2)
编译内核(compile kernel)进入内核源码目录(enter kernel source directory)$ cd ~/my-imx6/02_source/imx_3.0.35_4.1.0/linux-3.0.35/http://wiki.myzr.com.cn/images/e/ee/Myimx6l3035_build_4.1.0.1.jpg
使配置文件生效(validate configured file)
[*]执行source命令
execute source command
$ source ~/my-imx6/03_tools/myimx6_3035_build_env
http://wiki.myzr.com.cn/images/2/26/Myimx6l3035_build_4.2.0.1.jpg
[*]查看编译配置
view compiler configuration
$ echo $ARCH
$ echo $CROSS_COMPILE
提示:可看到ARCH和CROSS_COMPILE被设置
tips:you can see that ARCH和CROSS_COMPILE is configured
http://wiki.myzr.com.cn/images/e/ed/Myimx6l3035_build_4.2.0.2.jpg
[*]验证交叉编译工具配置
verify cross compiler tool configuration
$ ${CROSS_COMPILE}gcc –v
提示:执行命令后可以看到终端显示出交叉编译工具的版本信息。如下图:
tips:you can see version information of cross compiler tool shown on terminal after execution of command.as below:
http://wiki.myzr.com.cn/images/0/06/Myimx6l3035_build_4.2.0.3.jpg
准备配置内核(prepare for kernel configuration)
[*]清除内核配置
remove kernel configuration
$ make distclean
http://wiki.myzr.com.cn/images/e/ec/Myimx6l3035_build_4.3.0.1.jpg
[*]生成.config文件
generated.config file
说明:MY-IMX6-EK200系列评估板及MY-IMX6-EK314系列评估板使用的配置文件是myimx6_defconfig
instructions:configuration files used for MY-IMX6-EK200 seires of evaluation board and MY-IMX6-EK314 series of evaluation board is myimx6_defconfig
$ make myimx6_defconfig
http://wiki.myzr.com.cn/images/1/17/Myimx6l3035_build_4.3.0.2.jpg
编译内核(compile kernel)
[*]编译uImage
compile uImage
$ make uImage
说明:截图中使用了4线程编译。
instruction:4 threads compilation is used in the screenshots。
http://wiki.myzr.com.cn/images/f/f6/Myimx6l3035_build_4.4.0.1.jpg
[*]编译完成
complete compilation
http://wiki.myzr.com.cn/images/6/62/Myimx6l3035_build_4.4.0.2.jpg
[*]目标文件
target file
arch/arm/boot/uImage即为编译得到的目标文件,使用ls命令可查看文件信息。
arch/arm/boot/uImage is the target file through compilation,you can view the file information with ls command。
$ ls arch/arm/boot/uImage –la
http://wiki.myzr.com.cn/images/5/58/Myimx6l3035_build_4.4.0.3.jpg
编译模块(compile module)
[*]编译
compile
$ make
说明:截图中使用了4线程编译。
instruction:4 threads compilation is used in the screenshots。
http://wiki.myzr.com.cn/images/1/1d/Myimx6l3035_build_4.5.0.1.jpg
[*]编译完成
complete compilation
http://wiki.myzr.com.cn/images/4/4c/Myimx6l3035_build_4.5.0.2.jpg
[*]目标文件
target file
编译完成后各模块的.ko文件位于代码所在的目录,通过find命令可以找出编译完成的模块,参考命令如下:
.ko file of each module is in the directory where code is located after compilation ,you can find the module compiled with find command after compilation,refering command as below:
$ find -name *.ko
http://wiki.myzr.com.cn/images/a/ad/Myimx6l3035_build_4.5.0.3.jpg
Linux应用程序编译(Linux application compilation)编写应用程序(write application)1) 创建应用程序目录
create application directory
$ mkdir ~/my-imx6/02_source/application/ -p
$ cd ~/my-imx6/02_source/application/
http://wiki.myzr.com.cn/images/a/a1/Myimx6l3035_build_5.1.0.1.jpg
2) 编写应用程序(这里以hello.c为例)
write application(here take hello.c as example
创建 hello.c 文件写入以下代码并保存:
create hello.c and write following code and save:
[*]include <stdio.h>
int main(int argc, char **argv)
{
printf("Hello, MYZR!\n");
return;
}
3) 查看代码
view code
$ cat hello.c
http://wiki.myzr.com.cn/images/2/21/Myimx6l3035_build_5.1.0.2.jpg
使编译配置文件生效(validate compiler configured file)
[*]执行source命令
execute source command
$ source ~/my-imx6/03_tools/myimx6_3035_build_env
http://wiki.myzr.com.cn/images/1/1e/Myimx6l3035_build_5.2.0.1.jpg
[*]查看编译配置
view compiler configuration
$ echo $ARCH
$ echo $CROSS_COMPILE
提示:可看到ARCH和CROSS_COMPILE被设置
tips:you can see that ARCH和CROSS_COMPILE is configured
http://wiki.myzr.com.cn/images/8/80/Myimx6l3035_build_5.2.0.2.jpg
[*]验证交叉编译工具配置
verify cross compiler tool configuration
$ ${CROSS_COMPILE}gcc –v
提示:执行命令后可以看到终端显示出交叉编译工具的版本信息。如下图:
tips:you can see version information of cross compiler tool shown on terminal after execution of command.as below:
http://wiki.myzr.com.cn/images/5/52/Myimx6l3035_build_5.2.0.3.jpg
编译应用程序 (compile application)2) 编译
compile
$ ${CROSS_COMPILE}gcc hello.c -o hello.out
注意:上面的命令有包含“$”号,即“${CROSS_COMPILE}gcc”,是引用我们source时产生的环境变量。
note:the above commands contain charater“$”,e.g“${CROSS_COMPILE}gcc”,which is the environment variable generated when referring to our source。
http://wiki.myzr.com.cn/images/4/43/Myimx6l3035_build_5.3.0.1.jpg
3) 查看目标文件类型
view type of target file
$ file hello.out
可以看到目标文件 hello.out 的属性。
you can get the property of target file hello.out。
http://wiki.myzr.com.cn/images/6/68/Myimx6l3035_build_5.3.0.2.jpg
文件系统(file system)文件系统说明(file system instruction)文件系统包位于网盘对应的镜像文件夹中。支持的文件系统类型及下载方式可参照《MY-IMX6 烧录指导》。
file system package is located in image file folder in the network disk。as to type of file system supported and way of download please refer to《MY-IMX6 buring guide》。
解压文件系统到编译主机(decompress file system to compiler host)1)创建文件系统的目录并进入
create directory of file system and enter
$ mkdir ~/my-imx6/04_rootfs/ -p
$ cd ~/my-imx6/04_rootfs/
http://wiki.myzr.com.cn/images/1/16/Myimx6l3035_build_6.2.0.1.jpg
2)将文件系统复制到~/my-imx6/04_rootfs/目录
copy file system to ~/my-imx6/04_rootfs/directory
这一步骤自己采取相应的方式进行
this step sbould be done in your own way
3)解压文件系统到指定目录
decompress file system to specified directory
$ mkdir rootfs
$ sudo tar jxf rootfs-linux.tar.bz2 -C rootfs
http://wiki.myzr.com.cn/images/8/89/Myimx6l3035_build_6.2.0.2.jpg
添加应用到文件系统(add application to file system)$ cp ~/my-imx6/02_source/application/hello.out rootfs/app_test/
http://wiki.myzr.com.cn/images/8/89/Myimx6l3035_build_6.3.0.1.jpg
5)重新打包文件系统
re-pakcage file system
$ rm -rf rootfs-linux.tar.bz2
$ cd rootfs/
$ sudo tar cjf ../rootfs-linux.tar.bz2 *
http://wiki.myzr.com.cn/images/0/02/Myimx6l3035_build_6.3.0.2.jpg
添加模块到文件系统(add module to file system)准备需要模块的.ko文件,其它请参照“添加应用到文件系统”。
prepare .ko file of module needed,as to other operations please refer to“add application to file system”。
页:
[1]