SOPC实验:将NIOS程序固化至EPCS实现自启动

需积分: 11 9 下载量 117 浏览量 更新于2024-09-11 收藏 962KB PDF 举报
本篇教程详细介绍了如何将NIOS II程序固化到EPCS设备中,以便在ALTERA FPGA开发套件的SOPC(可编程片上系统)中实现上电自启动。实验主要分为硬件设计和软件设计两部分。 **实验目的**: 1. 熟悉NiosIIFlashProgrammer工具的使用。 2. 将SOPC系统和NIOS程序整合到EPCS中,实现系统上电后的自动执行。 **实验原理**: - 在完成Nios II系统的调试后,需要将程序固化到存储器中,以便于电源接通后能自动运行。ALTERA的FlashProgrammer工具被用于这个过程,它可以将程序写入EPCS器件或者NORFLASH。本教程倾向于选择EPCS,因为它不仅可以存放系统逻辑的POF(Place and Route Output File),还能存储NIOS软件,而NORFLASH则留作存储非易失数据使用。 **硬件设计步骤**: 1. 建立在实验一基础上的硬件设计,添加Memory模块连接到EPCS Serial Flash Controller,保持默认配置。 2. 在CPU设置中,将复位地址设为EPCSController,其他参数保持不变。 3. 进行System generation,生成硬件文件,包括管脚分配,然后编译下载,得到系统顶层模块的实现。 **软件设计**: 1. 使用Nios II IDE创建系统工程,根据生成的CPU构建一个简单的LED控制程序。 2. 在工程设置中,通过System Library Properties配置,例如包含必要的头文件如"system.h", "altera_avalon_pio_regs.h", "alt_types.h"。 3. 实现主函数(如`alt_main`),编写一个无限循环,控制LED的亮灭,以验证程序功能。 总结起来,本文档提供了一个实践性的步骤指南,旨在帮助初学者理解如何使用ALTERA开发套件将SOPC系统和NIOS程序集成到EPCS中,确保程序能够在FPGA上电时自动执行。通过硬件和软件的设计,读者可以学习到如何配置内存控制器、设置复位地址以及如何编写和调用系统启动代码,这些都是SOPC开发中不可或缺的基本技能。