很久没更新了,因为太忙了,其实长时间不更,就不想了,毕竟人比较懒。但是今天在查找一个资料的时候,发现网上的大佬们真的是太难为我们这些萌新了,回答问题也不回答完整。我度娘了半天,还拉上了我的朋友一起帮我找,结果对网上的答案极其无语,为什么大佬们回答问题总是回答一半,难道是我太弱了?
好了话不多说,今天更新的内容就是:你在写DSP程序后,如何判断你这个程序的代码量,以帮助你判断你的FLAHS大小是否够用。
网上的大佬们,都说,要去看DSP的.map文件,然后在里面就可以看到程序代码量,占用大小。但是,大佬们啊,具体咋看啊,有的人说看.text文件,但是知道了以后怎么看?单位是什么?是B还是bit?我只是个萌新不要难为我啊!!
经过一系列的查找,请教大佬,给大佬递茶,终于知道了,下面简单介绍一下:
在,map文件里面的几个参数意义:
- .cinit 存放C程序中的初值和常量
- .const存放C程序中的字符常量,浮点常量和const申明的常量
- .text 存放C程序的代码(也就是代码量)
- .bss为存放C程序中的全局和静态变量保留存储空间
先举个例子,来表面我DSP程序的代码量:
这是我找的一个代码,现在要看程序代码量,通过编译以后查看map文件里面的.text区域,通过尾部0002bbc0+20 ,减去头部00000400,得到长度为178144长度。 说明这个程序代码量为178144,占用空间就是这么大。
这个时候问题来了,当计算出这个长度以后,那么占用大小要怎么换算呢? 长度单位是多少呢?
- 答案是B(byte).
也就是说:长度单位是B,所以得出178144所占用的空间是173KB。
最后,为了保险起见,我特地请教了一个大大佬,他说只要不特殊说明,默认单位B(byte)。