免费,但代码大小限制为32K。 问题是,如果我声明一个数组,例如char数组[33000]那么算作代码或数据,因为我使用的ARM Cortex M4是哈佛架构吗?
答案 0 :(得分:1)
在IAR中,您的变量最终会出现在rwdata
或rodata
个部分(如果声明为const
)。我认为该限制特别适用于代码(通过rocode
或rwcode
部分)。这是我的项目的.map文件的示例输出:
214 749 bytes of readonly code memory
28 705 bytes of readonly data memory
97 220 bytes of readwrite data memory
readonly数据是const
项,readwrite数据是所有变量,readonly代码是我的所有代码。一些立即数据值可能会以rocode
结尾,但我认为这不太可能占用32kB代码限制的很大一部分。
如果您认为可能会遇到32kB限制,我会考虑另一个工具链。