关于AVR单片机程序存储器空间计算

来源:百度知道 编辑:UC知道 时间:2024/06/24 05:15:26
书上说:
AVR单片机包括1~256KB的片内支持ISP的Flash程序存储器。由于AVR所有指令为字或双字,故Flash程序存储器的结构为(512~128K)*16位。

我想知道这里的(512~128K)是如何得出的。谢啦~

我也解释一下:
AVR的指令位宽一般是16位的,少量32位,意思是指一条指令经编译之后生成的机器码的宽度是16位或32位,而AVR的FLASH是8位的,所以一条指令占2字节(16位宽指令)或4字节(32位宽指令),书上说的字就是指2个FLASH字节,组成16位。
1~256KB的FLASH,这里的单位是字节,(1~256KB)*8 位,正好是(512~128K)*16 位,(这里的512不是K,而是byte),一样的对吧,只是后者是以字为单位,即可以存放(512~128K)条2字节指令。
注意字与字节,这里所说的字是指16位,即2个字节;字节就是我们常说的8位了,即一个flash/ram的位宽。

希望楼主明白了

这种书咬文嚼字的干什么,举个例子,ATMEGA16, SRAM 1KB,flash 16KB,EEPROM 512B,就行了