做了十几年开发,感觉到有点迷茫。早年间单片机资源很少,编程时精打细算,RAM不是足够多,不敢用很大的缓冲。口线不多,很多时候使劲浑身解数复用,软件上也想好多办法。很累也从中享受着成就感,自我欣赏。
现在不一样了,芯片的集成度很大,集成了很多外设,使用51一样的并口扩展在普通项目中根本用不着,原先规模宏大的电路现在瘦身了,也不会玩了,内存剩下了,口线悬空着。突然感到迷茫了。
16.设计之初想好项目的属性:需要快速成型还是精工细作,需要严格控制硬件成本还是以硬代软提高可靠性?
17.好多因素需要综合考虑:软件不需要硬件成本,但其开发需要时间,是需要付出时间成本的。硬件固然能简化软件设计,但一款销量巨大的产品硬件上投入很小一点也会放大很多倍,硬件足够的简单用软件尽可能实现更多的功能是很划账的。
18.电路使用成熟的电路,尽量不使用偏冷门的芯片。和供货商充分沟通,选用库存比较大的大路货可以降低采购成本。
19.和公司现有的生产工艺兼容,节省培训、重新学习和犯错的成本。
20.预留一定的资源,不要把资源全部用完,日后有升级的空间。新的硬件要兼容旧的软件,使原先版本的软件在新硬件上正常运行,在此基础上再进行新功能的开发。已经运行了很长时间的软件要在继承的基础上升级功能,不要清零原先的工作。