MSP430F437总共应该有32Kflash,但是在程序代码为27K时IAR for 430编译器提示错误:
Error[e104]: Failed to fit all segments into specified ranges. Problem discovered in segment CODE. Unable to place 178 block(s) (0x6c44 byte(s) total) in 0x6a10 byte(s) of memory. The problem occurred while processing the segment placement command "-P(CODE)CODE=8000-FFDF", where at the moment of placement the available memory ranges were "CODE:81d0-e9ff,CODE:fe00-ffdf"
请问如何解决此类问题
灰小子:
具体flash的使用情况可以看一下编译后生成的.map文件。
至于解决方法:
方法一:调整优化级别,并优化代码减少flash使用。
方法二:建议更换更大flash的msp430型号,比如MSP430F449
Susan Yang:
同意楼上的看法。建议您通过map文件来查找一下使用的具体空间。实在放不下就换芯片吧
user4974765:
回复 Susan Yang:
但是编译器提示为什么在程序代码为27K时flash空间不足,该芯片有32K,应该还有5K可以用的;
灰小子:
回复 user4974765:
这个问题也需要看那个.map文件才能具体回答你另外的5k做什么用了。方便的话上传一下.map文件吧
TI中文支持网



