从树莓派带你掌握嵌入式linux产品实战开发--什么是嵌入式linux(二)

从树莓派带你掌握嵌入式linux产品实战开发–什么是嵌入式linux(二)

作者:伍俊伟 [email protected]
本文非作者授权,禁止转载
2020年8月5日

深思三分钟,这个问题你真的答得出来吗?但绝大多数人耳熟能详。

嵌入式产品是软件硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。这句看起来简单,却不好理解,请听作者一点一点解析。

软件和硬件可裁剪,两者缺一不可。软件硬件裁剪?可能在有些读者心中会有个大问题。裁剪的意思就是需要的东西保留,不需要的东西删除(不要),无论是软件还是硬件,只保留下需要的东西。理解这个概念,后面就好理解了。下面举个例子:
在这里插入图片描述

树莓派3B+和树莓派CM3+都是同样的BCM2837 四核1.4GHZ主频处理器,1G内存。任何嵌入式系统中,处理器、内存、FLASH都是必需的,但外围设备却不同。这也决定着功能、成本、体积、功耗各不相同。

比如说我们做一台工业手持机(如paipai one),我们不需要RJ45以太网接口这个功能,若用3B+去做手持机,这就造成了3B+上的RJ45接口功能浪费了,成本增加了(网口成本),整体设备体积也增加了(网口体积),还可能造成功耗上的浪费(网口芯片功耗)。在嵌入式产品是不允许的。所以说嵌入式产品是对功能、成本、体积、功耗严格要求的。树莓派CM3+是非常适合用来做嵌入式产品的,它的性价比非常高,价格迷人,性能也是杠杠的。

手持机或者平板电脑,对体积、重量要求是非常高的,你见过手持机需要HDMI接口或者RJ45接口的吗?嵌入式产品通过产量很大,单一产品价格相差10元,可能导致项目整体成本相差100万。下图是paipai one设备的体积,如果用3B+来做,是做不出来的,因为体积过大,HDMI接口用不到,音频接口、摄像头接口等都用不到。只能用CM3+来做。
在这里插入图片描述

正如上面所说任何嵌入式产品中,处理器(性能各有不同)、内存(大小各有不同)、FLASH(大小各有不同)都是必需的(这也叫最小系统),但外围接口也各有不同,外围设备各有不同。
什么是外围设备?比哪蓝牙模块、WIFI模块、显示模块、触摸模块、音频模块、4G模块、电源管理模块、陀螺仪等等。在一个嵌入式产品中,用到的模块就保留,没有用到的万万不留着,我们做的是产品,不是一个大杂烩。

什么是外围接口呢?最小系统与外围设备间的物理连接方式,我们也叫外围接口,外围接口有串口uart、I2C、USB、SPI、SDIO、CAN等。比如说最小系统与WIFI模块的物理连接,有的用串口,有的用USB,有的用SDIO,这是因产品方案而异,能实现功能就行。

什么是接口协议呢?比如USB是一个物理接口,在USB物理接口上链路协议,如控制传输、批量传输、中断传输、同步传输等,链路协议上有HID协议、USB Mass Storage协议等都抽象称为接口协议。
上面讲的都是硬件上的裁剪,下面讲下软件上的裁剪。

嵌入式linux软件裁剪主要分为3部分:uboot(引导加载程序)、linux kernel(内核)、file system(文件系统)。那软件的裁剪剪的是什么呢?在嵌入式产品中,FLASH的大小是有要求的,在满足需求时尽量小为宜,这也是降低成本中的一种。那么我们裁剪掉uboot、linux kernel、file system中不需要的功能,编译出来的软件就比较小,比如说我的产品中不需要蓝牙相关的功能,我就裁剪中内核和文件系统中与蓝牙相关的软件功能。裁剪掉不必要的软件功能还有另一层意义就是提高系统的性能和可靠性。比如说你的设备开机30秒,我的设备开机10秒,你说哪个性能好?

设备评估板链接,点击开启学习之旅!

接下来让我们一起走进嵌入式linux产品设计的大门!
QQ付费交流群《从树莓派带你掌握嵌入式linux产品实战开发》: 91165448 进群可以和各位小伙伴一起学习交流(加QQ236175209拉进群),作者也不定期在线答疑。群内有相关课程源文件资料。
在这里插入图片描述