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

}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章