关于C语言【全局变量】与【全局常量】在STM32中储存方式的区别

2019-10-15 20:18发布

本人在使用 STM32液晶屏的时候,在工程里面 写入了一个 u16 a[]={这张图片的RGB565代码,1万个数据};
编译后 HEX文件有 88KB 1.png
后来 试着 在数组前面增加了一个 const修饰 , const u16 a[]={这张图片的RGB565代码,1万个数据};
编译后 HEX文件约200KB 2.png

3.png
4.png

搞不明白的是 这100多KB差别在哪里。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
22条回答
正点原子
1楼-- · 2019-10-16 00:55
 精彩回答 2  元偷偷看……
jinggx
2楼-- · 2019-10-16 06:24
哎!这个基本常识,却不停地有人误解。我再帮大家说一句,hex文件的大小与烧录到芯片里的程序大小没有关系!
feilusia
3楼-- · 2019-10-16 06:27
jinggx 发表于 2016-12-27 20:18
哎!这个基本常识,却不停地有人误解。我再帮大家说一句,hex文件的大小与烧录到芯片里的程序大小没有关系 ...

LZ问的,跟你回答的不是同一个意思。
而且你说的也不完全对,下载到芯片里的是bin,hex里包含bin、地址等信息。
hex越大bin越大,理论上也是有关系的。
jinggx
4楼-- · 2019-10-16 06:47
feilusia 发表于 2016-12-27 20:43
LZ问的,跟你回答的不是同一个意思。
而且你说的也不完全对,下载到芯片里的是bin,hex里包含bin、地址 ...

我答非所问,那请你来回答!

能明白hex文件大小与烧录到芯片里的程序大小无关,就能明白他所提问题的原因了。

你说hex与bin有关,那你说说他们关系可以怎么样量化?比如如可通过hex文件的大小(注意是文件大小,不是读了hex文件内容)来计算bin的大小?

我说一个100k的hex和一个200k的hex可以表述出一模一样的bin,你认同吗?
jinggx
5楼-- · 2019-10-16 11:29
本帖最后由 jinggx 于 2016-12-27 22:50 编辑

另外再说一句,还是自己弄清楚了再去反驳别人。

你说hex越大bin越大,不过据我所知不是这样的。
bin文件一般都是被填充满的,与芯片容量大小相等,所以bin文件是固定大小。hex文件也可以比bin文件小。
feilusia
6楼-- · 2019-10-16 17:04
 精彩回答 2  元偷偷看……

一周热门 更多>