ARM中MAM使用注意事项
???? 在ARM内核中没有接口管理Flash存储器,存储加速模块就是专门管理Flash的模块。当改变?MAM?定时值时,必须先通过向?MAMCR?写入?0?来关闭?MAM,然后将新值写入?MAMTIM。最后,将需要的操作模式的对应值写入MAMCR,再次打开MAM。? ? 例如 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部件 } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |