STM32F103C8T6的64K ROM怎么能烧进99K?

2019-08-18 20:28发布

STM32F103C8T6 ROM 64K RAM 20K

.map文件里的数据
      Code (inc. data)   RO Data    RW Data    ZI Data      Debug   

     37686       2080      63746        488     237224     142676   Grand Totals
     37686       2080      63746        100     237224     142676   ELF Image Totals (compressed)
     37686       2080      63746        100          0          0   ROM Totals

==============================================================================

    Total RO  Size (Code + RO Data)               101432 (  99.05kB)
    Total RW  Size (RW Data + ZI Data)            237712 ( 232.14kB)
    Total ROM Size (Code + RO Data + RW Data)     101532 (  99.15kB)

==============================================================================

上面这个能烧写进去,且能正常运行。

==============================================================================


      Code (inc. data)   RO Data    RW Data    ZI Data      Debug   

     63076       2672      70416        712     237176     160605   Grand Totals
     63076       2672      70416        172     237176     160605   ELF Image Totals (compressed)
     63076       2672      70416        172          0          0   ROM Totals

==============================================================================

    Total RO  Size (Code + RO Data)               133492 ( 130.36kB)
    Total RW  Size (RW Data + ZI Data)            237888 ( 232.31kB)
    Total ROM Size (Code + RO Data + RW Data)     133664 ( 130.53kB)

==============================================================================

上面这个烧写时KEIL报错,无法烧写成功。


程序里面有EMWIN,是不是某些因素影响了这个结果。如何看到正确的ROM有多大?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
7条回答
q872529868
2019-08-19 07:53
szczyb1314 发表于 2017-5-18 08:39
程序大小是code+R0的大小:
第一个:37686+2080=38.77KB64KB
你的第二个程序稍稍有点大了

按照您的计算方法好像是对的,但是又有点新问题。
Program Size: Code=60656 RO-data=67044 RW-data=728 ZI-data=237128  
这是keil的编译信息,按照您的计算方法60656+67044=124.7K
但是奇怪的是程序能烧写进去,且能运行。

如果按照.map里面结果来算
==============================================================================


      Code (inc. data)   RO Data    RW Data    ZI Data      Debug   

     60656       2614      67044        728     237128     155815   Grand Totals
     60656       2614      67044        192     237128     155815   ELF Image Totals (compressed)
     60656       2614      67044        192          0          0   ROM Totals

==============================================================================
60656+2614=61.7K,这个结果好像是正确的。

另外我的内存好像也爆掉了,但是怎么又能运行?请说下内存的计算方法。谢谢。


http://blog.csdn.net/slj_win/article/details/11897595
按照百度的方法,我的flash,ram都爆了。

一周热门 更多>