微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 基于Nios II软核的多核处理器系统的设计与实现

基于Nios II软核的多核处理器系统的设计与实现

时间:04-24 来源:电子产品世界 点击:

码;.rodata,存放实际执行代码中所使用的常量;.rwdata,存放读写变量和指针;Heap,自动分配的空间;Stack,存放函数调用的参数和其他临时的数据。

同时在双处理器系统中,每个处理器都必须从自己的启动存储空间来启动。启动存储器和程序存储器一样也能被分区,只需在存储器上设置每个处理器的复位地址就可以。

3 系统软硬件实现

SopcBuilder是Altera公司提供的一款图形化系统设计实现工具,内嵌于Quartus II软件中。利用SopcBuilder实现的双核系统如图4所示,包括了两个Nios II软核处理器以及其他内外设,连接关系表现了系统组件如何通过Avalon总线构成一个可以工作的系统。系统配置对每个系统组件分配了基地址,以实现Avalon总线对组件的访问。

对于利用SopcBuilder生成的双核系统,通过JTAG接口下载配置到Altera的FPGA开发板上,然后在Nios II IDE中调用HAL API函数开发C 语言应用程序就可以在FPGA开发板上运行,以此来验证所设计的多核系统是否能够正确运行。本文利用Altera公司提供的例程hello_world_multi,再将其修改后,各个处理器通过交替获得Mutex的所有权,执行相同的程序,并将处理数据存储在片上共享存储器上,最终通过CPU_1的JTAG_Uart打印到Nios II IDE终端。图5为验证程序的运行结果在Nios II IDE输出窗口的打印,可以看出,两个核都能通过Mutex获得外设的控制权,表明系统配置成功且能正确运行。

  结语

本文根据SOPC技术利用Quartus的SopcBuilder构建硬件平台,利用Nios II IDE运行软件程序,实验结果表明:软硬件设计正确,系统能正常运行。同时,本设计为双核以上的多核系统的设计提供了理论基础。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top