0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

板级支持包给提嵌入式开发供软件功能选择

电子设计 来源:郭婷 作者:电子设计 2019-03-22 08:48 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

克服嵌入式开发的障碍

已经创建了许多开发人员工具和支持的硬件和软件产品,以帮助最大限度地降低嵌入式开发风险,加快从小型消费设备到高性能等各种产品的上市时间工业控制和遥感设备。即使入门也是一个挑战,因为软件开发取决于硬件是否准备就绪。后续集成受到硬件和软件之间的许多相互依赖性的影响,从设备驱动程序,适配层和OS内核向上到应用程序接口(API)和应用程序本身。虽然必须面对这些问题,但开发团队通常希望将他们的资源集中在应用程序级别,以创建独特的功能,从而使产品在市场中脱颖而出。

为了帮助克服一些早期障碍,芯片供应商已经创建了开发平台,可以解决许多硬件设计难题并加快开始处理软件的过程。在选择提供所有必需功能并接近理想配置的平台后,团队可以在项目进展时对硬件进行微调,以添加独特或增值功能。最终,可以为生产目的创建定制的,小型化的硬件版本。

另一方面,可提供大量单板计算机(SBC)或计算机模块(COM)硬件,采用流行的处理器架构,如x86,Intel®Atom™或ARM®,采用各种微型外形,如PC/104或Mini ITX。这些可以用作软件开发的平台,然后在很少或不需要对硬件进行进一步修改的情况下扩展到生产中。

任何嵌入式开发平台都需要板级支持包(BSP)来提供必要的软件用于控制特定于硬件的功能。 BSP的各种元素包括板上设备的驱动程序,使OS能够与板硬件通信的适配层,以及用于加载和启动OS的引导加载程序。由于存在将硬件与OS连接的各种软件组件,因此创建BSP取决于操作系统及其特性的知识。

软件选择:Windows嵌入式路由

创建使用Microsoft®Windows®CE或Windows XP Embedded等框架的嵌入式操作系统映像和应用程序软件为产品开发人员提供了在商业支持的生态系统中工作的优势。这种方法的好处包括访问现成的商业工具,如Visual Studio集成开发环境(IDE),其中包括用于设计和构建自定义操作系统映像的Platform Builder工具集。开发人员可以使用此工具从目录项菜单中仅选择所需的功能,从而最大限度地减少对内存等系统资源的需求,从而自定义操作系统映像。还有一些现成的设备驱动程序列表可以快速轻松地合并,或者在必要时帮助构建自定义驱动程序。

因为Microsoft Embedded OS内核和典型行为是已知的,所以第三方如电路板供应商可以更轻松地提供所需的支持,如BSP,以帮助开发人员快速启动和运行硬件。

除了BSP之外,还需要一个用于定制操作系统的软件开发工具包(SDK)来帮助工程团队创建应用程序软件。 SDK提供必要的软件,包括一组允许应用程序与操作系统交互的应用程序接口(API)。 Platform Builder工具集还包括一个应用程序向导,可帮助硬件团队创建基本的示例应用程序和动态链接库(DLL),这些应用程序与SDK一起帮助应用程序开发人员了解操作系统并使用eMbedded Visual等工具创建自己的自定义应用程序C ++®。图1说明了Windows Embedded CE开发中涉及的硬件和软件组件。

板级支持包给提嵌入式开发供软件功能选择

图1:Windows Embedded软件将应用程序与底层硬件连接起来。

Microsoft最近通过引入用于Windows CE .NET的标准SDK简化了跨设备应用程序的编写。这提供了一组基准组件,开发人员只需将标准SDK作为组件包含在其Windows CE .NET设备中即可确保在其设备中使用。 eMbedded Visual C ++ 4.0及更高版本中包含对标准SDK的支持。

Advantech AIMB212D是硬件平台的一个示例,非常适合开发基于Windows Compact Embedded(CE)或XP Embedded的设备( XPE),虽然它不仅限于Windows Embedded开发。该主板具有双核Intel Atom CPU,PCI和PCie插槽,千兆以太网支持,多个串行和USB端口以及GPIO。研华为使用SUSIAccess的低级传感器和云连接支持多种BIOS选项,WinXP和Win7驱动程序,实用程序和API。稍后会详细介绍。

