如何让ZYNQ跑Linux?

作者: Kevin 分类: FPGA学习笔记,微课堂 发布时间: 2018-06-12 20:50

自己都已经忘记距离上一次写文章有多久了,哈哈。

当然这之间自己也有一些事情要忙,公众号的文章耽搁了很久,不过最主要的原因还是自己想休息休息。自从上个月去了一次医院,突然对中医极感兴趣,于是乎,就有了一个新的作息方式,拒绝熬夜,早睡早起

以后等中医学习得深一点再来聊聊中医,不过也确实建议每个人都学点中医,中医文化博大精深,还讲究阴阳五行,哈哈!

当然,言归正传,接着今天的主题,如何让ZYNQ跑Linux!

接触FPGA时间稍微长一点的朋友,应该都知道ZYNQ器件内部含有两个ARM硬核。虽然之前也用ZYNQ弄过视频采集系统,但始终是处于裸机开发的阶段,完全没有把ZYNQ有ARM核的优势展现出来。

ARM明明可以跑系统,而我们玩的ZYNQ却像是在玩51单片机,总之还是挺不甘心的。

那如何让ZYNQ跑上系统呢?当然我们这里的跑系统,肯定还是跑Linux系统。

对于这个问题,Xilinx官方已经提供了PetaLinux这样的一个工具集。

大致的介绍就是说,PetaLinux 工具提供在 Xilinx 处理系统上定制、构建和调配嵌入式 Linux 解决方案所需的所有组件。可以简化ZYNQ等器件的Linux系统开发。

也确实如介绍中所说,PetaLinux工具极大的简化了ZYNQ的Linux系统开发。我在让ZYNQ运行PetaLinux时,做的工作确实很少很少,少到只要敲几个命令,再按几个回车。之后把生成的文件拷贝到SD卡就可以让ZYNQ运行PetaLinux。

在这个过程中,占用时间最多的,其实是PetaLinux工具的安装。

我用的是PetaLinux 2015.4版本,在UG1144这个文档中,明确了PetaLinux 2015.4 所需要的安装环境。

我是用的虚拟机安装的Ubuntu 14.04,之前电脑装的是双系统,因为考虑后边暑期会开设FPGA系统培训班,所以就安装了虚拟机便于后期的教学。

除了上述所需的硬件和系统环境,还有相应的支持包。

看看UG1144这个文档,其实这些操作都已经说得很详细了,关于安装PetaLinux,大家可以下载这个文档来看看。当然这个文档也还提供了关于如何移植PetaLinux的详细步骤。

在安装好PetaLinux之后,第一步是用Vivado生成一个有ZYNQ的硬件系统,包括串口、SD卡,当然也可以有网络

第二步是导出硬件平台文件,也就是.hdf后缀的那个。

前两步相信大家都是很熟悉的,我就不啰嗦了。

接着是创建PetaLinux工程:

第四步是导入硬件配置:进入PetaLinux工程路径下,讲hdf文件复制到工程路径下,再来个命令。

敲完这个命令后,会出现一个像Bois一样的框,感觉有点高大上。

这一步,直接Save,默认。

第五步是编译系统:

忘记截图了,,,,,,

编译完之后,在工程的路径下边,会多一个image文件夹。

之后将这个文件夹下的相关文件生成BOOT.bin文件,然后将相应的文件拷到SD卡,再设置ZYNQ从SD卡启动。

连接串口,给板子上电后,就会看到启动信息了。

可以看到红框的名字就是我们创建的工程名字。

总的来讲,让ZYNQ跑Linux还是比较简单的。在这个过程中,也确实是敲几个命令就完成了这件事。

可能有网友希望Kevin能把Linux移植的内容录一套视频,收费也是可以接受的。当然录视频是肯定的,只是现在的精力都投入在即将开办的暑期FPGA系统培训班上,所以录制视频的工作应该在暑期培训班结束后进行。

当然也有一些网友觉得,PetaLinux这个工具这么好用,好用到我都不知道它到底干了什么,它的原理到底是怎么样的呢?

讲真,我也说不明白,简单点就是编译U-boot,编译Linux内核。

PetaLinux的出现,是让我们更简便的开发Linux系统,如果想真正了解Linux系统移植的原理,最好是用传统的编译内核的方式进行移植。但是从公司项目进度的角度,我又为什么放着这么方便的工具不用呢?

在这篇文章中,是没有给ZYNQ跑桌面系统的,可能有一些网友会问,那我们怎么让ZYNQ跑上桌面系统呢?

关于给ZYNQ弄上桌面系统,我们会在后续的文章继续介绍!

睡觉了。。。

Xilinx的PetaLinux资源汇总页面:http://www.wiki.xilinx.com/PetaLinux

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注