使用的芯片相同,但不同模组的Flash大小、天线的材质、模组尺寸是不同的。是的,芯片到模组的演变经历了“定制化、专用化”的过程。模组最终会嵌入到电视、电冰箱、空调等不同的产品中去,对模组的存储空间大小、模组天线材质、模组的大小要求当然不一样。

通常,模组的研发是面向“产品”的,因为,模组研发的最终目的是将模组嵌入到目标产品(如,电视、电冰箱、空调)。ESP32-D0WD芯片提供了实现蓝牙和WiFI功能的内部集成电路,但A公司只需要WiFi功能,为满足A公司的需求,仅将ESP32-D0WD芯片的与WiFi功能相关的引脚引出,制作出一款“WiFi”模组(尽管ESP32-D0WD芯片也可以实现蓝牙功能,但A公司不需要,因此不对外提供ESP32蓝牙功能的接口了)。同理,B公司只需要蓝牙功能,为满足B公司的需求,仅将ESP32芯片的与蓝牙功能相关的引脚引出,制作出一款“蓝牙”模组。(当然,你可以选择同时实现蓝牙和WiFi功能,这样引出的引脚更多,模组体积可能更大,money也更多,所以,成本、功能、尺寸都是需要考虑的因素)

同一模组,可以嵌入到多个不同型号的开发板中。同一型号的开发板也可以使用不同的模组(他们只是名字一样,I/O数量、天线材质等不一样)。因此,模组与开发板(确切的说是开发板型号,不是开发板实体)的对应关系是多对多的关系。

(不同公司需要的I/O种类和数量不同,需要的UI方式也不同,有的需要显示屏,有的只需要LED灯就够了)

实际上,芯片只是“定义”了引脚功能,并未将引脚引出到可供连接的铜箔上,模组将部分引脚引出以供产品连接。

不同模组的功能可能不同,因为他们需要的资源不同,因此引出的引脚不同。

模组是面向“产品”的,最终目的是嵌入到产品内部,成为执行特定功能的模块(这也是模组概念的由来,模组,即执行特定的功能的模块,用于组合到产品中使用)

开发板是面向“测试学习”的,是一个假定的“产品”(你打开一个空调,他内部连接的是一个模组,不是一个开发板),是针对嵌入到其内部的模组,提供快速地学习了解,测试模组性能的工具。因此,开发板可看作模组到产品的一个“中间临时变量”,如下图所示:


我们很难一次性写出完全正确的应用程序代码,因此,尽管最终用到产品中去的是“模组”,但开发板的存在依然重要,在写应用程序时,将错误信息打印到开发板的显示屏上、或者通过LED灯显示程序出错的位置将大大加快开发的进程,保证程序的健壮性。在确保应用程序无误后,去掉代码中的“打印语句”(最终产品可能是一个无显示屏、无LED灯的设备),然后,将代码批量烧录到模组中,就得到执行我们指定应用功能的模组了,最后一步就是嵌入到产品中,成为执行一定功能的模块)。

软件开发包SDK与芯片、模组、开发板的对应关系是一对多的,在开发包(ESP-IDF中)针对的是某款芯片的开发,是芯片功能实现的一个完备软件集(如,开发包中包含HTTP协议实现的软件,而你不需要用HTTP,忽略它,只配置使用自己需要的包即可),因此对于不同的开发板选择对应芯片的开发包即可。

引用文章:芯片、模组、开发板的区别与联系-结合ESP32浅谈

