ZYNQ7000系列soc使用的arm ip如下:

重点说一下AMBA Level 2 Cache Controller (PL310)这个ip版本为r3p2。
ZYNQ7000 freeRtos的BSP中定义一个系列修复L2cache数字电路bug的宏。其中有一个定义:
#define CONFIG_PL310_ERRATA_753970 1
相关代码处理:

static void Xil_L2CacheSync(void)
{
#ifdef CONFIG_PL310_ERRATA_753970Xil_Out32(XPS_L2CC_BASEADDR + XPS_L2CC_DUMMY_CACHE_SYNC_OFFSET, 0x0U);
#elseXil_Out32(XPS_L2CC_BASEADDR + XPS_L2CC_CACHE_SYNC_OFFSET, 0x0U);
#endif
}

此函数操作了一个zynq7000中并没有定义的寄存器0x740 XPS_L2CC_DUMMY_CACHE_SYNC_OFFSET。

通过查看文档《corelink_pl310_software_developers_errata_notice_r3_UAN0013B.pdf》


只有在PL310 r3p0这个版本中将0x730寄存器重新定义为0x740修改L2cache做同步操作时逐渐将L2cache耗尽的问题。而ZYNQ7000系列使用的IP版本为PL310 r3p2不应该定义CONFIG_PL310_ERRATA_753970此宏也不应该操作临时寄存器0x740.

而linxu则通过版本号做了处理:

if (IS_ENABLED(CONFIG_PL310_ERRATA_753970) &&revision == L310_CACHE_ID_RTL_R3P0) {sync_reg_offset = L2X0_DUMMY_REG;errata[n++] = "753970";
}

所以ZYNQ7000 freeRtos的BSP中CONFIG_PL310_ERRATA_753970此宏是不需要的定义了。定义了此宏反而会使代码进入了一个特殊处理的分支。

ZYNQ7000 PL310 Level 2 Cache Controller Errata 753970相关推荐

  1. How to caching Global data in on-chip (level 1) cache in Morden GPU

    1.Fermi arch 因为在CC 2.x(Compute Capability NVIDIA 计算能力)时,L1 Data Cache 还是可用的,我们可以缓存 local 和 global 的数 ...

  2. ARM AMBA 外围设备 的datasheet

    可以去网页地址在线浏览对应的datasheet: http://infocentre.arm.com/help/index.jsp?topic=/com.arm.doc.set.primecell/i ...

  3. 熟悉可信计算技术(二)

    二.国外可信计算的一些前沿技术 对比一下国外可信计算的一些前沿技术.Intel, AMD, ARM都有自己的可信执行环境概念,但是他们的概念其实还是没有做思路上的彻底改变,所以有些问题解决的并不好,比 ...

  4. ZYNQ-7000概述

    摘要 Xilinx推出的ZYNQ-7000被称为全可编程片上系统(SOC),它由FPGA与ARM组合构成,硬件可编程,软件也可编程,在众多应用场合有一定优势.本文根据Xilinx官网的介绍并结合ZYN ...

  5. 缓存(cache、Redis)

    缓存(Cache,Redis) 1.pom <?xml version="1.0" encoding="UTF-8"?> <project x ...

  6. 《浅谈Cache Memory》 学习-第四章

    Cache的层次结构 我第一次接触存储器瓶颈这个话题是在上世纪九十年代,距今已接近二十年.至今这个问题非但没有缓和的趋势,却愈演愈烈,进一步发展为Memory Wall.在这些问题没有得到解决之前,片 ...

  7. arm linux s文件夹,armv7对应的CACHE操作相关文件解析

    最近在使用TI的DRA726芯片.A15端需要访问图像,而图像是在外设空间的,用DMA拷贝到CACHE空间. 这样就导致了DMA的CACHE一致性的问题,需要在DMA之后清除所使用图像空间的数据CAC ...

  8. rails笔记 cache系统

    cache系统 1 cache系统默认只在production下面生效, 要手动生效 修改环境(config/environments) ActionController::Base.perform_ ...

  9. Kubernetes 编写自定义 controller

    原文链接:Kubernetes编写自定义controller 来自kubernetes官方github的一张图: 如图所示,图中的组件分为client-go和custom controller两部分: ...

最新文章

  1. FPGA之道(64)代码中的约束信息(一)保持约束
  2. [Google Guava] 8-区间
  3. 连续交付友好的Maven版本
  4. H.265:网络视频的高清时代
  5. 朋友面试被问到---静态构造函数
  6. linux系统kvm安装,快速搭建KVM及安装linux系统
  7. 搭建10分钟,解决90%问题,帕累托分析模型为何这么强?
  8. 逃离农场--动态规划
  9. Excel中的图表制作(一) -各种商品销售量显示
  10. 青果教务处系统爬虫(java)
  11. markdown编辑器Typora的使用方法(保姆级教程)
  12. VeryCD新建2组中国eMule服务器
  13. 古城钟楼的微博报时是如何实现的?[科普贴]
  14. linux重置ilo,HP DL380 Gen9 服务器ilo密码忘记如何重置
  15. Maven打包war报错
  16. 乳腺数据DDSM标注overlay文件python处理
  17. java pdm 解析_java解析静态AIS原始数据
  18. 2021年JS解决那些有趣的数学题
  19. 首席新媒体黎想教程:SEO中的反向链接是什么意思?
  20. [视觉模型]迁移学习之五个步骤

热门文章

  1. golang 调用chatGPT
  2. php扩展插件推荐,老生常谈ThinkPHP中的行为扩展和插件(推荐)
  3. 穿汉服写书法行拜师礼 两岸学子感受书院文化
  4. 宏基笔记本linux系统安装图解,宏碁笔记本安装系统 系统备份过程图解
  5. IDEA 导入旧(带WebRoot目录)的非MAVEN项目配置教程
  6. PicoScope6软件不出现是否使用演示设备的提示框
  7. 未注册老域名扫描软件-免费未注册老域名挖掘
  8. c语言中strlen用到的头文件,C语言中sizeof()与strlen()函数的使用入门及对比
  9. 达芬奇密码 第四十章
  10. 学成在线 第9天 讲义-课程预览 Eureka Feign Ribbon