嵌入式系统设计实验二
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
. . . .
实验报告
课程名称:嵌入式系统设计指导老师:马永昌成绩:________________ 实验名称:嵌入式系统的启动实验类型:验证型同组学生:__凡原_______
一、实验目的和要求(必填)二、实验容和原理(必填)
三、主要仪器设备(必填)四、操作方法和实验步骤
五、实验数据记录和处理六、实验结果与分析(必填)
七、讨论、心得
一、实验目的和要求
⏹初步了解嵌入式系统的开发流程
⏹初步了解嵌入式系统的启动流程
⏹掌握Linux核编译
二、实验容和原理
⏹编译Linux核
⏹烧写核镜像并启动
⏹启动参数配置
三、主要仪器设备
树莓派、PC机
四、操作方法和实验步骤
1 安装编译核的交叉编译工具链
2 配置核,编译生成核镜像文件。
3 替换SD卡中原先的核镜像文件,启动树莓派。
五、实验数据记录和处理
1.创建root用户
sudo passwd root
输入密码,创建root用户密码
su root
切换到root用户
2.安装编译核的交叉编译工具链
将交叉编译工具链压缩文件gcc-linaro-arm-linux-gnueabihf-raspbian-x64.tgz放入到虚拟机/home (从图形界面打开/home的方法:ubuntu侧栏Files->Devices->Computer->home, 注意不是“Home”)下,解压。
tar xzvf gcc-linaro-arm-linux-gnueabihf-raspbian-x64
设置环境变量
export PATH=$PATH:/home/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin 此时运行
arm-linux-gnueabihf-gcc --version
可以看到版本号表明交叉编译工具链安装完成。
3.配置核并编译
将核源代码压缩文件放入到虚拟机/home下,解压
tar xzvf linux.tgz
配置核
cd linux
KERNEL=kernel7
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- bcm2709_defconfig
编译核
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- zImage modules dtbs
4.安装核镜像
插入SD卡,通过虚拟机选项->可移动设备将SD卡连接到虚拟机中。查看SD卡分区
lsblk
会发现SD卡存在两个分区为:
sdb
⏹ sdb1
⏹ sdb2
运行如下命令挂载SD卡到相应的目录下
mkdir /mnt/fat32
mkdir /mnt/ext4
sudo mount /dev/sdb1 /mnt/fat32
sudo mount /dev/sdb2 /mnt/ext4
安装核模块
sudo make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf-INSTALL_MOD_PATH=/mnt/ext4 modules_install
5.安装核镜像
安装核镜像
sudo cp /mnt/fat32/$KERNEL.img /mnt/fat32/$KERNEL-backup.img
sudo scripts/mkknlimg arch/arm/boot/zImage /mnt/fat32/$KERNEL.img sudo cp arch/arm/boot/dts/*.dtb /mnt/fat32/
sudo cp arch/arm/boot/dts/overlays/*.dtb* /mnt/fat32/overlays/
sudo cp arch/arm/boot/dts/overlays/README /mnt/fat32/overlays/
sudo umount /mnt/fat32
sudo umount /mnt/ext4
mount用于挂载Linux系统外的文件
umount用于卸载已经加载的文件系统
6.启动系统
将SD卡插入到树莓派开发板上,上电启动。打开终端,运行
uname -a
可以发现核版本号已经发生改变
六、实验结果与分析
七、讨论、心得