Arduino Technical Specs:
2. Flash Memory(闪存) 32 KB of which(其中) 2 KB used by bootloader
Flash memory is an electronic(电子的) solid-state(固态的,使用电晶体,不用真空管的) non-volatile(非易失性的,也就是说在断电情况下仍能保持所存储的数据信息) computer storage medium(电脑存储介质) that can be electrically erased(擦除) and reprogrammed(重编程).
Flash memory 的特点是数据删除不是以单个的字节为单位而是以固定的区块为单位。
因此在arduino中,flash memory存储的是编译后的二进制机器指令。由于2k被bootloader占用,因此实际可存储30KB的指令。
如果要存储以字节为单位的数据,例如雷达扫描中上次的位置(4字节的float类型),falsh memory无法做到,需要用到另外一个硬件设备(后续会聊到)
bootloader: 引导加载程序
Bootloader是嵌入式系统在加电后执行的第一段代码,在它完成CPU和相关硬件的初始化之后,再将操作系统映像或固化的嵌入式应用程序装在到内存中然后跳转到操作系统所在的空间,启动操作系统运行。