码迷,mamicode.com
首页 > 其他好文 > 详细

AMP模式下共享内存通信的两种定义方法

时间:2017-05-25 22:09:28      阅读:1293      评论:0      收藏:0      [点我收藏+]

标签:程序   zynq   html   att   com   attribute   改变   forum   cpu   

为了在两个CPU之间交互,设计0XFFFF0000所在的字节为两个CPU之间的交互中转站。关于具体的实现,有如下两个常用的方法:

1,库函数直接读写。注意设置该地址Memory禁用缓存cache,这样CPU能够及时读到该地址内存中变化的数据,Xil_SetTlbAttributes(0xFFFF0000,0x14de2);然后通过Xilinx提供的读写地址的库函数实现读写:Xil_Out8(0xFFFF0000,0x55);read_char = Xil_In8(0xFFFF0000);

2,通过固定地址指针操作。#define VAR_NAME (*(volatile unsigned char *)(0xFFFF0000)),注意该行程序的理解:中间的(volatile unsigned char *)的作用是强制类型转换,类型转换改变了后续连接主体的属性,改变后:等效于指向0xFFFF0000这个地址的一个存储内容易变化的字节的指针变量,最左侧*代表“取指针指向内存位置的存储内容”,基础知识:指针变量内部存储的是指针指向内存位置的存储地址,指针是指针变量的属性,*是取指针变量指向位置存储的内容。

参考资料:

http://www.iot-online.com/IC/embedded/2017/030451088.html

https://forums.xilinx.com/t5/Xcell-Daily-Blog/Adam-Taylor-s-MicroZed-Chronicles-Part-50-AMP-and-the-Zynq-SoC-s/ba-p/521889

 

AMP模式下共享内存通信的两种定义方法

标签:程序   zynq   html   att   com   attribute   改变   forum   cpu   

原文地址:http://www.cnblogs.com/abolide/p/6905782.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!