Linux系统移植五:启动开发板并测试

往期文章

Linux系统移植一:移植U-BOOT 添加自己的板子并编译(非petalinux版)
Linux系统移植二:生成fsbl引导文件并制作BOOT.bin
Linux系统移植三:移植Kernel生成zImage和dtb文件
Linux系统移植四:Petalinux使用本地sstate-cache加速构建根文件系统

启动开发板

之前的文章中我们已经移植好所有Linux系统需要的文件了,现在回看一下移植思路

在这里插入图片描述

接下来我们讲SD卡分为两个区,然后讲前三篇博客中编译好的镜像文件改名,放入FAT分区,讲第四篇中生成的rootfs.tar.gz解压至EXT4分区

sudo tar -zxvf rootfs.tar.gz -C <EXT4分区路径>
sync

启动开发板,设置SD卡启动,配置好串口,开启电源,成功启动!

在这里插入图片描述

程序测试

Hello World

来个最经典的 Hello World,Ubuntu 里用 Vscode 新建一个 hello.c 文件

#include <stdio.h>

int main(void){
    
    
    printf("Hello World!\r\n");
    return 0;
}

配置交叉编译环境,编译 arm-linux-gnueabihf-gcc hello.c -o hello

在这里插入图片描述
file hello 查看一下信息,发现是可以运行在ARM的32位可执行文件

scp 命令拷贝到开发板,运行 ./hello ,成功打印 Hello World!

结束语

看到自定义的Linux系统在ZYNQ上跑起来了,很是欣慰,除了根文件系统是用Petalinux加速构建的,其他都没有用到Petalinux
整个过程走一遍,让我更好地理解了Linux的构建和启动过程,收获满满,也为后续搞驱动开发、自定义IP设计和调用打好了基础

Linux系统移植系列博客到此就结束了,我是爱学习的诸葛铁锤,下期见,see you!

猜你喜欢

转载自blog.csdn.net/qq_41873311/article/details/128210606