读书·基于RISC-V和FPGA的嵌入式系统设计

引言:第八届集成电路创新创业大赛龙芯杯是有关嵌入式SoC设计的

由于我本身是做纯硬件设计,此前没怎么接触软硬协同

玩过Zynq,但是到SDK部分就去吃灰了

现在后悔了,所以,做人一定要有始有终啊~TAT



概述

背景阐述

吹吹水,讲讲FPGA优势

有几个名词需要注意:

嵌入式操作系统

FreeRTOS\Embedded Linux\Zephyr

编译器和工具链

GNU的编译器和工具链

COTS

作者提出的概念,指的是用一大堆通用芯片组成的嵌入式系统产品

Make

一种将代码变为可执行文件的格式命令,一般有Makefile 来配置

FARM

作者提出的一种概念,意思是:FPGA + Arduino + RISC-V + Makefile

FARM分工

FPGA: 外围设备 + 总线 + 复杂外围设备控制器 + 代码载入器(给CPU)

RISC-V: 提供软核CPU,写在FPGA上

RISC-V的配置有两种方式:

1.裸金属系统采用Arduino IDE开发,利用Arduino提供的软件库,编译结果可以在集成环境下直接写入FPGA上的软核。

2.大规模代码的话可通过Make,并通过和RV软核配套的代码载入工具,写进去

裸金属系统可以不经过操作系统干预的情况下,直接在逻辑硬件上执行指令

涉及的名词:

原型版 prototype

硬件工程师参考相关评估版,为新的系统设计出最初的原型版

试验工程 Dummy project

主要是看各个引脚是否可配置

软件工程师为外设编写驱动程序

这需要硬件工程师给软件提供 FPGA设计参考手册,各个部分地址分配,寄存器定义和操作方式

分工之后软件工程师即可开始主体算法的设计

FPGA

第二章开始设计,假设你已经会 Verilog / SystemVerilog

RISC-V

吹牛逼环节

软核处理器 PulseRain Reindeer:https://riscv.org/2018/10/risc-v-contest

小脚丫FPGA开发平台

第9章开始说

C/C++,Make和工具链

第6章开始

嵌入式操作系统

第7章说如何将开源操作系统Zephyr移植到RISC-V处理器上

Arduino集成开发环境

Arduino在处理裸金属系统的时候很占优势,但是需要处理器软核提供代码载入的支持

也要向集成开发环境提供相应的第三方开发包

第8章开始喷

模块授权方式

第10章开始说

PulseRain RTL库

第5章说,对常用外围设备进行讨论,并说明其具体实现方式

有关于RTL库的IP使用的深入问题,10章讨论

资料来源

不用担心

代码来源

封面自己扫

相关推荐
ACP广源盛1392462567310 小时前
6 盘位存储扩展方案选型笔记:YLB3116 @ACP评估记录
笔记·硬件架构·硬件工程·国产芯片
1560820721911 小时前
JFMZQ28DR、JFMZQ68DR、RFsoc XCZU47DR、XCZU48DR 信号处理板
fpga开发·信号处理
XMAIPC_Robot13 小时前
-40~85℃宽温实测:RK3588 机器人控制器硬件底座,长时间 SLAM 定位稳定性验证
人工智能·fpga开发·机器人·边缘计算·arm+fpga·rk3588+fpga
樱木花道長13 小时前
AMD Ross 深度系列 8:FAQ 七问七答(文末附网盘链接)
人工智能·fpga开发
FPGA小迷弟14 小时前
FPGA 与无人机:从飞控实时性到智能载荷的硬件加速实践
人工智能·ai·fpga开发·架构·无人机·ai编程
低慢小uav15 小时前
(已解决)Zynq芯片lwip协议栈,使用tcp作为服务器Service,接收大量数据时,长度接收正常,接收对数据校验,校验和异常分析
网络协议·tcp/ip·fpga开发
Industio_触觉智能17 小时前
瑞芯微工业ADC采集实战-上|AD7616&RK3506 FlexBus高速并行采集落地
嵌入式硬件·硬件架构·硬件工程·adc·瑞芯微·rk3506·flexbus
szxinmai主板定制专家17 小时前
ARM+FPGA 数控机床控制器:选 CODESYS SoftMotion CNC,还是基于 LinuxCNC 自研搭建?架构、授权、实时性、量产风险深度对比
arm开发·fpga开发·codesys·数据采集卡·linuxcnc·rk3576
女神下凡17 小时前
芯参谋(79):嵌入式学习进阶_(硬件与软件)深入实践指南
arm开发·单片机·嵌入式硬件·学习·fpga开发·设计规范
路上有只喵19 小时前
认识元器件 · 单片机(MCU/MPU/SOC) · 实战篇5
单片机·嵌入式硬件·fpga开发