芯片-模组-开发板-软件开发包SDK(Software Development Kit)的关系(软件开发人员必须了解的硬件知识)相关推荐

  1. Minecraft 1.18.1、1.18.2模组开发 01.eclipse 开发包构建教程

    1.18.2的离线开发包附文末 我们本次来进行Minecraft 1.18.1 模组开发教程的介绍,首先我们需要下载eclipse和openJDK eclipse下载 eclipse官网下载最新版 o ...

  2. EPIC公司免费放出虚幻unreal3 游戏软件开发包 Unreal 3 Development Kit(UDK)2009

    虚幻引擎3可谓近年来最流行的游戏引擎,基于它开发的大作无数,除<虚幻竞技场3>外,还包括<战争机器>.<彩虹六号维加斯>.<镜之边缘>.<荣誉勋章 ...

  3. PAJ7620手势传感器快速应用- -基于涂鸦CBU模组开发板

    PAJ7620手势传感器快速驱动- -基于涂鸦CBU模组开发板 正在,或是想要开发物联网小产品的你是否会觉得一些常用的控制需要繁琐地掏出手机会让你的产品体验不佳?添加实体按键又显得太 low ?不妨来 ...

  4. 【BW16 应用篇】安信可BW16模组/开发板AT指令实现MQTT通讯

    文章目录 前言 1 固件烧录 2 EMQ服务器搭建 2.1 软件获取 2.2 启动EMQ服务 3 设备端联网配置 3.1 AT指令配置 3.2 信息交互 联系我们 前言 本文主要介绍安信可BW16模组 ...

  5. Microsoft Sync Framework 2.1 软件开发包 (SDK)

    Sync Framework 2.1 引入了新功能,这些功能支持您计算机上的 SQL Server 或 SQL Server Compact 数据库与 SQL Azure 数据库进行同步.此发行版还引 ...

  6. android指纹开发套件,指纹芯片_指纹传感器_瑞典FPC指纹开发套件_开发包

    瑞典FPC 指纹开发包FPC-ASD Features  Development kit for fingerprint sensor FPC1011C  Ergonomic sensor hou ...

  7. 安信可PB-03蓝牙模组入门之旅 二:SDK二次开发入门,认识架构,开始点亮一盏LED。

    本系列博客学习由非官方人员 半颗心脏 潜心所力所写,仅仅做个人技术交流分享,不做任何商业用途.如有不对之处,请留言,本人及时更改. 1. 安信可PB-03蓝牙模组入门之旅一:Windows SDK二次 ...

  8. 涂鸦模组开发光照传感器

    涂鸦模组开发光照传感器(OPT3006) 概述 涂鸦智能 视频教学 系统框架设计 OPT3006 超薄环境光传感器 TYZS5 模组 特点 PCB绘制 涂鸦零代码开发 涂鸦模组开发文章 最后 概述 亮 ...

  9. 涂鸦模组开发(压力传感器HX711)

    涂鸦模组开发(压力传感器HX711) 概述 资料下载 涂鸦智能 视频教学 系统框架设计 压力传感器 信号处理 涂鸦蓝牙模块 软件设计 涂鸦模块开发 智慧生活App 开发文章 最后 概述 1999年我国 ...

最新文章

  1. 第七篇:数据预处理(四) - 数据归约(PCA/EFA为例)
  2. Mysql分区对大表查询效率的影响
  3. Unity网格合并_材质合并
  4. ALSA(二), makefile, Autotools, premake
  5. linux命令:mkdir命令
  6. 小程序和app用什么样的服务器,小程序和APP的本质区别是什么?哪个更值得开发?...
  7. 第8章 硬盘和显卡的访问与控制
  8. php图片长宽处理,用php调整图片宽高 | 学步园
  9. 【数据结构算法】数据结构思维导图
  10. Hadoop的调度器总结(转)
  11. 以二进制输出64位类型的数据_Java入门第五课:Java基本数据类型与变量的声明...
  12. uniapp 地址栏选择,获取地址,地址编码
  13. 车牌识别的matlab程序(程序_讲解_模板),车牌识别的matlab程序(程序-讲解-模板)资料...
  14. 香港服务器防攻击能力怎么样
  15. 特殊空白字符无法过滤
  16. JAVA面试题《下》
  17. 有什么好用的股票回测接口?
  18. 人脸检测(十五)--改进版VJ人脸检测(LBP特征,VISAPP2017)
  19. 基于流向算法的WSN覆盖优化
  20. OpenCV—python 图像相似度算法(dHash,方差)

热门文章

  1. Centos用cron定时执行PHP
  2. 电脑硬件故障的几种简单检查方法
  3. 项目jetty服务器,maven项目配置Jetty服务器
  4. 【ABAP】供应商进项税额查询报表开发
  5. 【转】Postman安装与使用
  6. CO-ACT物料分类账
  7. 如何查找订单提示VPRS VE217 数量/值确定时出错
  8. SAP PO相关打印编程
  9. 这个搞定系统监控的妙招,不来学可惜了
  10. 澳优、伊利、君乐宝、贝因美等入局,羊奶能否迎来“牛市”?