开源选择

虽然Visual Studio现在支持Linux和iOS开发以及Windows Embedded,但Linux开发人员历史上并没有获得商业支持的好处工具。尽管如此,开源开发带来的自由以及与Linux交互的低前期成本是使Linux变得非常受欢迎的因素。事实上,大多数非桌面计算系统现在都运行在某种形式的Linux操作系统上。

即便如此,开发基于Linux的设备可能更容易,更高效,更方便。例如,当OS的属性变化如此广泛时,硬件供应商很难创建合适的BSP。创建标准化嵌入式Linux发行版的举措试图克服硬件开发人员的一些变幻莫测,从而简化硬件和软件开发的交叉。 uClinux是针对简单微控制器的项目示例。它可以基于Linux 2.0,2.4或2.6内核,并附带用户应用程序,库和工具链。微控制器供应商可以为任何给定产品的评估板创建一个uClinux BSP,从而为客户提供更快,更简单的开发路径,前提是他们为所选择的微控制器使用适当的uClinux端口。

Yocto Project是另一种方法的示例,旨在帮助硬件开发人员在将开源开发自由与商业支持框架的便利性相结合的环境中创建自定义Linux发行版。该项目建立了通用模板,工具和方法,并利用Linux基金会的长期支持计划(LTSI)来标准化内核。 LTSI提供必要的范围,以严格控制的节奏应用安全性和错误修复,允许每个内核版本得到适当维护。

与Yocto项目的连接可以为各种类型的组织提供优势,包括芯片制造商,工具供应商,Linux发行版的创建者和嵌入式设备开发人员。因此,该项目得到了众多行业参与者的支持,他们正在投入人力和资源来帮助简化Linux的设备开发。 Yocto项目为Linux构建系统和操作系统实施的碎片提供了解毒剂,这可能使产品开发复杂化并阻碍硬件或软件供应商为其客户提供支持的努力。 Yocto项目带来的额外效率还有助于降低开发成本,加快需要高质量保证的产品的上市时间,例如汽车模块或运营商级电信系统。

Digi Connectcore 6UL是一个带有源代码的完整Yocto Project Linux BSP的SBC示例。该板还集成了对无线连接的支持,包括IEEE 802.11a/b/g/n/ac和Bluetooth®4.2,用于添加Grove传感器或扩展板的连接器,以及支持加密,密钥存储和安全启动以保护的硬件安全元件连接智能设备。

Android Things

作为一款基于Linux的操作系统,除了大型组织的支持之外,Android作为智能手机和平板电脑的平台也取得了巨大的成功。开发人员可以使用Android SDK和Android Studio或第三方应用开发工具等工具快速为Android手机创建移动设备或应用。谷歌现在正在扩展Android系列以包括其他类型的设备:Android Wear就是一个例子,旨在开发可穿戴电子产品,如智能手表。

Android Things的到来对于开发人员来说可能是一个令人兴奋的举动嵌入式系统与Yocto项目类似,Android Things理念使开发人员不必创建或修改自己的Linux内核。这有望为小型,资源受限的设备创建应用程序,就像开发移动应用程序一样简单,并且可以将新的应用程序开发人员群体从移动场景带入嵌入式世界。随时可用的交钥匙,认证开发板和Android Things SDK使原型设计能够立即开始。

Android Things SDK(图2)支持用于移动开发的Google Services API子集,并删除那些不适合嵌入式开发的。通常,这些是需要用户输入或身份验证凭据的API。另一方面,添加了Things支持库,它引入了嵌入式设备中常见而不是移动设备中的硬件类型的API。这些包括连接到GPIO或接口的传感器和执行器,例如I 2 C,SPI或UART

板级支持包给提嵌入式开发供软件功能选择

图2: Android Things在物联网支持库中添加了额外的API来管理嵌入式设备中使用的硬件类型。

将传感器连接到云端

从多个通道捕获传感器数据的能力,汇总并发送到云中的分析和机器学习应用程序,对于未来工业自动化的发展至关重要。在Advantech AIMB212D和Digi Connectcore 6UL等连接SBC上托管的应用程序在第四次工业革命(工业4.0)的网络物理系统中发挥关键作用,收集和转发传感器数据,如用于振动传感的加速度计信号,生产率指标,组件可追溯性数据或质量信息,如检查图像。当然,这两种SBC都经过认证,可以连接到Microsoft Azure云,并附带软件来实现这一点。

