内置闪存容量不够

电器工程 微控制器 编程 记忆 闪光 eeprom
2022-01-09 00:01:15

我在我的一个项目中使用德州仪器的 TM4C1230C3PMI 控制器。它有 32KB 的内部闪存,这对于我的应用程序来说是不够的。市场上有更大闪存尺寸的微控制器可以使用,但我只想使用这个微控制器。据我所知,外部 EEPROM 可用于增加总闪存大小(程序存储器)。

我的想法正确吗?

如果不是,请建议我如何增加控制器的总闪存大小?

2个回答

您不能扩展程序存储器(闪存)。TI 生产具有双倍闪存和 RAM 的相同芯片,但没有其他变化:TM4C1230D5PMI

如果你不能使用更大闪存的芯片,你将不得不减少你的代码大小:

  • 禁用调试,例如昂贵的printf功能。printf支持浮点输出的 A通常会让你回到 5KB-10KB 左右。
  • 确保在启用优化的情况下进行编译 - 通常编译器标志是-Os.
  • 现代编译器可以进行链接时间优化(LTO)使用 gcc,您可以使用-flto. 对于所有文件,您必须传递-flto到编译和链接阶段。这通常会将生成的代码大小减少 30%-50%。

通过使用为您的目的而设计的汇编程序和类似 Forth 的语言,您可能会获得最小的软件占用空间。如果有很多几乎相同的代码,另一种是压缩机器代码。