《嵌入式C编程实战》——1.4 硬件−FPGA设备

简介:

本节书摘来异步社区《嵌入式C编程实战》一书中的第1章,第1.4节,作者:【瑞典】Lars Bengtsson(本特松), Lennart Lindh(林德),更多章节内容可以访问云栖社区“异步社区”公众号查看

1.4 硬件−FPGA设备

本书中使用的所有案例都是基于灵活性极大的FPGA设备上完成的。如果一个设计师使用单片机工作时,他仅仅能完成对硬件架构的测试。但是,如果选用了FPGA,他将能通过设置I/O来实现对所有的从简单到复杂的多处理器体系结构的实验设计。因此,FPGA是最适合进行应用设计教育和学习的平台。

从逻辑上讲,这些FPGA设备可以按照设计师所设想的任何方式进行连接。图1.7显示了FPGA设备的灵活性。左边是一个简单的设计,右边是一个使用了两个32位CPU的复杂设计。

f30f238acda6bf62ed856a350e004900341b3b84

可以通过http://www.youtube.com/watch?v=gUsHwi4M4xE访问Dave Jones的EEV博客,看到他发布在YouTube上的视频(视频的前15分钟都是关于FPGA的),了解FPGA的知识。

本书将不会对FPGA进行更深入的讨论。

1.4.1 软件

软件可以使用多种方式来描述。软件的一种特性就是串行性(顺序执行),但是,CPU的工作速度很快,因此设计师会认为多个程序是可以并行执行的。这是使用处理硬件组件的相同方式来处理软件的关键。

软件中的组件包含任务、线程、过程、函数、设备驱动程序等。

图1.8中说明了如果一个设计者在C文件中包含了“#include ”这条语句就可以使用stdio这个库文件。检查你的软件工具支持的各种标准库文件是一个好主意。

8d1236d7bc4dec85d9cafc4108276a7db534f7c4

一个使用C语言的简单组件(函数)的例子;“void print_pix(alt_u16 x, alt_u16 y,alt_u8 rgb)”,“Print_pix”在坐标为(x,y)上的一个像素点写入了一个“RGB”(红绿蓝)颜色。

1.4.2 硬件和软件之间的接口

软件和硬件如同两个不同的世界,为了管理它们之间的接口,须使用软件设备驱动来控制软件,使用寄存器来控制硬件。这里有很多的用于软件和硬件进行通信的标准协议,下面给出了一些实例。

使用软件向硬件写入信息。
使用软件从硬件读取信息。
硬件产生到软件的中断。
如图1.9所示,接口用来连接不同的组件,它包括各种软件和硬件。这种类型的软件叫做设备驱动程序。

c55c5fa2c37b382aa61a26af7fa031e8d7e58377

各种不同设备的驱动程序必须被添加到项目中。图1.10中给出了UART的设备驱动程序被添加到项目后的样子。在Altera的软件开发工具中,所有的工艺相关部分都保存在板级支持包(BSP)中。应用程序软件是针对产品的。

8d8c687bf38aedecb0e1e127a7820a998d3a2853
相关文章
|
11天前
|
存储 算法 数据处理
FPGA:可编程逻辑设备的领军者及其在数字信号处理中的应用
FPGA:可编程逻辑设备的领军者及其在数字信号处理中的应用
18 2
|
存储 缓存 算法
HLS介绍 - 01 - FPGA的架构、结构以及硬件设计相关概念(二)
HLS介绍 - 01 - FPGA的架构、结构以及硬件设计相关概念
412 0
HLS介绍 - 01 - FPGA的架构、结构以及硬件设计相关概念(二)
|
2月前
|
传感器 算法 机器人
在实用化人形机器人控制系统中深入应用FPGA的框架设计(基于特斯拉Optimus-Gen2的硬件系统)
针对实用化人形机器人的控制系统,以深入应用FPGA技术为指导思想做了一个框架设计,提供一个具象化的设计实例、参考技术方案,协助各研发团队及相关决策者了解这一技术思路的价值。 进而,笔者希望读者将这个框架设计与《在实用化人形机器人研发流程中深入应用FPGA技术的流程图》结合起来进行分析、思考,希望: 进一步降低将FPGA深入应用于人形机器人在纯粹技术维度上的门槛; 助力更多正在人形机器人领域参与竞争的团队 -- 及时做出实质性决策,及时将更多资源分配到深入应用FPGA技术这一竞争维度。
95 4
在实用化人形机器人控制系统中深入应用FPGA的框架设计(基于特斯拉Optimus-Gen2的硬件系统)
|
6月前
|
异构计算
【FPGA】基本实验步骤演示 | Verilog编码 | 运行合成 | 设备/引脚分配 | 综合/实施 | 设备配置 | 以最简单的逻辑非为例
【FPGA】基本实验步骤演示 | Verilog编码 | 运行合成 | 设备/引脚分配 | 综合/实施 | 设备配置 | 以最简单的逻辑非为例
52 0
|
5月前
|
机器学习/深度学习 算法 程序员
硬件加速器 FPGA
硬件加速器 FPGA
|
10月前
|
数据库 Anolis 开发者
关于硬件加速器FPGA的异构加速流程&龙蜥CI框架及实践介绍 | 第 87-88 期
今天下午4点,浪潮信息异构加速软件工程师将以数据库为例,解读硬件加速器 FPGA 的异构加速流程。
|
12月前
|
存储 芯片 异构计算
电子技术课程设计基于FPGA的音乐硬件演奏电路的设计与实现
设计一个乐曲演奏电路,能够自动播放编写好的音乐。要求将音乐通过实验箱上的喇叭播放出来,用发光二级管显示出乐曲的节拍。 (附加功能:本设计在题目所要求的功能全部实现的基础之上又添加了许多附加功能,所有的功能将在“工程设计总述”中阐明,特此声明。
163 0
|
存储 算法 芯片
FPGA:硬件描述语言简介
FPGA:硬件描述语言简介
182 0
FPGA:硬件描述语言简介
|
算法 定位技术 异构计算
m低信噪比下GPS信号的捕获算法研究,分别使用matlab和FPGA对算法进行仿真和硬件实现
m低信噪比下GPS信号的捕获算法研究,分别使用matlab和FPGA对算法进行仿真和硬件实现
133 0
m低信噪比下GPS信号的捕获算法研究,分别使用matlab和FPGA对算法进行仿真和硬件实现
|
异构计算
FPGA硬件工程师Verilog面试题(五)
FPGA硬件工程师Verilog面试题(五)
120 0
FPGA硬件工程师Verilog面试题(五)

热门文章

最新文章