我这里版本8.3.11, 只放了几个简单的tab和text, 编译完flash占用就达到了260300, 256k的gd32f303cc基本满了.
试着把ui部分代码完全删成空函数, 编译完也还有220k左右.
看到lvgl官网说最低要求只需要64k flash, 不知道他们是怎么做到的?
离线
裁剪,不需要的功能和控件全部裁剪掉
已经裁掉很多了啊... lv_conf.h里widgets能关的都关了, 感觉也就少了几k.
离线
你编译器的优化等级呢?
从-O2改成-Os, 能减少4k左右吧, 感觉没太大作用
离线
看一下map文件,看一下是什么占掉那么多空间
感觉也就是lvgl那些东西, 不知道为啥, lvgl.conf能注释掉的都注释掉了但是还有这么多
我贴上来您帮着看看?
顺便问问你们的lvgl编译完都多大啊?
离线
明白了, 之前为了编译快, 把lvgl目录下的所有.o打包到一个.a里了, 然后编译时再引用这个.a库.
这样搞的结果是lvgl部分的大小不会跟随lv_conf.h的内容变化了.
试了一下, 去掉引用.a, 重新从lvgl源代码编译, 把lv_conf.h尽量精简之后, 编译完-Os是116k, -O2是133k.
还是挺大, 不过比之前小多了.
要优化到64k以内感觉还是很困难啊~~
离线
我弄过最小只能到70多KB
也很厉害啊, 用了什么控件?
我又试了一下, 把界面部分代码再删成空函数, 还有84k左右.
最近编辑记录 tomzbj (2024-08-16 16:51:13)
离线