Nios II FPGA配置与引导过程详解

需积分: 10 2 下载量 141 浏览量 更新于2024-08-02 收藏 233KB PDF 举报
"《SOPC系统设计入门教程》由邵舒渊等人编写,主要讲解了SOPC(System on a Programmable Chip)系统中Nios II处理器的启动流程和常见的引导方式。教程详细介绍了从EPCS串行存储器和外部CFI并行闪存中启动的过程,并对相关的Bootloader和Crt0.s进行了解读。" 本文档是针对嵌入式系统设计者的一份入门教程,特别关注于基于ALTERA公司的Nios II软核CPU的SOPC系统的构建和启动过程。Nios II的启动过程分为两步:首先是FPGA器件的配置,这一阶段由外部配置控制器或内置控制器完成,配置完成后,FPGA内部会包含Nios II软核。第二步是Nios II的引导过程,当FPGA配置成功后,CPU会被复位,并从在SOPC Builder中设定的reset地址开始执行代码。 教程中详细阐述了两种常见的启动方式: 1. 从EPCS串行存储器中启动:在这种模式下,FPGA配置数据和Nios II程序存储在同一EPCS器件中。配置数据前导是程序记录,包含程序段长度和运行时地址信息。由于EPCS是串行存储,Nios II不能直接执行其中的程序,而是通过EPCS控制器的内置Bootloader将程序段搬运到RAM中执行。 2. 从外部CFI并行闪存中启动:这里又分为两种情况。一是程序直接在闪存中运行,无需额外的Bootloader;二是需要Bootloader将程序从闪存搬运到RAM执行。在第二种情况下,Bootloader的实现和程序组织结构更为复杂。 文档还深入解析了Bootloader的不同部分,如`boot_loader.s`、`boot_loader_epcs_bits.s`和`boot_loader_cfi_bits.s`,以及Crt0.s的解读,这些是引导过程中关键的源码文件,对于理解Nios II如何从不同存储介质启动至关重要。 这份教程为学习者提供了全面理解SOPC系统设计和Nios II启动流程的基础知识,对于希望从事FPGA和嵌入式系统开发的工程师来说是一份宝贵的参考资料。