STM32
直播中

吴湛

10年用户 842经验值
擅长:33391
私信 关注
[问答]

STM32G0工程Keil MDK下载设置里面的RAM for Algorithm为什么是4Kbytes的大小?

RAM for Algorithm跟烧录算法文件的大小有关,编译了G0的FLM工程,编译信息如下:
Program Size: Code=480 RO-data=4256 RW-data=24 ZI-data=0
按这个计算不是超过4K了吗?
这个大小究竟如何去设置才算合适?和FLASH的页大小相关吗?
有谁知道吗?求解答

回帖(1)

h1654155275.5741

2024-3-19 17:57:55
RAM for Algorithm 是用于存放烧录算法文件的RAM空间大小,可以根据烧录算法文件的大小进行设置。在这里,4KB 的大小可能是默认值,也可能是根据烧录算法文件的大小进行设置的。你可以根据实际的烧录算法文件的大小来设置 RAM for Algorithm 的大小,确保烧录算法文件可以存放在这个大小的RAM空间中。

编译信息中的 Program Size 是指程序的大小,包括代码段和数据段。在你提供的编译信息中,Program Size 中的 RO-data 是代码段的大小,RW-data 是数据段的大小。代码段和数据段都是存放在Flash中的,所以和 Flash 的页大小相关,但与 RAM for Algorithm 的大小没有直接关系。RAM for Algorithm 是将烧录算法文件从Flash中读入RAM的中转存储空间。

总结来说,RAM for Algorithm 的大小应该和烧录算法文件的大小相匹配,并且要确保所设置的大小能够容纳烧录算法文件。如果烧录算法文件的大小超过了设置的 RAM for Algorithm 的大小,可能会导致烧录过程中的错误或者异常。你可以使用合适的工具查看烧录算法文件的大小,然后根据实际情况设置 RAM for Algorithm 的大小。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分