首先我使用的处理器的型号是STM32F407ZGT6内部的FLAH为1MB,SRAM为192KB在使用lwip例程时,发现keil编译后的存储空间使用情况为:
code =86894 ;RO-data=1930;RW-data=456;ZI-data=407792;也就意味着使用的sram的大小为(456+407792)=408248(B)=398(KB)
已经超过了stm32自身的sram的大小,但是编译器并没有提示错误,并且在开发板上能够正常运行,
想问一下大家这是为什么?
说明,我并没有使用外部的sram,虽然板子上有外部的sram,但是我已经在程序中将对应的代码已经屏蔽掉,
这个跟你的程序设置有关的,MDK里面有个地方可以设置RAM区间,只要你的RAM使用没有超过这个区间它都不会报错。虽然你在程序里面屏蔽了外部RAM,但是这里没有修改。
如下图