除了嵌入式软件API,研华还提供带有AIMB212D的SUSIAccess™API。像SMbus和硬件监视器一样用于从连接的传感器捕获数据。 SUSIAccess结合了研华的安全和统一智能接口(SUSI),用于监控嵌入式设备,具有支持数据挖掘,备份和远程恢复的附加功能,并帮助将感测数据传输到研华的WISE-PaaS物联网软件平台,提供远程监控,设备管理等服务寻求使用Digi Connectcore 6UL板解决类似应用程序的开发人员,在基于Yocto的Linux环境中工作,可以利用Digi开发的软件扩展来促进云集成。其中包括Digi TrustFence™基于硬件/软件的安全框架,对空中下载(OTA)固件更新的支持,以及远程设备管理和健康监控。图3显示了构成Digi嵌入式Yocto平台的BSP和软件扩展,包括对云集成的支持。

板级支持包给提嵌入式开发供软件功能选择

图3:Digi嵌入式平台增加了软件扩展,充分利用了Yocto项目的托管特性。

Android Things特别适合创建物联网设备,不仅包括用于设置温度传感器,智能相机或其他传感器的低级接口的API,还提供对Weave通信平台的访问,以简化将设备连接到Google Cloud的过程。使用Weave设备SDK,开发人员可以将设备连接到Google的Weave服务器,该服务器处理安全设备注册,设备管理以及与Google智能助理等服务的集成。使用Weave开发者控制台可以轻松设置和监控设备,并且注册为Weave开发人员可以访问Weave Developer应用程序,以便通过移动设备或平板电脑测试和控制设备。

启动Android Things项目很容易,使用支持的电路板,如Wandboard的PICO-PI-IMX6UL。这是基于恩智浦i.MX6应用处理器,内置IEEE 802.11 b/g/n Wi-Fi蓝牙4.1支持,4 GB可移动存储卡,并提供GPIO,I 2 C,I 2 S,UART和SPI用于连接传感器或控制器等外部设备。进一步的连接和多媒体扩展是可能的。

结论

通过良好支持的SBC设计嵌入式系统更加友好和快捷,简化了对系统启动和运行所需资源的访问。即便如此,操作系统的选择也会对项目的成功产生深远的影响。 BSP和SDK中的驱动程序和API等软件以及应用它们的良好支持工具有助于最大限度地减少开发人员必须自己完成的工作,并允许更加关注应用程序级别的差异化功能。

