很多初学者使用的的是现成的开发板,芯片型号已经选好!但是实际工程项目时,可能需要涉及到选型的问题了,比如是否低功耗,是否支持视频流等等,然后是选用多少PIn引脚,最后多少FLASH和ROM等;
首先根据特殊功能要求选择不同芯片厂商和不同芯片,比如想用ST的芯片设计智能穿戴设备和纽扣电池供电的设备,一般推荐STM8L系列和STM32L系列了,同时价格和技术支持力度当然也要考虑;
其次根据项目具体功能和器件,细化逐一罗列出需要的GPIO数量和特殊资源,比如产品中使用了电机同时又有速度和方向反馈需求,那么至少需要两路PWM用于驱动电机,两路TIM检测编码器,这样一个这样的电机需要4个GPIO,同时至少4个TIM通道,依此汇总所有的资源,同时考虑到扩展性(后期产品经理可能会修改需求,添加功能)预留一定的资源;
最后就是FLASH和ROM的选择,这个过程一般是根据软件工程师根据经验预测,这个预测的经验是怎么来的呢?下面重点介绍这部分;
本人采用的是即keil的MDK编译器,当所有的程序编写完成后编译时会出现以下提示:
Program Size: Code=43812 RO-data=1608 RW-data=1280 ZI-data=72172
Code是代码占用的空间,RO-data是 Read Only 只读常量的大小,如const型,RW-data是(Read Write) 初始化了的可读写变量的大小,ZI-data是(Zero Initialize)
没有初始化的可读写变量的大小。ZI-data不会被算做代码里因为不会被初

本文介绍了在嵌入式项目中如何根据特殊功能需求、GPIO数量及特殊资源选择合适的芯片,并提供了计算所需FLASH和ROM大小的方法。
最低0.47元/天 解锁文章
5388

被折叠的 条评论
为什么被折叠?



