加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ARM中MAM使用注意事项

发布时间:2020-12-15 06:39:58 所属栏目:百科 来源:网络整理
导读:???? 在ARM内核中没有接口管理Flash存储器,存储加速模块就是专门管理Flash的模块。当改变?MAM?定时值时,必须先通过向?MAMCR?写入?0?来关闭?MAM,然后将新值写入?MAMTIM。最后,将需要的操作模式的对应值写入MAMCR,再次打开MAM。? 对于低于?20MHz?的系统时

???? 在ARM内核中没有接口管理Flash存储器,存储加速模块就是专门管理Flash的模块。当改变?MAM?定时值时,必须先通过向?MAMCR?写入?0?来关闭?MAM,然后将新值写入?MAMTIM。最后,将需要的操作模式的对应值写入MAMCR,再次打开MAM。?
对于低于?20MHz?的系统时钟,MAMTIM?设定为?0x001。对于?20MHz?到?40MHz?之间的系统时钟,建议将Flash访问时间设定为2cclk,而在高于40MHz的系统时钟下,建议使用3cclk。

?

例如

void MAMSet(uint 32FCCLK)

{

?MAMCR=0;?????????????????????????????????????????????????????????????? //关闭MAM部件

?????? if(FCCLK<20000000)???????????????????????????????????????????? //如果系统时钟小于20MHz,则Flash读取操作时钟为1clk

?????? {

??????????? MAMTIM=1;

?????? }

????? else

???? {

??????????? if(FCCLK<40000000)?????????????????????????????????????? //如果系统时钟大于20MHz而小于40MHz

?????????? {??????????????????????????????????????????????????????????????????????????? //则Flash读取操作时钟为2clk

????????????? ?MAMTIM=2;

?????????? }

???????? else

????????? {

????????????? MAMTIM=3;???????????????????????????????????????????????? ? //如果系统时钟大于40MHz,则Flash读取操作时钟为3clk

???????? }

?? }

?? MAMCR=2;??????????????????????????????????????????????????????????? ? //启动MAM部件

}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读