利用赛灵思Zynq SoC 上的两个ARM A9 内核可以显著提高您的系统性能。
赛灵思Zynq®-7000 全可编程SoC 的众多优势之一就是拥有两个ARM® Cortex ™ -A9板载处理器。不过,很多裸机应用和更为简单的 *** 作系统只使用Zynq SoC 处理系统(PS)中两个ARM 内核中的一个,这种设计方案可能会限制系统性能。
根据所开发的应用类型不同,可能需要这两个处理器都运行裸机应用,或者需要在每个处理器上运行不同的 *** 作系统。例如,其中一个处理器执行关键计算任务,从而运行裸机/RTOS 应用,同时第二个处理器通过Linux 提供HMI 和通信功能。
什么是多处理?
这两种方案都属于多处理。简单定义:多处理就是在一个系统中使用一个以上的处理器。多处理架构可允许一次执行多个指令,但并非必须如此。
多核处理包括两种类型:对称和非对称。
对称多处理是通过将负载分配给多个内核,从而能够同时运行多个软件任务。而非对称多处理(AMP)则是使用专用处理器,或者针对特定应用或任务在相同处理器上执行应用。
根据定义,使用Zynq SoC 上的两个内核执行裸机应用或不同 *** 作系统都属于非对称多处理。Zynq SoC 上的AMP 可能涉及如下几种组合:
• 在内核0 和内核1 上运行不同 *** 作系统;
• 在内核0 上运行 *** 作系统,在内核1 上运行裸机应用( 反之亦然);
• 在两个内核上均运行裸机应用,执行不同程序。
图1 – Zynq SoC处理系统,显示私有和共享资源
每个PS 核都有自己的中断控制器,能够利用软件中断实现自身与一个或两个内核的中断。这些中断通过ARM 的分布式中断控制器技术完成分配。
由于针对每个内核执行的程序都位于DDR 存储器内,因此您必须特别注意以确保对这些应用进行正确分割。
建立AMP建立AMP 并使其运行在Zynq SoC 上所需的关键因素是引导载入程序,该程序会在第一个应用载入到存储器后寻找第二个可执行文件。赛灵思在XAPP1079 中提供了有用的应用指南和源代码。该文档包含修改后的第一阶段引导载入程序(FSBL)和独立OS,可用来创建AMP 系统。
首先要做的是下载与应用说明配套提供的ZIP 文件,再将FSBL 和OS 这两个要素解压到期望的工作目录。然后,必须给名为SRC“design”的文件夹重新命名。现在,非常重要的一点是一定要确保软件开发套件(SDK)知道这些新文件(修改后的FSBL 和独立OS,两者兼备)的存在。因此,下一步需要更新您的SDK 库,以便使其知道这些新文件的存在。
这很容易实现。在SDK 中赛灵思工具菜单下选择“库”,然后选择“新建”,随之导航到目录位置< 您的工作目录>app1079designworksdk_repo,如图2 所示。
图2 — 将您的新文件添加到库
使用软件中断与硬件中断基本相似,区别只在于您如何触发它们。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)