MKE06 KDS PE使用IntFlash方法

2021-10-23 07:12:33 字數 1297 閱讀 8134

微控制器:mke06z

環境:kds(kinetis design studio)

目的:使用片內的flash儲存若干資料,實現讀寫。

kds的pe中有兩個關於內部flash的元件:flash_ldd和intflash,其中後者高階點,可以選擇後者。

然後雙擊元件,對其進行配置。可能需要配置flash_ldd元件中的頻率,這裡配置為12m。

有三種寫的方法,可以選擇後兩者。第一種不進行擦除,需要手動先擦除。

擦除後為0xff。

重要的選擇我們自己使用的flash的位址,系統預設的程式段放在位址從0x410–0x1ffff的範圍內,其實真正的程式佔不滿,這裡把m_text的size修改為0x1f000,那麼供我們使用的範圍為0x1f410~0x1ffff,大小為3055個位元組。(雙擊cpu元件,選擇build options)

也可以通過生成的.map檔案(在debug資料夾中)檢視程式和變數的分布情況。

當然也可以不修改,修改了之後pe在生成**時,應該會在我們設定好的範圍內生成,這樣更加安全點。

測試**和結果如下。

上面的8個函式,有的可能需要先使能再使用。點開左邊intflash元件,找到相應的函式,右鍵->toggle enable/disable,然後重新生成**,編譯即可。

後面的setbolckflash有時會漏掉後面的兩個位元組或是只儲存了前8個位元組,所以,最好用前面的3種方法,計算好了位址,然後可以一一對應的儲存。

最後可以在除錯暫停後,開啟memery(window選單欄下),檢視實際flash的儲存情況,如上圖所示。

完。