SoC第一个工程hello_world

一、SoC原理

(一)SoC产生原因

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

(二)SoC概念

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

(三)对比

在这里插入图片描述

(四)SoC FPGA架构优势

在这里插入图片描述

(五)SoC前景及其应用

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卡分出来的最后一个区,替换原来的文件。
在这里插入图片描述

(二)登录Linux系统

1.连接开发板,打开MobaXterm,登录
在这里插入图片描述
2.按rst键,登录系统
用户名:root,密码:test,
在这里插入图片描述

(三)配置ip

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

  • 基于易用的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
在这里插入图片描述

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停止

  • 5
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值