如何把 em_msc.c 中的 flash 擦/写函数放在flash?

开始者 <a href="http://community.silabs.com/t5/Welcome-and-Announcements/Community-Ranking-System-and-Recognition-Program/m-p/140490#U140490"><font color="#000000"><font size="2">Master Employee</font></font> </a> delu ‎01-16-2017 03:11 PM - 编辑日期 ‎01-17-2017 01:33 PM

问题

如何把 em_msc.c 中的 flash 擦/写函数放在flash?

答案

在默认情况下,所有em_msc.c 中的flash 擦/写函数被放在RAM中。为了节约RAM空间使用,这些函数可以在不同IDE下通过定义符号EM_MSC_RUN_FROM_FLASH放在flash中。

 

注意:

  • 该方法对EFM32 Gecko (EFM32G)设备不适用。
  • 在写入或者擦除过程中,flash读访问将被停止,也就是从flash执行代码将会暂停。代码将在写/擦完成后继续执行。而驻留在RAM中的程序在写/擦操作的同时可以执行。