Nios® V 处理器开发者中心
Nios® V 文档和支持,用于使用 Stratix® 10、Arria® 10、Cyclone® 10 GX、Cyclone® 10 LP、MAX® 10、Arria® V、Cyclone® V、MAX® V Cyclone® IV 设备的嵌入式处理器系统的开发和调试。对于 Agilex™ 设备,请参阅下面列出的专用 Agilex 软件开发之旅资源。
Agilex™ 7 和 Agilex™ 5 设备的软件开发之旅
设计中心为呈现关键关键资源和文档的标准开发流程提供了分步引导式旅程。
1.必备条件
1.1 创建我的英特尔® 账户
- 从英特尔® 账户注册页面创建您的英特尔® 帐户。
- 使用英特尔账户,您可以提交服务请求、注册课程、下载软件、访问资源等。
1.2 设计考虑因素:为什么选择 Nios V 处理器?
Nios V 处理器专为 Altera® FPGA 设备设计,并基于 RISC-V 规范开发。有关处理器性能基准测试等更多信息,请参阅 《Nios V 处理器参考手册》。
下表显示 Nios® V 处理器支持的功能。
Nios® V 处理器 |
RISC-V ISA |
微架构功能 |
启用 |
支持的Altera®FPGA设备 |
|
---|---|---|---|---|---|
Nios V/c 紧凑型微控制器 |
RISC-V 32I
|
|
|
|
|
Nios V/m 微控制器 |
RISC-V 32I Zicsr
|
|
|
|
|
Nios V/g 通用处理器 |
RISC-V 32IMF Zicbom Zicsr Smclic Smcsrind
|
|
|
|
|
1.3 我应该选择哪个作系统?
裸机
裸机是基于应用程序的系统,无需任何操作系统支持。
裸机方式可实现:
- 对硬件进行绝对控制
- 提升效率
- 最大程度地减小尺寸(闪存和内存占用率)
- 不依赖于其他源代码或库
- 易于验证和代码覆盖率分析。
以下情况下您也可以考虑进行逻辑开发:
- 不需要多任务或多线程操作
- 正在执行板卡启动且需要单独关注每个外设
- 正在复用已作为裸机开发的现有旧版代码
要为 Nios® V 处理器开发裸机应用程序,您必须熟悉运行时功能的开发,确保您的应用程序有效地利用 CPU 子系统中的可用资源。必要条件的示例如下:
- 深入了解硬件平台
- 由于典型裸机应用程序仅使用一个核心,如果您希望充分利用 CPU 子系统,应该能够开发运行时功能,以便管理核心与缓存子系统之间的进程
- 开发管理和调度进程、处理进程间通信以及同步应用程序内事件的功能
对于您计划的项目,如果没有足够的时间来熟悉以上几点,建议您考虑使用其他替代方案。
®Altera 硬件抽象层 (HAL) 和实时作系统 (RTOS)
考虑到以上陈述,使用抽象层或操作系统来努力实现 Nios® V 处理器的最大性能是有意义的。
下表显示了Altera®HAL和 RTOS 的特点。
标准 |
Altera®HAL |
RTOS |
---|---|---|
主要差异 |
Altera® HAL 是一个轻量级嵌入式运行时环境,为程序提供一个简单设备驱动接口,以连接到底层Altera®FPGA外设。Altera® HAL应用程序接口 (API) 与 ANSI C 标准库集成。 | RTOS 是基于优先级的系统,可提供抢占式任务调度,以确保及时、确定地响应事件或中断。高优先级且时间紧迫的线程比优先级较低的线程先行执行。RTOS 中的线程具有有限延迟。流程或线程在指定时间限制内执行。 |
应用程序 |
基于Altera®FPGA外设应用的理想选择。 |
需要较快速且可预测响应的应用程序的理想选择。 |
资源 |
轻量级,内存占用小。 |
轻量级,内存占用小。 |
编码实践 |
使用 Altera HAL 设备驱动程序时Altera®遵守 HAL API 库。 |
由于代码必须始终如一地持续执行,因此遵守严格的编码策略。 |
支持作系统类型的最新信息,请参阅 Nios V 处理器软件开发人员手册 此外,您还可以参考 μC/OS-II 文档、 FreeRTOS* - 微控制器的实时作系统、 Zephyr* -作系统简介 |
2.入门
2.1 选择目标板
我们建议在 Altera® FPGA 开发套件上启动开发,因为 Nios V 处理器设计示例将在这些板上运行。请参阅 设计考虑因素 部分中关于支持的 Altera® FPGA 设备的信息。
请参阅 FPGA 开发套件 中关于可用主板的列表。
2.2 安装开发工具
您将需要安装面向Altera FPGA的 Quartus® Prime 软件和 Ashling* RiscFree* IDE,以开始开发 Nios V 处理器系统。导航至 FPGA 软件下载中心安装最新版的软件。
2.3 创建您的第一个 Nios V 处理器系统
《 Nios V 嵌入式处理器设计手册》 可向您介绍 Nios V 处理器系统开发流程。使用面向Altera®FPGAs的 Quartus Prime 软件和 Ashling®* RiscFree* IDE,您可以构建一个由硬件系统设计和软件程序组成的完整解决方案,该软件在 Nios V 处理器上运行并与Altera® 开发板上的组件通过接口连接。
3.创建您自己的项目
3.1 项目类型
Nios V 处理器开发工具包含面向Altera®FPGA板级支持包编辑器和 Ashling* RiscFree* IDE,用于构建基于Nios处理器的项目。它管理两种不同类型的项目:
基于图形用户界面 (GUI) 的项目
- 板级支持包 (BSP) 编辑器提供了一个 GUI 界面,用于为基于Nios处理器项目创建、修改和生成 BSP。
- 面向 Altera® FPGA的 Ashling* RiscFree* IDE 是一个薄 GUI 层,为Nios V 处理器 C/C++ 软件开发提供完整和无缝环境。RiscFree* IDE 基于受欢迎的 Eclipse 框架和 Eclipse C/C++ 开发工具套件 (CDT) 插件。您可以在面向FPGA的 RiscFree* IDE 中完成所有面向Altera®Nios V 处理器软件开发任务,包括创建、导入、编辑、构建、运行、调试和分析程序。
基于命令行界面 (CLI) 的项目
- Nios V 处理器工具允许您使用命令行界面构建各种复杂的嵌入式软件系统。从该界面上,您可以通过在命令行中输入或嵌入脚本的 Nios V 处理器工具命令创建、修改、构建和执行 Nios V 处理器程序。
请参阅 《Nios® V 处理器软件开发人员手册 》和 Ashling* RiscFree* 集成开发环境 (IDE) Altera®FPGAs用户指南 。
3.2 设计流程
下图展示了常规 Nios V 处理器系统开发流程。
Nios V 处理器开发流程包含如下所示的三个元素:
- 系统设计,包括硬件和软件
- 硬件设计
- 软件设计
开始 Nios V 处理器开发时,首先确定系统概念并执行系统需求分析。接下来,在 Platform Designer 中创建并生成系统,并生成一个 Platform Designer 文件。Platform Designer 文件包括 Nios V 处理器内核和标准组件。生成系统后,即可启动硬件和软件流程。
对于Nios V 处理器硬件开发,必须:
- 根据系统要求选择目标 FPGA。请参阅设计考虑因素部分。
- 将 Platform Designer 系统与 Quartus® Prime 软件项目集成。
- 分配引脚位置。
- 配置时序要求和其他设计约束。
- 编译硬件设计后,将 .sof 文件下载到目标板。
对于Nios V 处理器软件开发,您必须:
- 使用面向Altera®FPGA的 Nios V 处理器工具和 Ashling* RiscFree* IDE 开发软件。Nios V 处理器软件包括HAL、外设驱动程序、用户 C/C++ 应用代码和自定义库。
- 构建应用程序和板级支持包 (BSP) 后,将 .elf 文件下载到目标板上的 Nios® V 处理器系统。Nios V 处理器系统已准备好进行测试和调试。
如果在测试过程中发现您的软件不符合规范,请返回到软件流程的起始位置,检查应用程序代码、驱动程序和 BSP 以纠正任何错误,同时确保 Nios V 处理器系统正常运行。
如果硬件不符合规范,请返回至 Platform Designer 系统定义和生成步骤,并重新启动硬件和软件流程。产生应用软件所需的关键文件是 Platform Designer 系统文件。由于此文件描述了硬件组件和连接,如果进行硬件更改,必须重新生成此文件。当软件和硬件均符合规范时,此系统即完成。
4.设计示例
有许多设计示例可帮助您入门Altera®FPGA产品。所有示例都可作为您自己的设计起点,并且它们可定制,以实施其他特定用例。
Nios V 处理器 FPGA IP 提供了一系列设计示例,可帮助您开始使用 Nios V 处理器。
- 开发人员网站上的 Nios® V 设计示例Altera®
- Altera® FPGA Design Store 上的 Nios® V 设计示例
- RocketBoards.org 上的 Nios® V 设计示例
Nios® V 处理器软件开发手册》中的 “Nios® V 处理器设计示例脚本”。
如何在 Altera HAL、μC/OS-II RTOS 和 FreeRTOS 中运行 Nios V 处理器“Hello World”应用程序?
要了解如何在 Altera HAL、μC/OS-II RTOS 和 FreeRTOS 中运行 Nios V 处理器“Hello World”应用程序,请参阅 AN 985: Nios® V 处理器教程。
如何在 Zephyr RTOS 中运行 Nios V 处理器“Hello World”应用程序?
如需了解如何在 Zephyr RTOS 中运行 Nios V 处理器“Hello World”应用程序,请参阅 Nios® V Zephyr 设计示例 – Hello World
如何启动 Nios V 处理器应用程序?
《Nios® V 嵌入式处理器设计手册:Nios® V 处理器配置和启动解决方案》 中的 “Nios® V 处理器配置和启动解决方案” 部分 。
如何使用 MicroC/TCP-IP 软件包运行 Nios V 处理器?
要了解如何通过 MicroC/TCP-IP 软件包运行 Nios V 处理器,请参阅 《Nios® V 嵌入式处理器设计手册:Nios® V 处理器 - 使用 MicroC/TCP-IP 堆栈》 中的“Nios® V 处理器 - 使用 Micro/TCP-IP 堆栈”部分 。
如何在基于 SDM 的设备中运行具有远程系统更新的 Nios V 处理器?
要了解如何在基于 SDM 的设备中通过远程系统更新运行 Nios V 处理器,请参阅 《 Nios® V 嵌入式处理器设计手册:基于 SDM 的设备中的 Nios® V 处理器 RSU 快速入门指南》”部分。
如何通过自定义指令运行 Nios V 处理器?
欲了解如何通过自定义指令运行 Nios V 处理器,请参阅 《 Nios® V 嵌入式处理器设计手册:Nios® V 处理器 — 使用自定义指令。
5.更多资源
5.1 文档和附件
以下文档可作为 Nios V 处理器的主要参考。
文档标题 |
说明 |
---|---|
描述为 Nios® V 处理器开发嵌入式软件所需的基础信息。本手册中的相关章节介绍了 Nios® V 处理器的软件开发环境、可用的 Nios® V 处理器工具以及软件开发流程。 |
|
补充嵌入式系统开发的主要文档。它介绍了如何有效地使用这些工具,并提出了使用Altera提供的工具开发、调试和优化嵌入式系统的建议设计风格和做法。本手册还向新用户介绍了Altera嵌入式解决方案的概念,并可帮助有经验的用户提高设计效率。 |
|
描述 Nios® V 处理器从高层概念说明到低层实施细节的流程。本手册的相关章节描述了 Nios® V 处理器架构、编程模型和指令集。 |
|
描述Altera提供的 IP 内核,与 Quartus® Prime 设计软件中的 Nios® V 处理器无缝结合。IP 内核针对Altera®设备进行优化,并可轻松实施,以缩短设计和测试时间。 |
|
描述 Ashling* RiscFree* IDE 开发工具的最新功能。用户指南提供了详细解释,以及相关功能的用例。 |
|
针对在 Nios® V 处理器中的自定义指令实施进行了说明。本应用说明介绍了自定义指令功能,并且指导如何将其实例化到您的系统中。 |
|
针对从 Nios® II 处理器到 Nios® V 处理器的迁移工作进行了说明。本应用说明介绍了执行处理器迁移时系统设计(硬件和软件设计)的差异。 |
|
AN 985:Nios® V 处理器教程 | 提供生成、仿真、编程和调试 Nios® V 处理器系统的快速入门指南。 |
Nios® V 处理器:锁步实施 | 描述 Nios® V 处理器锁步功能,该功能利用 fRSmartComp 技术在寄存器传输级 (RTL) 中实现智能比较器。Altera利用双核锁步(DCLS)安全架构来实现智能比较器。这种方法允许将该技术集成到Nios® V/g 处理器中,从而可以设计故障安全应用。 |
AN 1011:使用 LiteRT 在微控制器中使用 LiteRT 在 Altera FPGAs中的 TinyML 应用 | 本应用说明是在 Nios V 处理器系统中开发用于微控制器软件的 LiteRT 的基本指南。该示例演示了一个基于 MNIST(修订的美国国家标准技术研究所)数据库和 LeNet-5 卷积神经网络 (CNN) 模型的个位数分类问题。 |
5.2 演示视频
视频标题 |
说明 |
---|---|
概述 Nios® V 处理器所提供的功能。 |
|
Nios® V 处理器产品组合视频 | 了解 Quartus® Prime Pro Edition 软件版本 23.3 中提供的 Nios® V 处理器产品组合 |
观看 Hello world 设计演练,了解如何为您的应用选择合适的 Nios® V 处理器。 |
|
了解如何在 Nios® V/m 处理器的 Platform Designer 中生成和构建简单的 hello world 示例设计。 |
|
了解如何下载和设置 Nios® V/m 处理器的开源软件开发工具。 |
|
了解如何使用开源生态系统在 Nios® V/m 处理器上进行软件开发。 |
|
了解如何使用面向Altera FPGAs的 Ashling RiscFree IDE 调试 Nios® V 处理器。 |
5.3 快速链接
资源 | 说明 |
---|---|
Nios® V 处理器 - Altera® FPGA | 获取最新功能和更新,探索 Nios® V 处理器的全新可能性。 |
自助服务许可中心 | 您可以免费获得Nios® V/m 处理器的 IP 许可。有关Altera®FPGA软件安装和许可的文档,请参阅 FPGA软件安装和许可。 |
Altera® FPGA支持资源 | 提供从培训课程到设计示例再到论坛的在线技术资源,可指导您完成设计过程中的每个步骤。 |
FPGA 知识库 | 提供海量支持解决方案、参考文章、错误消息和故障排除指南。它还实现了完全可搜索。 |
英特尔 FPGA 社区 | 社区网站,支持Altera和FPGA用户之间的协作。使用搜索引擎查找相关材料。我们还鼓励您进行更新和投稿。 |
英特尔账户 | 英特尔账户允许您提出服务请求,以获取特定主题的帮助。您还可以使用它注册培训课程并访问其它资源。 |