农安县建设局网站,了解网站开发流程,电商网站楼层 设计,手工艺品网站建设策划书#xff08;一#xff09;目的
在进行嵌入式开发的时候#xff0c;我们往往会先在电脑上安装交叉编译器#xff0c;然后编译目标板上的代码#xff0c;最后把代码下载到电路板中#xff0c;嵌入式系统组成包括#xff1a;BootLoaderkernelfilesystemapplication#x…一目的
在进行嵌入式开发的时候我们往往会先在电脑上安装交叉编译器然后编译目标板上的代码最后把代码下载到电路板中嵌入式系统组成包括BootLoaderkernelfilesystemapplication前面我们已经制作好了BootLoader这一节我们制作一个kernel镜像
二工具
linux-3.5版本内核Ubuntu 16.04linux交叉编译环境(我已经安装过没有安装的可以下载arm-linux-gcc-4.5.1-v6-vfp-20120301.tgz
这里说明一点我们获取linux内核一般可以从linux官方获取或者从开发板的厂商那获取我比较推荐第二种因为第一种还需要我们进行有关硬件的配置
三操作流程
1、将linux-3.5-20141114.tar拷贝到Linux系统中
2、解压linux-3.5-20141114.tar
tar -xvf linux-3.5-20141114.tar3、进入解压后的目录
make menuconfig打开配置界面若无法打开需要安装库
apt install ncurses-dev运行make menuconfig打开上面的窗口可以进行内核功能的删减 按下面的步骤修改一个地方
System Type ---
[ ] Support TrustZone-enabled Trusted Execution Environment //按空格取消该模块4、修改内核的顶层Makefile 因为最终内核运行到arm开发板编译需要在PC端所以需要使用到交叉编译器,在Makefile里指定交叉编译器为arm-linux- 5、拷贝Linux3.5目录下的tiny4412_linux_defconfig为默认配置文件
cp tiny4412_linux_defconfig .config6、编译内核
make -j8若出现一下错误
Cant use defined(array) (Maybe you should just omit the defined()?) at kernel/timeconst.pl line 373.
/driver/linux-3.5/kernel/Makefile:133: recipe for target kernel/timeconst.h failed
make[1]: *** [kernel/timeconst.h] Error 255
make[1]: *** 正在等待未完成的任务....
修改kernel/timeconst.pl的373行
if (!defined(val)) {val compute_values($hz);}
为
if (val) {val compute_values($hz);}7、烧写内核到SD卡
编译完成会提示Kernel: arch/arm/boot/zImage is ready
将SD卡插入读卡器并连接到Ubuntu
cd arch/arm/boot
dd iflagdsync oflagdsync if./zImage of/dev/sdb seek1057大概持续40秒
8、验证是否烧写成功 将SD卡拔出插到自己的开发板上验证启动后在串口里会提示内核启动的流程即为成功