裸机项目开发经验分享 – 完整开发流程介绍(项目规划与执行、器件选型、资料检索、产品测试思路等)

目录

一、研发方向与出路

二、大公司与小公司研发项目差异

三、项目开发实践

四、器件选型

五、资料检索

六、出现问题时的解决思路:

七、产品测试(逻辑、性能、稳定性)

九、产品研发的一些经验总结


往期系列文章: 1、裸机项目开发经验分享 – 完整开发流程介绍(项目规划与执行、器件选型、资料检索、产品测试思路等) 2、裸机项目代码设计与管理 – 项目程序的组织管理、设计优化思路等经验分享 3、裸机编程与调试 – 在项目中遇到的各类问题,解决经验分享(常见新手问题) 4、在实际开发项目中总结的硬件调试经验分享 – 调试目标、方法,以及常见调试问题解决 5、基于AltiumDesigner软件的PCB,原理图设计完整介绍,项目经验分享 [硬件开发设计] 6、硬件开发设计 – 焊接电路板,介绍焊接概念,焊接步骤,常见错误,难点等 7、电池供电应用中的电源设计:干电池特性了解、LDO与DC-DC选型设计、电流检测方案要点  

一、研发方向与出路

二、大公司与小公司研发项目差异

1、小公司的技术路线:小公司一般业务会比较多,但产品周期一般较短(公司承受不了预研、耗时的项目,追求高产出,快回 ),因此重业务轻技术,涉及的产品范围会广一些,注重个人能力,偏向于横向发展;   2、大公司的技术路线:大公司一般业务会比较专一,单一产品继承,因此轻业务重技术,能熟悉一项大型项目所需要的技术知识、研发工具以及有效的管理流程,能够得到深层的技术锻炼,以及高层的项目眼界,注重的是技术团队管理和产品的高质量,偏向于纵向发展;   3、根据个人情况选择,毕业可以去小公司,能够发挥个人能力,找到职业成就感,此时横向发展多种技术(杂乱的知识体系),注意切勿激进和浮躁,适当总结输出;后面根据所涉及的知识域,选择一个方向,挤进大公司,此时做的是知识深化沉淀;在大团队重熟悉一套完整的解决方案和解决具体问题的方法论,培养技术格局和眼界,最后根据个人状况再次选择技术管理或作为主导团队之一进行创业;    

三、项目开发实践

*清晰设计思路很重要,请务必先设计好思路,再动手; *对一项技术付出越多的时间,做得越多,必然会精,在每一次重复中精进; *对待所有的技术,都必须以实际的项目来实践试验,在解决问题中进步; *前期的每一个步骤需要十分小心并且经验至关重要; *一个产品的完整生命周期浓缩概况:需求说明 -> 开始设计 -> 器件选型-> 主芯片熟悉-> 原理图的搭建 -> PCB板绘制 -> 开发板上开发驱动 -> 整个程序的框架搭建(构建系统)-> 焊接 -> 上机调试(程序的核心编程)-> 软硬联调->测试修改->产品老化稳定性测试->产品出厂维护;   项目的开发一般流程: *每一步都需要精雕细琢;用思维导图记录把控整个项目流程的细节; 1、系统规划(立项:重点和难点)     a、针对系统功能、各项技术指标、操作方法(参照现有产品)、系统升级和维护、产品机构、产品生产等做规划;     b、设计各种文档作为产品开发、验收、生产指南和依据; 2、系统硬件设计     a、根据需求指定系统功能、产品指标等;     b、参考现有设计,设计原理图,PCB绘制,制作目标板; 3、系统软件设计     a、搭建系统框架、设计程序流程图,     b、初步在开发板上调试驱动例程,最后在产品板上完成所有功能程序; 4、系统调试     a、将各种驱动程序、应用程序调试完善,整个一个系统内;     b、整个项目的难点在于协同各个模块(避免互相干扰); 5、系统的优化(难点)     a、优化系统工作的效率和质量,提高系统的稳定性、准确性和可靠性; 6、对所开发的产品要精益求精、反复修改,使之不断完善(难点)     a、开发的产品都需要经过市场、用户的实验;在产品的整个生命周期中,需要开发者不断维护和完善,三分开发,七分维护;     实施项目过程中的几点注意: 1、积极与芯片、模块方案商的交流;     a、与方案商的技术洽谈十分重要;     b、有效的沟通和充分准备是提高效率的最主要途径; 2、与客户的结构、进度配合;     a、客户的需求可能会不断修正和更改,必须明确合同的流程;     b、在与客户结构的配合过程中,必须给出专业的解决,而这也恰恰是重点和难点;     c、进度的配合十分关键,必须提前做好准备;这样的事情才会高效率;     d、在客户前面调试和演示的注意:         1)各种情况都可能会出现,必须要有快速发现问题的能力;         2)大事化小,小事化无的能力(解释说服的能力); 3、项目组内的人员交流配合,虚心请教与积极讨论; 4、项目的规划和把控,及时反馈项目进度;        

四、器件选型

五、资料检索

六、出现问题时的解决思路:

