SoC第一个工程hello_world

SoC第一个工程hello_world

  • 一、SoC原理
    • (一)SoC产生原因
    • (二)SoC概念
    • (三)对比
    • (四)SoC FPGA架构优势
    • (五)SoC前景及其应用
  • 二、开发板
    • (一)原理图
    • (二)启动方式
  • 三、烧录镜像
    • (一)准备工作
    • (二)登录Linux系统
    • (三)配置ip
  • 四、开发流程
    • (一)开发流程
    • (二)硬件设计
    • (三)软件设计
    • (四)开发工具
    • (五)SoC linux系统搭建
  • 五、黄金工程

一、SoC原理

(一)SoC产生原因

在传统的芯片架构中,处理器、DSP、FPGA 往往都各自独立,互不相干。当一个系统需要用到处理器、DSP、FPGA 中的多个元件时,则采再板级集成的方式,在一块电路板上设计复杂的电路,将他们通过PCB板走线连接到一起。此种方式设计的系统,不仅设计生产成本高,而且受限于PCB走线和I/O管脚性能的影响,无法实现高带宽的数据通信。设计师们都期待着有那么一种芯片,能够同时拥有处理器、FPGA、DSP的特点,各个架构的优势强强联合,提升电子系统设计的便利性。

(二)SoC概念

概念:SoC (System On Chip)为片上系统或素统级芯片,就是在单一芯片上集成很多存储单元、功能模块等,且都由一个中央控制单元通过总线来控制它们的工作。

(三)对比

SoC第一个工程hello_world_第1张图片

(四)SoC FPGA架构优势

SoC第一个工程hello_world_第2张图片

(五)SoC前景及其应用

Intel SoC FPGA器件集成了FPGA和ARM的特性,因此特别适用于工业自动化,运动控制,视频检测,图像处理等场合。基于FPGA的灵活扩展性,我们可根据市场需要完成定制化的开发需求,如多路串口和网口连接到ARM的总线上,由Linux系统统一调度管理。可以说,在FPGA资源充足的情况下,设计者可任意多的扩展系统的外设。
SoC第一个工程hello_world_第3张图片

二、开发板

(一)原理图

SoC第一个工程hello_world_第4张图片

SoC第一个工程hello_world_第5张图片

(二)启动方式

Cyclone V SoC 开发板上设计有 1 个启动配置开关。这是一个 3 位的拨码开关,可以用
来配置系统的启动模式。这些启动模式则是通过改变不同的拨码位置来进行配置。启动模式
主要有从 SD 卡和从 eMMC 启动两种方式
SoC第一个工程hello_world_第6张图片
SoC第一个工程hello_world_第7张图片
SoC第一个工程hello_world_第8张图片

三、烧录镜像

(一)准备工作

由于编译制作镜像需要花费很长时间,所以我们跳过前面的步骤,直接使用现成的sdcard.img,烧录到SD卡中。
SoC第一个工程hello_world_第9张图片

①利用读卡器将SD卡连接上电脑,打开硬盘分区
对SD卡删除所有卷;然后重新创建卷。
②对SD卡进行格式化。
③找到Win32DiskImager.exe文件,双击
SoC第一个工程hello_world_第10张图片

在新弹出的窗口中找到sdcard.img文件,此时,烧录地址会自动匹配到SD卡。
SoC第一个工程hello_world_第11张图片

点击write,OK。
④找到黄金工程并用Quartus软件打开,进行全编译。
⑤在该工程的输出文件夹内,找到sof_to_rbf.bat文件,双击,soc_system.rbf文件更新,修改日期会变成当前时间。
SoC第一个工程hello_world_第12张图片

⑥在上一级目录找到generate_hps_qsys_header.sh文件
SoC第一个工程hello_world_第13张图片

⑦打开Intel FPGA Embedded Command Shell,执行以下操作(注意找到自己文件的位置)
SoC第一个工程hello_world_第14张图片

这里显示Nothing to be done for ‘dtb’.这是因为我们没有对黄金工程做任何的修改。
得到的是下面这个文件:
SoC第一个工程hello_world_第15张图片

将soc_system.rbf和soc_system.dtb文件复制粘贴到SD卡分出来的最后一个区,替换原来的文件。
SoC第一个工程hello_world_第16张图片

(二)登录Linux系统

1.连接开发板,打开MobaXterm,登录
SoC第一个工程hello_world_第17张图片
2.按rst键,登录系统
用户名:root,密码:test,
SoC第一个工程hello_world_第18张图片

(三)配置ip

1.设置电脑以太网IP地址
SoC第一个工程hello_world_第19张图片
2.设置开发板ssh权限
找到/etc/ssh/sshd_config文件
使用vi命令打开,将第44行修改为如下情况
SoC第一个工程hello_world_第20张图片3.重启开发板设置ip
SoC第一个工程hello_world_第21张图片
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应用系统,一个人便可执行所有设计;对于比较复杂的系统,硬件和软件设计可以分开进行。

(二)硬件设计

SoC第一个工程hello_world_第22张图片

(三)软件设计

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内核和驱动模块,该软件包含以下特性:

  • 基于易用的Eclipse 编辑器
  • 支持GCC编译器编译和调试Linux应用程序支持调试Linux内核和驱动模块
  • 支持使用USB Blaster调试ARM处理器支持FPGA和ARM交叉触发联合调试

(五)SoC linux系统搭建

1、SOC EDS编译uboot,生成uboot(启动内核)
2、ubuntu编译内核,生成zlmge(内核镜像的压缩文件)
3、ubuntu编译文件系统,生成根文件系统(rootfs)
4、制作sd卡镜像烧录(sdcard.img)

五、黄金工程

1.Window->Persective->Open Persective->Other
SoC第一个工程hello_world_第23张图片

2.选择Remote System Explorer
SoC第一个工程hello_world_第24张图片
SoC第一个工程hello_world_第25张图片
右键点击New Connection…
选择SSH Only–》Next–》设置Host Name为开发板IP,Connection name随意,OK
右键点击新增的连接,输入开发板的用户名密码,连接成功
将下面的文件复制粘贴到opt文件夹下
SoC第一个工程hello_world_第26张图片

SoC第一个工程hello_world_第27张图片
右键opt 选择Launch Terminal,在控制台输入chmod 777 hello_world修改文件属性,使用语句./hello_world执行该文件。
SoC第一个工程hello_world_第28张图片
Ctl+C停止

你可能感兴趣的:(FPGA学习笔记,fpga开发)