像Yocto Project这样的计划使Linux开发人员能够享受类似于那些选择Windows Embedded路由的用户所提供的支持。 Android Things现在为小型连接设备的创建者提供类似的好处和简化的移动应用程序开发体验。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 处理器
    +关注

    关注

    68

    文章

    20371

    浏览量

    255554
  • 温度传感器
    +关注

    关注

    48

    文章

    3256

    浏览量

    163506
  • 嵌入式
    +关注

    关注

    5212

    文章

    20746

    浏览量

    338442
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    探索 ATMega328 微控制器:嵌入式开发选择

    探索 ATMega328 微控制器:嵌入式开发选择嵌入式开发领域,选择合适的微控制器至关重要。今天,我们就来深入了解一下 ATMega328 微控制器,看看它能为我们的项目带来哪
    的头像 发表于 04-11 15:15 624次阅读

    RT-Thread Vector软件包:嵌入式开发的动态数组容器 | 技术集结

    RT-Thread Vector软件包:嵌入式开发的动态数组容器 | 技术集结
    的头像 发表于 01-25 09:33 5737次阅读
    RT-Thread Vector<b class='flag-5'>软件</b>包:<b class='flag-5'>嵌入式开发</b>的动态数组容器 | 技术集结

    嵌入式开发常用函数速查表

    嵌入式开发中,掌握常用函数的用法可以大大提高开发效率。无论是单片机初学者还是有一定经验的工程师,熟悉函数库和调用方式都是必备技能。今天,我们为大家整理一份嵌入式开发常用函数速查表,覆盖GPIO
    的头像 发表于 01-19 09:06 530次阅读
    <b class='flag-5'>嵌入式开发</b>常用函数速查表

    探索MCIMX93-QSB开发板:开启嵌入式开发新征程

    探索MCIMX93-QSB开发板:开启嵌入式开发新征程 在嵌入式开发领域,一款优秀的开发板能为工程师们提供强大的支持,帮助他们快速验证想法、
    的头像 发表于 12-24 14:55 1232次阅读

    性能与性价比兼得!迅为RK3562开发板开启嵌入式开发选择

    性能与性价比兼得!迅为RK3562开发板开启嵌入式开发选择
    的头像 发表于 12-23 16:10 1906次阅读
    性能与性价比兼得!迅为RK3562<b class='flag-5'>开发板</b>开启<b class='flag-5'>嵌入式开发</b>新<b class='flag-5'>选择</b>

    探索 KIT_XMC71_EVK_LITE_V1 XMC7100 评估嵌入式开发选择

    探索 KIT_XMC71_EVK_LITE_V1 XMC7100 评估嵌入式开发选择嵌入式开发领域,一款合适的评估能极大地提升
    的头像 发表于 12-19 16:15 698次阅读

    一个面向单片机、事件驱动的嵌入式开发平台介绍

    EventOS,是一个面向单片机、事件驱动的嵌入式开发平台。它主要有两大技术特色:一是事件驱动,二是超轻量。EventOS以及其母项目EventOS,目标是开发一个企业嵌入式开发
    发表于 12-05 06:26

    分享一个嵌入式开发学习路线

    拓展期(3-4个月) 学习嵌入式操作系统(RTOS)和物联网通信技术,能开发“多任务、联网”的复杂项目,理解企业嵌入式开发的“架构思维”。这一阶段的学习需要一定的自律和毅力,但与学
    发表于 12-04 11:01

    嵌入式开发工具版本的选择策略

    今天,我们就来结合嵌入式常见的几个软件(如Keil / IAR、VS Code 、Source Insight、VMware、Git等),简单讲一讲嵌入式开发工具软件版本选择策略。
    发表于 11-25 06:11

    嵌入式开发的关键点介绍

    设备和移动设备。因此,嵌入式开发需要考虑系统的功耗,并编写节能的代码以延长系统的使用寿命。 4. 软件集成: 嵌入式系统通常需要与其他设备和系统进行集成,例如传感器、网络和云服务。因此,嵌入式
    发表于 11-13 08:12

    嵌入式开发效率革命!明远智睿H618核心

    嵌入式开发效率革命!明远智睿H618核心:从硬件到服务的全方位赋能 在当今快节奏的技术迭代浪潮中,嵌入式开发项目的“效率”与“成本”已成为决定项目成败的关键因素。传统开发模式下,
    的头像 发表于 10-28 15:48 757次阅读

    新一代嵌入式开发平台 AMD嵌入式软件和工具2025.1版现已推出

    AMD 2025.1 版嵌入式软件和工具是面向新一代嵌入式系统开发而打造的综合平台,全面加速概念构想到部署落地。 2025.1 版嵌入式
    的头像 发表于 08-20 09:15 4336次阅读

    嵌入式开发的核心选择

    RK系列核心是基于瑞芯微(Rockchip)处理器的高集成度嵌入式模块,广泛应用于智能终端、工业控制、物联网和人工智能等领域。凭借出色的性能、低功耗和丰富的接口,RK核心成为众多开发
    的头像 发表于 07-29 18:02 955次阅读

    嵌入式开发就业还有前景吗?

    。在智能家居领域,嵌入式开发的主要工作是开发各种智能化设备和系统,如智能照明、智能安防、智能家电等。嵌入式开发人员需要掌握相关的硬件和软件技术,如处理器、传感器、通信技术、操作系统等,
    发表于 07-16 10:47

    明远智睿SSD2351开发板嵌入式开发领域的新型新星

    在物联网、智能家居、智能网关、视频监控等新兴技术领域迅猛发展的今天,嵌入式开发作为这些创新背后的核心驱动力,其重要性日益凸显。而在嵌入式开发的众多环节中,开发板选择无疑是决定项目成败
    的头像 发表于 07-01 16:47 977次阅读