Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/performance/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Running ARM TrustZone安全/正常世界“;ZedBoard上的示例_Arm_Xilinx_Trust Zone - Fatal编程技术网

Running ARM TrustZone安全/正常世界“;ZedBoard上的示例

Running ARM TrustZone安全/正常世界“;ZedBoard上的示例,arm,xilinx,trust-zone,Arm,Xilinx,Trust Zone,有人知道如何实现TrustZone运行ZedBoard下面ARM文档网站上给出的“安全世界”和“正常世界”的示例吗?关于这个主题的任何文档(在ZedBoard上运行TrustZone)也会有所帮助 ZedBoard有一个Xilinx:Zynq®-7000全可编程SoC Dual ARM®Cortex™-A9 MPCore™. 有关ZedBoard的更多信息可在此处找到: 这是一个广泛的话题。希望下面的一些信息能有所帮助 首先,稍微简化一下术语,SOC==芯片上系统 如果您有权访问Xilinx工

有人知道如何实现TrustZone运行ZedBoard下面ARM文档网站上给出的“安全世界”和“正常世界”的示例吗?关于这个主题的任何文档(在ZedBoard上运行TrustZone)也会有所帮助

ZedBoard有一个Xilinx:Zynq®-7000全可编程SoC Dual ARM®Cortex™-A9 MPCore™. 有关ZedBoard的更多信息可在此处找到:


这是一个广泛的话题。希望下面的一些信息能有所帮助

首先,稍微简化一下术语,SOC==芯片上系统

如果您有权访问Xilinx工具链,该板的制造商Digilent会为您的板提供一些支持文件。因此,首先,如果您转到底部,您将找到两个名为“Linux硬件ISE设计”的文件

另外,假设您正在使用Xilinx开发工具,如果您浏览到Xilinx//ISE_DS/EDK/hw/XilinxProcessorIPLib/pcores/axi_interconnect_v1_06_a/doc/ds768_axi_interconnect.pdf,您将找到有关您的电路板使用的axi中断控制器的信息。这包括它支持TrustZone这一事实以及有关实际使用它的一些信息

接下来,如果您转到,您将找到一些关于制作“外围”设备的说明。我引用了这句话,因为设备实际上完全存在于可编程逻辑中;它不是插入micro usb端口的东西,也不是你传统上认为的“外设”

在本教程的最后,还有一个链接可以帮助您从外围设备读取数据

如果您使用最初下载的zip文件中包含的system.xmp文件重复所有这些步骤,那么您会注意到所有的繁重工作都已经完成。您已经在AXI总线上安装了一个可与TrustZone一起工作的插入式即插即用中断控制器,它正在等待您将一个hello world小设备连接到它

但是你打算用hello world设备做什么?如果你在汇编中查找你链接到的教程,你会在评论中看到他们谈论了很多关于“安全配置寄存器”的东西。如果您查看处理器的文档(在这里的参考资料部分),并搜索术语“信任区扩展”(目前为第34页,但显然可能会有所更改),您将找到一个指向另一页的链接,详细说明此注册表。这与他们在教程中使用的寄存器相同,因此从理论上讲,如果您设置了可信的执行环境,现在就可以让hello world教程正常工作了(大多数情况下,您可能希望使用vhdl或verilog代码来完成他们在汇编中所做的工作,并将结果公开在易于用C阅读的地方)

现在,我刚才提到的一切只会让您访问AXI总线中的TrustZone数据。为了做任何有趣的事情,你必须创建一个安全的世界和正常的世界来阅读。否则,您放在一起的任何演示只会打印“来自安全世界的Hello”(或功能不正确)。所以这就是解压链接到的教程并真正阅读它们的源代码的地方

尽管到目前为止我的答案还不完整,因为你链接的Hello World教程并不是为了教你如何创建一个正常的世界(可能还有监控世界)。它在ReadMe.txt中明确说明了这一点。所以阅读资料对你没有帮助。为此,您需要链接。那里有很多信息,但它只是作为参考,前两章,在我看来,正是我喜欢称之为“可跳过的风格文本”。虽然如果你真的有时间浪费的话,就一般的安全理论而言,这是非常有趣和有用的。第三章将开始教你如何为TrustZone发展


但希望我提供的信息能让你少一些权限问题,多一些教育问题。我还在这方面自学。

这是一个很大的课题。涉及到各种各样的问题。TrustZone本身涉及ARM核心。然后是SOC上的外围设备。每个总线主设备和从设备都需要保护,这是SOC特有的。你可以就这个问题写一篇文章。你需要缩小问题的范围。请参阅其他一些问题。Zync没有端口,但相关。