2.2 NIOS II CPU和软件开发环境

2024-04-27 04:58
文章标签 环境 ii cpu 2.2 软件开发 nios

本文主要是介绍2.2 NIOS II CPU和软件开发环境,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

\qquad 本节包括在AGRS_GP_1项目中创建NIOS II CPU和配置有关选项的讨论,并对NIOS II软件开发环境进行了简介。

2.2.1 NIOS II CPU创建

\qquad HD-GR接收机中唯一的处理器是作为软核在FPGA (U1)内部运行的Altera NIOS II CPU。这个CPU以及它的外围设备使用向导工具SOPC Builder构建。SOPC Builder在Altera Quartus II中激活,是硬件和软件开发环境之间的主要链接。CPU使用三种不同模型中的一种来描述。如图2-5所示,AGRS_GP_1项目使用了NIOS II CPU的快速模型(NIOS II/f)。注意,它将CPU的异常矢量设置在片上紧耦合指令存储器(tightly_coupled_instruction_memory)之中,关于片上紧耦合存储器的进一步讨论参见“NIOS II外围组件”。

图2-5 NIOS II处理器基本属性

图2-5 NIOS II处理器基本属性

\qquad NIOS II CPU有一些用于数据和指令缓存的配置选项。缓存使用FPGA内部内存块来提供。AGRS_GP_1项目使用的缓存属性如图2-6中所示。对于数据和指令缓存,大小都设置为8K字节,它们可以根据需要进行增减。

\qquad 另外,它允许片上紧耦合指令存储器(tightly_coupled_instruction_memory)和数据存储器(tightly_coupled_data_memory)分别使用一个缓存端口。紧耦合端口可以连接到指令内存和数据内存,能够以固定低延迟读取可执行代码,以及以固定低延迟读/写数据。关于片上紧耦合存储器的进一步讨论参见“NIOS II外围组件”。

图2-6 NIOS II处理器的缓存属性

图2-6 NIOS II处理器的缓存属性

\qquad NIOS II CPU配备了许多选项,允许对硬件和软件进行调试。AGRS_GP_1项目选择了JTAG Leve1 1调试模型,如图2-7所示。

图2-7 NIOS II处理器的JTAG属性

图2-7 NIOS II处理器的JTAG属性

2.2.2 软件开发环境

\qquad NIOS II CPU用于运行应用软件。SOPC Builder,针对NIOS II CPU,定义了许多可利用的特性,允许按照前一小节的描述进行定制。

\qquad 软件开发用一个基于Eclipse系统的集成开发环境(IDE)来支持。它驱动C/C++编译器对软件进行编译,以及将软件下载到HD-GR接收机。它还提供了全面的片上软件调试功能。

\qquad 项目开发使用与Quartus II环境类似的工程结构,并且与从SOPC Builder工具产生的文件紧密关联。软件经过编译,可用USB blaster通过JTAG口下载到HD-GR接收机运行。

\qquad 有关如何用USB blaster将编译后映象下载到HD-GR接收机的信息,请参考文档“The Nios II Software Developer’s Handbook” 。

这篇关于2.2 NIOS II CPU和软件开发环境的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/939573

相关文章

SpringBoot多环境配置数据读取方式

《SpringBoot多环境配置数据读取方式》SpringBoot通过环境隔离机制,支持properties/yaml/yml多格式配置,结合@Value、Environment和@Configura... 目录一、多环境配置的核心思路二、3种配置文件格式详解2.1 properties格式(传统格式)1.

Go语言编译环境设置教程

《Go语言编译环境设置教程》Go语言支持高并发(goroutine)、自动垃圾回收,编译为跨平台二进制文件,云原生兼容且社区活跃,开发便捷,内置测试与vet工具辅助检测错误,依赖模块化管理,提升开发效... 目录Go语言优势下载 Go  配置编译环境配置 GOPROXYIDE 设置(VS Code)一些基本

Windows环境下解决Matplotlib中文字体显示问题的详细教程

《Windows环境下解决Matplotlib中文字体显示问题的详细教程》本文详细介绍了在Windows下解决Matplotlib中文显示问题的方法,包括安装字体、更新缓存、配置文件设置及编码調整,并... 目录引言问题分析解决方案详解1. 检查系统已安装字体2. 手动添加中文字体(以SimHei为例)步骤

Linux进程CPU绑定优化与实践过程

《Linux进程CPU绑定优化与实践过程》Linux支持进程绑定至特定CPU核心,通过sched_setaffinity系统调用和taskset工具实现,优化缓存效率与上下文切换,提升多核计算性能,适... 目录1. 多核处理器及并行计算概念1.1 多核处理器架构概述1.2 并行计算的含义及重要性1.3 并

Java JDK1.8 安装和环境配置教程详解

《JavaJDK1.8安装和环境配置教程详解》文章简要介绍了JDK1.8的安装流程,包括官网下载对应系统版本、安装时选择非系统盘路径、配置JAVA_HOME、CLASSPATH和Path环境变量,... 目录1.下载JDK2.安装JDK3.配置环境变量4.检验JDK官网下载地址:Java Downloads

Linux下进程的CPU配置与线程绑定过程

《Linux下进程的CPU配置与线程绑定过程》本文介绍Linux系统中基于进程和线程的CPU配置方法,通过taskset命令和pthread库调整亲和力,将进程/线程绑定到特定CPU核心以优化资源分配... 目录1 基于进程的CPU配置1.1 对CPU亲和力的配置1.2 绑定进程到指定CPU核上运行2 基于

SQLite3 在嵌入式C环境中存储音频/视频文件的最优方案

《SQLite3在嵌入式C环境中存储音频/视频文件的最优方案》本文探讨了SQLite3在嵌入式C环境中存储音视频文件的优化方案,推荐采用文件路径存储结合元数据管理,兼顾效率与资源限制,小文件可使用B... 目录SQLite3 在嵌入式C环境中存储音频/视频文件的专业方案一、存储策略选择1. 直接存储 vs

python常见环境管理工具超全解析

《python常见环境管理工具超全解析》在Python开发中,管理多个项目及其依赖项通常是一个挑战,下面:本文主要介绍python常见环境管理工具的相关资料,文中通过代码介绍的非常详细,需要的朋友... 目录1. conda2. pip3. uvuv 工具自动创建和管理环境的特点4. setup.py5.

Python中使用uv创建环境及原理举例详解

《Python中使用uv创建环境及原理举例详解》uv是Astral团队开发的高性能Python工具,整合包管理、虚拟环境、Python版本控制等功能,:本文主要介绍Python中使用uv创建环境及... 目录一、uv工具简介核心特点:二、安装uv1. 通过pip安装2. 通过脚本安装验证安装:配置镜像源(可

Java进程CPU使用率过高排查步骤详细讲解

《Java进程CPU使用率过高排查步骤详细讲解》:本文主要介绍Java进程CPU使用率过高排查的相关资料,针对Java进程CPU使用率高的问题,我们可以遵循以下步骤进行排查和优化,文中通过代码介绍... 目录前言一、初步定位问题1.1 确认进程状态1.2 确定Java进程ID1.3 快速生成线程堆栈二、分析