MCU STM32F303VCT6 RAM的容量?

MCU STM32F303VCT6 RAM的容量?,第1张

你好,STM32F303VCT6 的RAM大小为40K x 8,是一款32位单核微控制器芯片,封装为100-LQFP,表面贴装型。

程序存储容量:256KB(256K x 8)

RAM 大小:40K x 8

电压 - 供电 (Vcc/Vdd):2V ~ 3.6V

工作温度:-40°C ~ 85°C(TA)

AT89C52的程序空间是8KB是确认无疑的,但指的是存放纯二进制的机器码,就是二进制数。而KeilC编译的HEX代码文件并不是纯二进制数,是以ASCII码格式存放的文件,而且其中还有一些编译信息,如地址、校验和等。所以,不能看HEX文件的大小来确定下载到单片机内的真正的程序空间大小,也就是说HEX文件的大小并不是真正下载的单片机的程序大小。而下载到单片机的代码空间大小要看Keilc编译时给出的代码数的提示,才是真正要下载到单片机内的代码空间。举个例子,下图是一个程序编译后的提示,真正的二进制代码是337个字节,而HEX文件却是1KB。这里还有一个误区,你看到的HEX文件的大小是 *** 作系统给出的大小吧,它是取整KB的,就是说HEX文件不足1KB时,也显示是1KB。

再明确一点说吧,假如编译后的代码是750418,用纯二进制数(即BIN格式,有些汇编程序的编译器输出的就是BIN格式)的代码保存就是3个字节,而用HEX格式保存就是6个字节,因为要用6个ASCII码来表示。这来算来,HEX文件大小是BIN文件的二倍,加上一些地址信息,是大于二倍的。

好,回到你的问题来,你的HEX文件是19KB,你看一下编译后的代码大小提示,肯定是不会超过8KB的,否则编译时肯定会报错的。

比较大的程序还真不好说,很多单片机编程软件开发商把2KB定为一个标准,超过2KB就不能使用免费软件了。

所以可以把2KB作为大小程序的标准,大的程序可以达到64KB(也就是8位单片机的ROM上限)。一般嘛,2-16KB比较多。

如果程序过大,可以考虑扩展外部EEPROM,比如AT24C256(32KB)之类的来实现,也可以使用并行扩展(不推荐,占用IO口过多)。

也可以更简单一些,使用增强型的51单片机(也很多),比如AT89S52(8KB FlashROM),还有STC12C5A60S2(带10位AD,60KB ROM)。型号很多很多,价格都在10块/片里面,不推荐用80C51(标准型51,功能实体太少,太弱,价格不便宜)


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11250051.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-14
下一篇 2023-05-14

发表评论

登录后才能评论

评论列表(0条)

保存