嵌入式软件开发计划想法

在功能确定以后,可将嵌入式软件开发分为以下几个阶段。

阶段一、关键技术点试验与验证

针对,有些点在之前的项目中已经验证过的、可可以不必一一编写程序验证。(为了稳当点、最好还是,把各个技术点列出来一个表格,写出来可能性能需求,以及验证后的结果),该阶段要考虑以下几点。

1、中间件的验证

中间件是从外部获得的一些软件包括协议栈、辅助数据接口(链表、循环队列)、系统等,往往需要验证其可靠性、以及接口功能情况(例如不同蓝牙协议栈的广播函数接口,有的需要指定广播包,有的需要同时指定广播包和扫描相应包),可提高开发效率。

协议栈会用到lwip、tinyusb、minble等一些开源的协议栈;系统可能会用到rtos、osal等;其它组件会用到fts、循环队列等。

2、硬件验证

对iic、i2s、spi、gpio、spi、uart、gpio、中断、定时器、cpu、蓝牙、Wi-Fi、2.4g、flash、eeprom等可能用到的硬件编写例程,测试验证它们的功能、性能、功耗能不能达到设计的预期要求。(虽然,有时候会不充分,但至少可以减少一些问题)

3、关键算法验证

通常在开发过程中,会遇到一些复杂的数据处理算法,例如imu、ahrs、卡尔曼、fft、语音识别、神经网络、运动控制、以及相关专业的处理算法,需要验证其在芯片上的运行时间、精度等可能存在的问题(例如,有的算法在片上运行需要裁剪优化等等)

最后,这三个方面,有时会互相杂糅在一起,根据具体的产品方案框架来制定自己的计划。例如文件系统,就往往基于外部flash、而外部flash需要基于spi总线,可根据实际情况直接对写一个文件系统验证例程来验证。

阶段二、标准化编程

其实对于嵌入式产品,上述的验证后,技术研发阶段基本就完成了,可根据需求规范确定完整的详细设计规范,后边基本上就是编码、测试等体力活。给出编码规范(也可以不给)。即可对整个系统进行编码是实现(一般都是,先对各个模块定义一堆.h文件写清楚每个函数的功能、输入、输出,在.c中一顿实现)。

然后按照常规套路,再进行测试验证,性能优化即可。

阶段三、转产

嵌入式软件,往往需要下载到对应的硬件中。会遇到批量生产下载问题。需要按照相关的规范生产生产文件,并配套生产下载时相关的工具(jtag、usb转ttl等硬件,jflash、串口助手等软件),必要时该要给出操作文件、以及进行相关的培训。

对于一些产品,还需要在产品程序中添加一些生产自检、配置等工序相关程序,以及配套交互文档。

结语,在嵌入式开发的三个阶段,针对阶段一只能通过用熟悉的接口、芯片、中间件提高效率,因为如果用到新的就需要去验证研究(切忌,拿过去类似的经验来想当然的“感觉”当前的也可以)。第二阶段,基本就时拼的编码熟练度;如果,之前产品有成熟的转产方案,最好拿来直接用,这样可以减少对生产人员的培训,可减少很多风险。

注:后面的等总结好再写。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值