有人能告诉我为什么同一代码的到期草图比Mega占用更多的RAM吗。我需要做一个分析。
请帮助解决我的疑问。
这是因为它们有不同的微控制器:Arduino Mega 2560有一个8位AVR ATMega2560微控制器,Arduino Due有一个32位ARM Cortex-M3微控制器。
RAM
8位体系结构中的变量比32位体系结构的变量小。例如:int
在Mega 2560中为2字节长,但在Due中为4字节长。
正因为如此,Due中的程序将比Mega 2560中的程序(以及任何其他基于ATMega的Arduino板,如Uno和Leonardo)使用更多的RAM。
草图大小
原因与RAM类似:在8位AVR架构中,大多数指令都是16位长,而在ARM架构中,大部分指令都是32位长。