默认keil工程是60M左右,使用eide导入并编译后变成300M 查看了下是在 “Drivers\CMSIS” 文件夹多产生了很多文件夹,并且会生成一个 .cmsis 文件,主要是他们占据空间。
查看了CMSIS多出的文件夹的内容,感觉大部分都是模板或者不重要的东西,并且将上述多出的内容全部删除后仍然能正常编译
想问问大佬,这些文件重要吗,是否可以正常删除呢?如果把他们删除,换台同样有EIDE环境的电脑是否就不能正常运行了? 谢谢大佬
gxt-kt
如果你的 keil 项目里用了 cmsis,eide 会生成 .cmsis 文件夹,里面的 dsp_lib 文件夹里有一些 dsp 的静态库,所以很大,你可以删掉一部分不用的 .a 或者 .lib 来减小空间(不用 dsp 可以全删掉)
.cmsis
dsp_lib
.a
.lib
Drivers 目录不是 eide 生成的,而是 CubeMx 生成的,你在 CubeMx 里勾选 仅复制需要的库文件 即可减小空间
Drivers
仅复制需要的库文件
精简开发方式:汇编启动文件+stm32头文件(例:stm32f10x.h),寄存器操作,使用头文件内定义的宏,这种开发方式可使你的工程编译瞬息完成,MCU的硬件资源得到充分榨取,也跟有助于你深入理解MCU底层运行原理,使一定成本的MCU获得远超同阶甚至上阶的性能。 👍
32 的庫都很臃腫,宏列表直接寄存器操作性能會好很多,體積也小。若是彙編寫代碼就有些誇張了。
32單片機,有些c++代碼庫,效率非常低,直接用c寄存器操作寫代碼,大幅度提高效率,雖然不能和彙編比,依然有:某些運算c效率是c++的2倍以上。