当前位置:网站首页>SoC第一个工程hello_world
SoC第一个工程hello_world
2022-07-19 02:36:00 【一只特立独行的猪 ️】
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停止
边栏推荐
猜你喜欢
CodisVSRedisCluster:我该选择哪一个集群方案?
SQL 注入教程:通过示例学习
Reasons for errors in installing wfuzz under win10 CDM
Microservice 2-nacos configuration center
Video 24 alexnet
Silicon Valley class lesson 9 - integration gateway and order and marketing module
创未来 享非凡 | GBASE南大通用亮相openGauss Developer Day 2022
一次翻好多倍的SQL优化过程
什么是跨站脚本 (XSS)?
How to realize the overtime abandonment order (several schemes)
随机推荐
ES6中set、map、DOM classList的基础用法
Mapbox GL JS主动刷新地图的方法
Weather forecaster touch chip-dlt8sa15a-jericho
简历里写了电商项目 ,面试的时候怎么回答
09 design of water quality monitoring system based on ZigBee
win10 cdm下安装wfuzz报错的原因
CD 从抓轨到搭建流媒体服务器 —— 以《月临寐乡》为例
Live broadcast today | Apache pulsar meetup: vivo, Tencent cloud, bigo, Yunxing technology practice sharing
超时放弃订单怎么实现(几种方案)
华泰证券网上开户安全吗?怎么办理?
DDD领域驱动设计如何进行工程化落地
powerdisgner模型生成的sql脚本运行错误
for...in...和for...of...的区别是什么
为什么调试器会显示错误的函数
当一切皆可元宇宙之时,元宇宙的发展似乎已经进入到了全新的发展阶段
wallys//IPQ4019/IPQ4029/IPQ5018 WIFI5 WIFI6 openwrt
Typora 过期解决方法,Typora打不开了怎么办
什么是测试用例?如何设计?
c语言基础篇:结构体(初阶)
Jedis