用430fg437开发,片内 flash大小为32K,编程序时怎样估算占用flash的大小?
程序大小=代码段大小+数据段大小,其实不用估算,将编译出来的hex文件转化成bin文件就是当前程序最小需要占用的空间了,接下来就要靠代码的优化了,如:选择合适的算法尽量减少变量的存储等。可是这带来的问题是时间性能变差,因为时间和空间是相互关联的。例如:利用哈希数表查找元素的时间性能是O(1),但是需要在内存或者外存上存储整个数表的哈希码,多用了n个位置的存储空间。用二分法查找元素的时间性能是O(logn),它就不用多用n个位置的存储空间,但是时间性能比哈希数表差。所以,程序的运行时间和所占用的空间是不能孤立起来的,两者有很紧密的关系。具体如何取舍要看你的应用情况。
如果使用的是CCS,请把MAP文件打开,如果使用的是IAR,请把MAP文件打开。
那里有你要找的东西
对于PIC来说,MPLAB IDE开发环境里面有view里面有个选项可以很清楚明了地看到FLASH和RAM的使用情况,他是用扇形图表示的,很直观。对于430,IAR看图