一、编写程序的主要模块:
- 功能代码/业务逻辑
- 框架/结构
- 日志(后期维护)
- 程序更新(自动);嵌入式程序需手动更新
- 故障上报;嵌入式程序需故障自我修复
注意:在后期代码更新时,打补丁时,建立补丁更新文档(bug详细内容,bug的处理思路,bug对应包版本)
二、一代产品研发的几大必做事情:
- 系统架构,提供扩展接口;做到上万数量级响应
- 硬件电路架构,提供扩展接口;硬件自检;硬件重启电路
- 各模块间的通讯协议
一代产品需要做好 架构、板子设计、硬件生态(功能、状态、状态解决办法)、扩展接口,最好能够适应万量级,在后期产品迭代中就不改变架构
三、硬件研发注意事项
- 硬件接口(线材接口、硬件设备连接接口)的连接性、稳定性
四、产品预发布与迭代
- 第一阶段-研发
解决所有能想到的问题,然后研制出第一代机,但不实行量产 - 第二阶段-第一次试运营
先制作十台数量级的产品进行第一次试运营,时长:一个月,没有出现大的问题可进入3;如果出现小问题,再进入3前立即解决;如果出现大的问题,需进入到1环节,重头再来 - 第二阶段-第二次试运营
再制作一百台数量级的产品进行第二次运营,时长:两个月 - 第三阶段-正式发布第一代机
程序更新
- 完整更新;版本号例:1.0.1
- 增量更新(对有变化的进行更新);版本号例:1.0.1[.1]
硬件电路设计:
- 在硬件电路设计中,各个芯片之间的连接,可以构成一个树状图(离SOC越近芯片的层数越低),层数越低的芯片性能要大于其下连接的芯片性能总和。
- 能够分流就分流,不要汇集一路
- 在设计中要设计每一个芯片的检测电路,用来检测每个芯片的好坏。可以单独检测
嵌入式软件与硬件不容分割。在实际研发与运行中,硬件出现故障维护成本过高,通常用软件方案暂时解决硬件问题。最后在下一批量产之前升级硬件电路,以根本解决硬件问题。从此而得出,硬件设计并生产样板后,要经过大量的测试(老化测试、稳定测试、高温高湿测试)各种硬件主板的极端情况测试。看硬件主板能不能适应产品应用环境,有问题就修改,然后再测试,测试过关后,再进行量产。
嵌入式在研发阶段,选择硬件外设时,最好选择工业级的外设,并且供应商能提供外设的各种测试报告。如果由于成本,供应商问题,而被迫选用民用级设备,那么这批设备就得在我司决定量产之前进行各种测试。找出可能出现的问题,让软件/硬件上做兼容。
嵌入式在研发阶段时,最好选择尽可能好的芯片、电子元器件等。再后期的Crossdown时,再逐步降低成本,但同时也要做好硬件各项测试
生产、测试工具要求
1.工具要求稳定,最好不要走外部网络,最好本地系统工具,其次有线连接方式的PC工具,最后走无线网络的服务器工具
其他
1.在发行前对于不稳定的设备器件都要进行严密的监控,监控该器件各种信息(运行状态),并记录本地,上报服务器。服务器生成图表以观之。可将此数据加入到运维系统中
2.在试运营过程当中的设备,出现的任何问题都要给出结论,如果结论不够信服,都需要着重解答,不管是否觉得不重要。原因:在试运营中的设备因数量少,所以现象没有量的冲击;然而当设备增多时,该现象就会同比增长。那时就是一个无法忽视的一个问题,但是在那个时候解决已经有点晚了,势必会增加不必要的成本,所以对于这些问题尽早解决为好。