将Zynq SoC上的两个ARM Cortex.doc

将Zynq SoC上的两个ARM Cortex.doc

ID:27876010

大小:102.50 KB

页数:4页

时间:2018-12-06

将Zynq SoC上的两个ARM Cortex.doc_第1页
将Zynq SoC上的两个ARM Cortex.doc_第2页
将Zynq SoC上的两个ARM Cortex.doc_第3页
将Zynq SoC上的两个ARM Cortex.doc_第4页
资源描述:

《将Zynq SoC上的两个ARM Cortex.doc》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、将ZynqSoC上的两个ARMCortex  到目前为止我们摸索使用过的ZynqAllProgrammableSoCPS(处理器系统)部分的所有设备都是只利用了一个ARMCortex-A9处理器内核(内核0),然而在ZynqSoC的PS部分包含有两个处理器内核,对于很多应用程序来说我们想要利用两个处理器内核,这样才能取得最大化的性能。使用两个处理器内核处理不同的任务被称作非对称多处理机制(AMP),而且包含不同的组合方式:  在内核0与内核1上运行不同的操作系统在内核0上运行操作系统,在内核1上执行程序代码(或者反过来)在两个处理器内

2、核上执行不同的程序代码  有两种多核处理的方法:对称机制和非对称机制。在我们介绍这两种方法的区别前,我们要先清楚什么是多核处理:“多核处理是在一个系统中采用不止一个处理器内核。这可以实现同时完成多条指令的执行,然而这并不一定是必须的。”  多核处理的对称机制与非对称机制的区别如下:对称的多核处理是当运行很多个软件任务时会将处理器负荷分配到多个处理器内核上。非对称的多核处理机制是利用专用的处理器执行专用的应用程序或者在完全相同的处理器上执行专门的应用程序。  在接下来的及篇博客中我们将会摸索介绍ZynqSoC上的非对称多核处理机制(AM

3、P)。但是现在我们要先了解两个应用程序代码,这两个应用程序会在不同的处理器内核上运行。  当我们要在ZynqSoC上采用非对称的多核处理机制(AMP),我们必须考虑到ZynqSoC上的两个处理器内核都有各自独占的资源,同时它们也共享一些资源。这两个处理器内核都有各自的L1指令和数据缓存、定时计数器和使用共同中断控制器的看门狗(它们有公用的中断号和自己专用的中断号)。然而ZynqSoC上的中断并不是非常简单明确的,因为PS部分的每个内核能都利用软件中断实现对自己本身、另外一个处理器内核或者同时两个处理器内核的中断,软件中断机制是通过借助

4、中断控制器实现的。  ZynqSoC同样也用很多共享的资源,例如I/O接口外设、片上存储器(OCM)、中断控制器、L2缓存和DDR存储器中为系统留出的系统存储空间,下面的是这些资源的模块框图:    我们想要利用DDR存储器来运行这两个处理器内核,那我们必须清楚了解每个处理器内核的内存映射地址范围。地址信息是由每个应用程序的连接脚本决定的。如果我们不清楚这些映射地址信息,当应用程序在不同的内核上执行时就会干扰其他的应用程序的操作,就会出现各种错误信息,也就是我们常见到的Bug。  我们同时也要修改由SDK自动生成的文件信息来使系统启动

5、并运行起来。第一步是使用XAPP1079脚本修改第一阶段启动加载文件,这个脚本检查了应用程序代码和AMP设置代码。  我的打算是先创建一个简单的系统以便系统启动和运行起来后,我们可以进行一些扩展操作。第一个应用程序是使用ZynqSoC的处理器内核0通过RS232通信协议与用户实现实时通信,内核1执行的操作是控制MicroZedI/O扩展板卡上的LED灯,这两个程序的执行将不会出现互相的干扰。  接下来我们将探索怎样利用片上存储单元(OCM)建立处理器之间的通信通道,以及我们怎样共享两个处理器之间的资源。最后我们将会探索研究同时在两个处

6、理器上运行的程序代码,研究怎样在一个或者两个处理器内核上运行操作系统。

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。