在传统的芯片架构中,处理器、DSP、FPGA 往往都各自独立,互不相干。当一个系统需要用到处理器、DSP、FPGA 中的多个元件时,则采再板级集成的方式,在一块电路板上设计复杂的电路,将他们通过PCB板走线连接到一起。此种方式设计的系统,不仅设计生产成本高,而且受限于PCB走线和I/O管脚性能的影响,无法实现高带宽的数据通信。设计师们都期待着有那么一种芯片,能够同时拥有处理器、FPGA、DSP的特点,各个架构的优势强强联合,提升电子系统设计的便利性。
概念:SoC (System On Chip)为片上系统或素统级芯片,就是在单一芯片上集成很多存储单元、功能模块等,且都由一个中央控制单元通过总线来控制它们的工作。
Intel SoC FPGA器件集成了FPGA和ARM的特性,因此特别适用于工业自动化,运动控制,视频检测,图像处理等场合。基于FPGA的灵活扩展性,我们可根据市场需要完成定制化的开发需求,如多路串口和网口连接到ARM的总线上,由Linux系统统一调度管理。可以说,在FPGA资源充足的情况下,设计者可任意多的扩展系统的外设。
Cyclone V SoC 开发板上设计有 1 个启动配置开关。这是一个 3 位的拨码开关,可以用
来配置系统的启动模式。这些启动模式则是通过改变不同的拨码位置来进行配置。启动模式
主要有从 SD 卡和从 eMMC 启动两种方式。
由于编译制作镜像需要花费很长时间,所以我们跳过前面的步骤,直接使用现成的sdcard.img,烧录到SD卡中。
①利用读卡器将SD卡连接上电脑,打开硬盘分区
对SD卡删除所有卷;然后重新创建卷。
②对SD卡进行格式化。
③找到Win32DiskImager.exe文件,双击
在新弹出的窗口中找到sdcard.img文件,此时,烧录地址会自动匹配到SD卡。
点击write,OK。
④找到黄金工程并用Quartus软件打开,进行全编译。
⑤在该工程的输出文件夹内,找到sof_to_rbf.bat文件,双击,soc_system.rbf文件更新,修改日期会变成当前时间。
⑥在上一级目录找到generate_hps_qsys_header.sh文件
⑦打开Intel FPGA Embedded Command Shell,执行以下操作(注意找到自己文件的位置)
这里显示Nothing to be done for ‘dtb’.这是因为我们没有对黄金工程做任何的修改。
得到的是下面这个文件:
将soc_system.rbf和soc_system.dtb文件复制粘贴到SD卡分出来的最后一个区,替换原来的文件。
1.连接开发板,打开MobaXterm,登录
2.按rst键,登录系统
用户名:root,密码:test,
1.设置电脑以太网IP地址
2.设置开发板ssh权限
找到/etc/ssh/sshd_config文件
使用vi命令打开,将第44行修改为如下情况
3.重启开发板设置ip
4.配置静态IP
设置静态ip:https://blog.csdn.net/qq_42585108/article/details/121782255
SoC FPGA的开发流程通常:
1、基于Quartus ll、Platform Designer的硬件设计
2、基于SoC EDS和DS-5的软件设计
3、基于linux系统搭建
对于比较简单的SoC应用系统,一个人便可执行所有设计;对于比较复杂的系统,硬件和软件设计可以分开进行。
1、EDS CMD生成hps_0头文件
2、使用DS-5搭建软件工程,加入hps_0头文件,添加库文件3、映射虚拟地址,计算接口,访问外设,编写c代码
4、调试使用ssh连接开发板,使用tftp传输文件到开发板5、使用gdb调试
SoC EDS是Intel部门专门开发的SoC EDS软件,这是厂家针对SoCFPGA芯片专门开发定制的一个工具,该工具类似一个Linux虚拟机,包含了很多通用或专用的工具,支持Linu文系统中常用的各种命令如cd、ls、chmod、cat.、make,也包含了一些专用的工具,如用于生成 dts文件的spocdts 工具、用于生成Altera 专属的preloader头文件用的mkpimage 工具,用以烧写uboot和preloader文件到sd卡中用的alt-boot-disk-util工具等等。使用SoC EDS,可以针对特定的硬件工程生成相应的uboot 源码并编译得到uboot镜像文件,也可以实现对Linux应用程序、内核和驱动的编译。即在不安装Linux操作系统的情况下,就能完成Linux软件开发和调试。
由Intel FPGA部门深度定制的DS-5软件可以用来编写、编译、调试SoC芯片不含操作系统的裸机程序,Linux内核和驱动模块,该软件包含以下特性:
1、SOC EDS编译uboot,生成uboot(启动内核)
2、ubuntu编译内核,生成zlmge(内核镜像的压缩文件)
3、ubuntu编译文件系统,生成根文件系统(rootfs)
4、制作sd卡镜像烧录(sdcard.img)
1.Window->Persective->Open Persective->Other
2.选择Remote System Explorer
右键点击New Connection…
选择SSH Only–》Next–》设置Host Name为开发板IP,Connection name随意,OK
右键点击新增的连接,输入开发板的用户名密码,连接成功
将下面的文件复制粘贴到opt文件夹下
右键opt 选择Launch Terminal,在控制台输入chmod 777 hello_world修改文件属性,使用语句./hello_world执行该文件。
Ctl+C停止