查看: 627|回复: 0

【怪兽F7】开始打怪——L1缓存

[复制链接]
  • TA的每日心情
    奋斗
    2023-7-6 08:48
  • 签到天数: 169 天

    连续签到: 1 天

    [LV.7]常住居民III

    发表于 2016-6-20 08:46:30 | 显示全部楼层 |阅读模式
    分享到:
    STM32F746的程序,在main中,除了有前几个芯片如:M3、M4中的系统时钟初始化与HAL初始化外,在最开始的位置有一个函数是比较陌生的。
    那就是CPU_CACHE_Enable();函数。
    这个函数的功能就是使能L1-Cache。
    L1-Cache由两部分组成,L1 instruction cache与L1 data cache。
    可以看下面Cortex –M7的组成框图。

    而CPU_CACHE_Enable();函数中也是对这两个cache进行了初始化。

    具体的使能过程,其实就是对SCB->CCR中的第16、17位进行配置的。
    以Enable I-Cache为例。
    程序如下:

    这里的CCR为Configuration and Control Register的意思。
    寄存器为:

    通过查看SCB_CCR_IC_Msk的宏,可以得到,配置过程就是对寄存器的第16、17位进行置位。
    #define SCB_CCR_IC_Pos                      17 #define SCB_CCR_IC_Msk                     (1UL << SCB_CCR_IC_Pos)   #define SCB_CCR_DC_Pos                      16   #define SCB_CCR_DC_Msk                     (1UL << SCB_CCR_DC_Pos)  
    以上就是在STM32F746的程序中对于L1缓存的初始化。
    回复

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /2 下一条

    手机版|小黑屋|与非网

    GMT+8, 2024-4-27 01:10 , Processed in 0.107000 second(s), 17 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.