- 主题:[原创]ECShell - 基于ECLayer的ARM-CM轻量级Shell实现
体积真大
【 在 eggcar (eggcar) 的大作中提到: 】
: 新建的demo工程,用armclang 开-O0编译:
: Program Size: Code=97476 RO-data=9468 RW-data=28 ZI-data=162784
: -Oz编译:
: ...................
--
FROM 36.45.174.*
我的bootloader,自带的命令解释器,固件总体积7kB
【 在 eggcar (eggcar) 的大作中提到: 】
: 主要是三方库大,那个avl hash map代码量挺大的...其实没几条注册命令的话 用链表就好了
--
FROM 36.45.174.*
大部分代码都是那个命令行界面,无论.text还是.econst代码都很多。
Arduino的bootloader只有512字节。
【 在 tom6bj (tom) 的大作中提到: 】
: 嗯, 我学你那个, 把命令行界面去掉之后可以降到2-3k
: 我的bootloader,自带的命令解释器,固件总体积7kB
--
FROM 36.45.174.*
这个确实是使用rtos的最大障碍,不出问题还好,出了问题,定位起来太麻烦。
另外小容量器件确实用不起,flash根本存不下那么多通用代码。
SFUD我试过最后还是放弃了,一般产品兼容三四种芯片就够了,代码可以很简化,不需要兼容那么多型号。
【 在 eggcar (eggcar) 的大作中提到: 】
: 久仰久仰...我工作里也经常用armink的库,节约了不少时间精力和人力...
: 暂时没在正式项目里用rt-thread,主要是考虑rt-thread的生态定位更偏向IoT领域,我们目前的产品面向工业控制和数据中心,对于很多rt-thread自带的功能,用kconfig直接配置启用确实非常方便,但是为了保证产品的可维护性,我们得把代码都通读过 了解原理 保证有问题自己
: 最近也在考虑先在不太重要的场合下试试切换到rt-thread上去,磨合一段时间看看效果,比较麻烦的就是我们一些既有的库挪过去怕跟rtt的组件有冲突
: ...................
--
FROM 36.45.171.*