ARM中MAM使用注意事项

     在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部件

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值