如何做让客户满意的 Linux 系统

出于成本控制和产业上下游合作关系,产品制造商往往会选择与方案提供商合作,使用他们的硬件模块和 Linux 系统。然而,受地理位置和对客户的重视程度影响,方案提供商的服务质量参差不齐,这也直接影响到了下游企业的生产环节和产品质量。实际上,一个让客户满意的 Linux 系统,除了满足功能和性能这两方面的基本需求之外,在生产、测试、维护等方面也不容忽视。

在这里插入图片描述

易于生产的系统

一旦产品研发完成,生产资料将会交付制造部门或 OEM 工厂进行批量生产。在这一环节,除了需要进行硬件生产和测试之外,还需要烧写系统、安装应用程序、系统测试或者进行产品配置等。因此,一个易于生产的系统显得尤为重要。由于嵌入式系统产品从设计到生产的过程需要经过多道工序,每个环节并非孤立存在的,在产品设计特别是软件和系统方面,方案提供商需要多为批量生产考虑,提供高效便捷的批量生产方案。

对于嵌入式系统的烧写,通常有三类方式可供选择:贴片前烧录器烧写、贴片后脱机烧写、贴片后在线烧写。

在这里插入图片描述

贴片前借助烧录器烧写的速度最快,适合于大批量生产。通过烧录器软件制作烧录工程,可以实现快速批量烧写。但由于 Linux 系统各存储分区对 NAND 使用方式有差别以及文件系统的特性,烧录器并不一定能够很好支持。在经过验证可实现的情况下,这种方式是最佳选择。

贴片后脱机烧写,可以脱离上位机,但并不适用于所有处理器,只有支持 SD/TF 卡等可移动介质启动的处理器才可以实现。制作好启动卡和镜像,配合一定的外部引脚设置,实现上电后自动完成烧写,最终给出烧写完成指示。

贴片后在线烧写,需要上位机配合,效率较低,但可能是最常用的一种方式了。这种方式的最终实现也与处理器密切相关,根据处理器的特性来实现烧写方式。可能需要将 Bootloader、内核和文件系统等分开烧写,也有可能需要用到多种方式,如 JTAG、串口、USB、网口等各种接口。但是对于一个特定的处理器,在设计量产工序的时候,尽量简化工序和操作步骤,能实现脚本自动化或者半自动化的一定要尽量实现,最大程度上减少人工干预。例如,Tera Term 终端工具就支持脚本功能,灵活使用该特性能够简化操作步骤并减少出错,从而提高生产效率。

在这里插入图片描述

易于测试的系统

嵌入式产品的测试主要包括两方面内容,一是系统性能测试,二是出厂前产品功能测试。系统性能测试包括系统的稳定性、可靠性、功耗、甚至是系统时延等指标,这部分通常需要方案提供商协助;出厂前产品功能测试是应用厂商在出货前必须做的,包括针对不同产品的单项功能测试,以及针对整机的老化测试。

性能测试通常需要研发人员参与,而功能测试(无论单项功能测试还是老化测试)由测试人员完成。因此测试的操作流程一定要简便,程序设计必须考虑自动化(能自动化执行的都要自动化)、批量测试的可能性。因为这些程序的使用对象是工厂的测试人员,一定要做到用最简单的操作来完成测试,并且对测试结果生成报告,便于进行测试结果汇总及后续维修事宜。

在这里插入图片描述

易于维护的系统

因为方案提供商和产品制造商站在不同立场,因此在系统维护方面有不同侧重点。简单来看,系统的维护主要包括两方面,一方面是对底层系统(内核、驱动)的维护,另一方面是对应用程序的维护。

通常来说,一旦硬件平台和系统测试稳定后,底层系统就不需要再修改了,但有时候由于测试不完善或者更换器件等原因,需要修改底层系统。这样一来,如果没有完善的在线升级功能,往往需要重新烧写。为了减少不必要的麻烦,对有可能需要进行后期升级的部分,建议编译成内核模块,进入系统后再进行加载,后续一旦需要维护或者升级,可以在应用中进行升级替换,而无须重烧内核。

在这里插入图片描述

产品制造商更关注的是应用程序的维护,这方面的维护手段就比较多了。主要有两个层面的维护,一是应用程序包管理,二是应用程序的升级。不同厂商有不同的包管理方案和习惯,包的格式可以是常见的 tar、deb、rpm 等等,也可以是自定义的包格式。对于嵌入式设备,应用程序的升级方式也是多种多样,可以通过网络进行远程升级,或者通过 U 盘、SD/TF 卡等进行本地升级,甚至可以通过 2G/3G/4G、ZigBee 进行空中升级。无论通过何种方式升级,都需要考虑升级失败能恢复旧版本程序或者能够进行再次升级,避免升级失败导致系统故障。

©️2020 CSDN 皮肤主题: 编程工作室 设计师:CSDN官方博客 返回首页
实付 9.90元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值