嵌入式 Linux 开发 1:收集产品需求,确定软硬件资源

收集产品需求

产品需求决定了技术路线,首要任务是定义产品

准确地定义产品是一种很困难的事情,需要不间断地做 2 件事:听取客户反馈-->产品发现;快速迭代-->产品交付

下图展示了一款 LoRaWAN 网关产品的需求。

是否需要使用 Linux

摩尔定律(芯片上的元件密度每 18 个月翻一番)推动 SoC(System on Chip) 系统芯片越来越复杂,典型的 Soc 具有长达 1000 页的技术参考手册。这需要一个完整的操作系统来管理芯片的复杂性,开源免费强大稳定的 Linux 成为首选。

Linux 有很多优点:高质量,开源免费,丰富的应用软件,足够的可选硬件,统一的操作方式,软件移植代价小
同时 Linux 的缺点也不可忽略:复杂度高,学习曲线陡,硬件成本不低,小心 GPL 版权。

一般来说,如果满足以下条件就可以在产品上使用 Linux

  • 工程师熟悉 Linux 技术,包括:GNU 开发工具链,Linux 系统管理,Shell 编程,设备驱动,文件系统等知识。
  • 硬件成本不太敏感,产品允许使用 32 位带 MMU 的 CPU,RAM 和 Flash 大于 32MB
  • 产品需要高级功能,如:支持 TCP/IP 网络,4G/5G 网络,Web 服务器,日志系统,远程升级等。

以本例 LoRaWAN 网关,团队拥有开发 Linux 长达 14 年经验,它需要 TCP/IP 4G WebServer等高级功能,允许使用较多资源的硬件。
因此在该产品上使用 Linux 也就是自然的选择了。

需要哪些 Linux 软件

产品定义决定了 Linux 软件,所幸的是 Linux 软件十分丰富。
以本例 LoRaWAN 网关,它需要如下的软件。

  • 驱动 SX130x/SX127x 的 LoRa 芯片,这是由芯片原厂 Semtech 提供。
  • 驱动 4G/5G,这是 Linux 自带的 ppp 协议。
  • web 服务器,一般使用 thttpd 软件。
  • 维护工具(日志系统,守护进程,远程升级等)一般用 Shell 按需开发。

需要哪些 Linux 硬件

产品定义决定了 Linux 硬件,除了满足功能,还有一些性能指标:成本,环境适应性,功耗,体积,易生产,供货稳定性。
环境适应性是一个重要因素,比如露天安装的室外网关至少要能承受 -40~+85 度,否则,冬季和夏季产品会宕机。

以本例 LoRaWAN 网关,下表的 Linux 主控都满足功能需求,最大的差异是“温度范围”。

posted @ 2022-09-22 13:28  KevinAshton  阅读(190)  评论(0编辑  收藏  举报