1、良好解决问题能力在于解决思路,而思路在于经验的积累、以及过程中总结;   2、解决问题的重要要素:     a、首先思维风暴,再把握整体思路,避免重复;     b、从最简单开始,不要漏掉每一个小细节;     c、从最开始把控整个项目的细节,更容易找到突破点;   3、常用的问题解决方法:对比法、问题列举法、排除法、细节分析法;   4、最难解决的问题只是时而出现的现象,如;     a、AD检测时好时坏问题,原因是原理图出错,电容元器件参数不一);     b、J-link下载问题(芯片深度睡眠了)(每台电脑不一致);     c、建议:不能放过任何一个细节;   5、关于开发解决问题的能力和速度问题:     a、解决问题的能力在于你对这项技术研究的深浅程度;     b、开发速度问题在于你对这项技术的熟悉程度;   6、遇到问题先自己解决,再请教他人的良好习惯;    

七、产品测试(逻辑、性能、稳定性)

1、许多BUG都是异常操作导致的,采用非惯性思维进行测试;会发现很多潜在BUG; 2、测试思路:     a、先用正常逻辑测试一遍->接着用非正常逻辑测试(乱操作、重复操作、强度操作);     b、在正常操作下加上外界干扰; 3、诚然,每个产品都要应该有不同测试思路,不能一概而论; 4、一个产品必须经过老化、极限测试要确保产品的稳定性和长期使用质量;  

九、产品研发的一些经验总结

  1、功能容易实现,但是产品的稳定性则难以实现;   2、项目进度的快慢,决定于你对该知识的熟练程度;   3、必须对产品问题执着,因为越是不重视,后面的问题也是不断地随之而来;   4、解决问题一定要沉得住气,相信问题一定会被解决的信心;   5、标准很最重要,基础很重要。这决定你可以走多长多远的路;   6、做技术的,必须是经验能力以及设计能力并重;   7、硬件永远指导着软件,软件的每一步操作都与硬件息息相关;   8、前期的重要任务:理解开发文件架构以及硬件架构;   9、资料&视频&实验需要多次反复认证,每一次看都会有不同的效果与收获;   10、把握程序的思想与流程(技术变的是表达方式与表达规则),思想还是一致的;   11、每个新产品必定有自己的特有逻辑流程 ;   12、理论与实践并行,只有自己亲自动手才会有效地记住;   13、习惯用自己的语言总结一些理论、晦涩难懂的书本语言、以及实践现象;   14、程序只是一种描述流程以及指导内存布局的一种形式,很多时候编译器已经替我们办了很多事情;   15、通讯协议分为 a、标准协议;b、私有协议;   16、开发就是不断地接触新事物,对待新事物的应该的心态:     a、新事物都有一个特征:概念化,没有实际特征,难以捉摸;     b、第一阶段:理解为主;记忆为辅;     c、第二阶段:记忆为主;理解为辅;   17、对新物件的认识,从以下三方面入手:     a、基本的实现原理:能形成基本形状,对基本概念掌握并熟记;     b、知识结构组成:原理与实物联系,对原理的再掌握;了解就好     c、使用注意以及操作流程:记忆注意事项以及原因,将其流程化,实操一遍;     d、实际操作 :能巩固知识,加强理论;   18、如何对待新技术:a、不要崇拜牛逼的算法与协议;b、产品心态,着重项目与功能;c、建立理论框架与结构;   19、对待新事物切莫不能急躁;更要冷静与理性分析;   20、技多不压身,总会有人走在你前面;   21、很多时候技术知识很多,很广,但实际应用时用到的却是简单的部分;   22、有时间自己立项目去试验,这才是最有效的学习方法;   23、认识新的分立元器件:应当从原理、电路应用、命令等入手;   24、很多时候,你并不是没有解决问题的能力,而是没有解决问题的耐性,心态很重要,面对问题应该积极  理性  逻辑对待;   25、以项目经理的角度去看待问题(整体产品思考:包括软硬件、成本控制)   26、程序并没有想象中复杂: 单片机硬件程序 = API + 操作流程控制;   27、稳定的硬件最重要,这样软件才有机会落地(开发板最好的例子)   28、如何对接自己负责的部分很重要;a、搭建硬件环境;b、封装软件,提供可调用接口;c、测试调试目标板;   29、所有外围器件的原理都大致相同,不同单片机之间的区别在于开放的“指标”接口(如AD的采样率、通道、对应引脚);书籍对其原理与指标有明确的详细说明,而手册则单独针对自身资源的描述;   30、写程序能贯彻操作思想,掌握每个细节;看程序只能看出操作规范与基本流程;   31、程序的两大要素:a、操作流程(显性); b、状态与状态切换(隐性);          32、学习靠突击是不扎实的,需要做的就是持之以恒,切勿急进;   33、学习代码方法其实很简单(重复):多写、多看、多练;   34、注重第一次接触新技术的时机,在这个时机中尽可能去掌握更多的知识点,形成自己的知识 络;   35、快速发展的电子技术要求每个人必须快速适应新技术,新技能(在于方法和技巧);  

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2020年3月8日
下一篇 2020年3月8日

相关推荐