soc FPGA(一)

基于小梅哥Altera SOC FPGA视频课程,基于Cyclone V SOC FPGA:https://www.bilibili.com/video/BV1dE411i7gN?from=search&seid=14910702332090064010&spm_id_from=333.337.0.0

背景知识扫盲

soc和sopc
在这里插入图片描述
sopc:由fpga编程的cpu,具有灵活性,但浪费资源,频率不高
在这里插入图片描述
soc和sopc的区别:soc的arm不能用作fpga,sopc的可以,
在这里插入图片描述
hps外设的引脚和fpga外设引脚重叠时,可以将hps数据给fpga,用fpga操控

soc开发工具

quatus版本要新
soc eds:是一个平台
在这里插入图片描述
DS-AE:跟keil一样
putty:将电脑系统和开发板上的系统连上

开发外设驱动程序其实简单 整个soc难点在软件驱动开发和platform promgramer上

GHRD工程简介 黄金硬件参考设计

一般设计 都是在黄金硬件设计上增减 避免错误

在这里插入图片描述

顶层模块讲解

在这里插入图片描述
soc-seystem函数由platform promgramer产生
在这里插入图片描述

platform programmer介绍

几个重要的IP核
在这里插入图片描述

1.clk_0

在这里插入图片描述
作用:设置时钟约束,给其他ip核分频

2.sysid_qsys

在这里插入图片描述
系统跟版本对应

led

在这里插入图片描述
PIO软IP,使用IP Catalog中的PIO(ParallelI/O)组件,设置为2位的仅输出型PIO,同时使能了独立位操作功能,用来驱动FPGA侧的两个LED灯,如图xxx所示:
de10有10位的输出
在这里插入图片描述

4.buttonpio

在这里插入图片描述

在这里插入图片描述

5.串口uart

在这里插入图片描述

6.spi

在这里插入图片描述
实际的值会小于设置的频率
在这里插入图片描述

7.i2c

在这里插入图片描述

8.图像IP

在这里插入图片描述

platform programmer ip连接

fpga和hps通信

之间有三座桥

hps中有avalon master 控制 所有avalon slave

h2f_axi_master 表示轻量级的传输 但控制一般外设都足够了

添加一个IP的步骤

详细参考:https://recclay.blog.csdn.net/article/details/105164906
(irq)timer中断的连接:在右侧

hps详细介绍

在这里插入图片描述点hps edit 可以对三个桥的宽度进行设置
在这里插入图片描述
当其他模块没有用到这个某坐桥时可以关断

当fpga需要用hps的ddr3时可以让fpga建设端口和hps相连,从而让fpga控制 ddr3

hps有ddr3
fpga没有
可以添加多个
在这里插入图片描述

在这里插入图片描述

IO口复用

详见上面链接
千兆以太网的接口被hps占用了,就把接口给fpga再通过fpga给hps
不需要考虑兼容性,不报错就能用
在这里插入图片描述

hps clock

hps的时钟

DS5编写程序并通过linux执行

在这里插入图片描述

使用gdbserver进行代码调试

soc系统可以用以太网接口和电脑相连,只要知道ip地址就可以通信而且速度很快
soc系统也可以和路由器相连,电脑也跟路由器相连,这样的通信速度很慢

电脑和soc连接:

通过网络传输文件:wincp软件快捷实现

使用gdbserver远程调试linux应用程序

gdb已经被ds官方删除了需要自己添加
调试步骤:
run-》debug configuration >c /c++ Application
在这里插入图片描述

bug:ds5没有connection选项,改为remote application

详细链接:远程调试的链接方法

gdbserver的实现原理

gdbserver linux版本下载::http://ftp.gnu.org/gnu/gdb/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值