OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 5142|回复: 2

GPIO中断控制复位中断那里为什么要关闭ICache, DCache和MMU

[复制链接]

8

主题

9

帖子

0

精华

新手上路

积分
32
金钱
32
注册时间
2020-8-20
在线时间
7 小时
发表于 2020-8-26 15:21:02 | 显示全部楼层 |阅读模式
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

2

主题

712

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2178
金钱
2178
注册时间
2018-8-27
在线时间
258 小时
发表于 2020-8-29 09:18:58 | 显示全部楼层
森罗万象
回复

使用道具 举报

2

主题

11

帖子

0

精华

初级会员

Rank: 2

积分
161
金钱
161
注册时间
2020-5-8
在线时间
28 小时
发表于 2020-9-29 21:07:57 | 显示全部楼层
1、什么是cache
Cache 是位于 CPU与主存储器DRAM之间的少量超高速静态存储器 SRAM(static RAM),其是为了解决 CPU 与主存之间速度匹配问题而设置的。Cache又分为I-cache(用来存指令)和D-cache(用来存数据)。
2、为什么要让cache失效
我们在使用cache的时候要经过一系列的配置,在没配置之前是不能使用的。所以我们要关闭cache,但是在关闭cache之前cache里面可能已经有数据了,为了不影响我们的代码,所以要先让其失效,在进行关闭。
3、什么是MMU
MMU就是负责虚拟地址(virtual address)转化成物理地址(physical address)。
在这里肯定有人跟我一样的疑惑,既然有物理地址我们访问的时候访问物理地址不就完事了吗?为什么要有虚拟地址的存在,然后还要加个专门的硬件去转换,这就是多此一举吗?
其实加入了虚拟地址后有下面两个作用
1) 虚拟内存:有了虚拟内存,可以在处理器上运行比实际物理内存大的应用程序。
2) 内存保护:根据需要对特定的内存区块的访问进行保护,通过这一功能,我们可以将特定的内存块设置成只读、只写或是可同时读写。
4、为什要关闭MMU
跟cache的原因一样,在使用MMU之前要进行一系列的初始化,并且过程比较复杂,现在用不到所以要关闭它。

我也是百度的:(转发)https://www.cnblogs.com/wrjvszq/p/4222669.html
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-25 16:57

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表