https://petewarden.com/2021/04/28/how-to-write-to-flash-on-an-arduino-nano-ble/
皮特·沃登(Pete Warden)的博客 2021年4月28日
我一直很喜欢使用Arduino Nano Sense BLE 33板作为我机器学习工作的全方位微控制器,但我很难想出如何从草图编程写入闪存。我需要这样做,因为我想能够下载ML模型通过蓝牙,然后让他们坚持,即使用户拔下电路板或重置它。经过一些研究和实验,我终于有了一个我满意的解决方案,所以我在github.com/petewarden/arduino_nano_ble_write_flash上放了一个示例草图和文档。
我要克服的主要障碍是如何初始化一个内存区域,当程序第一次上传时,这个内存区域将被加载到flash中,但在随后的重置中不会被触及。因为在ARDUNO IDE中不推荐修改链接器脚本,所以我必须使用COST数组和C++的对齐()命令来生成一个自制的解决方案。谢天谢地,它似乎在我的测试中是可以工作的。
自述文件(https://github.com/petewarden/arduino_nano_ble_write_flash#readme)和草图(https://github.com/petewarden/arduino_nano_ble_write_flash/blob/main/arduino_nano_ble_write_flash.ino)中有更多的文档,但我要警告任何对此感兴趣的人,flash能够可靠处理的擦除/写入周期数量有限,所以不要疯狂的高频率更改数据!