当单片机被烧录时,编译好的程序代码会被写入 Flash 存储器中。单片机在启动时会从 Flash 存储器中读取程序代码,并将其加载到 RAM 中执行。这样,单片机就可以根据存储在 Flash 中的程序来执行各种功能和任务.
-
片内 Flash:这是集成在单片机芯片内部的 Flash 存储器。它通常用于存储程序代码和一些需要永久保存的数据。片内 Flash 的优点是访问速度快,因为它是直接与单片机的处理器核心相连的,不需要通过外部总线进行数据传输。例如,STM32 系列单片机通常都有一定容量的片内 Flash。
-
片外 Flash:这是连接在单片机外部的 Flash 存储器,通常通过 SPI、I2C 等接口与单片机相连。片外 Flash 的容量通常比片内 Flash 大,适合存储大量的数据或程序。例如,一些需要存储大容量数据的应用可能会使用片外 Flash
-
片内Flash
-
优点:
- 访问速度快:片内 Flash 直接集成在单片机芯片内部,CPU 可以直接访问,不需要通过外部总线,因此访问速度较快。
- 简化设计:不需要额外的引脚和连接器,减少了系统设计的复杂性和成本。
- 安全性高:通常具有更强的安全性特性,可以提供更好的代码保护和防篡改能力。
- 启动时间短:由于访问速度快,系统启动时间相对较短。
-
缺点:
- 容量有限:片内 Flash 的容量通常较小,无法满足需要存储大量数据或复杂程序的应用。
- 灵活性低:如果需要增加存储容量,只能通过更换更大容量的单片机来实现。
- 片外 Flash
-
优点:
- 容量大:片外 Flash 的容量通常较大,可以提供更多的存储空间,适合存储大量数据或程序。
- 灵活性高:可以根据需要选择不同容量和类型的片外 Flash,便于扩展和升级。
- 成本效益:对于需要大量存储的应用,片外 Flash 的成本效益可能更高。
-
缺点:
- 访问速度较慢:需要通过外部接口(如 SPI、I2C)与单片机通信,访问速度相对较慢。
- 增加设计复杂性:需要额外的引脚和连接器,增加了系统设计的复杂性和成本。
- 启动时间长:由于访问速度较慢,系统启动时间可能较长。