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

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

3天内不再提示

评估32位嵌入式软件IP的注意事项

星星科技指导员 来源:嵌入式计算设计 作者:Willard Tu 2022-06-28 15:11 次阅读

对于专业编写代码的人来说,评估“其他人的代码”的过程可能看起来很简单——但这不仅仅是阅读手册或检查源模块。正确评估选择及其长期影响意味着以新的、更广泛的视角看待各种选择。以下是可以帮助搜索更可靠软件的“做/不做”指南列表。

随着嵌入式设计人员为物联网生产数十亿可靠设备的压力,硬件和软件开发方法正在发生变化。挑选零件、获取手册和坐下来编写代码的日子即将结束——不是因为困难,而是因为这样做所涉及的时间。等到采用旧方法的设计师基本工作正常时,竞争对手可能已经发布了他们的成品。

创新是一把双刃剑,进一步推动了不断变化的发展实践。每天都有更多新的微控制器FPGA 处理器内核在 32 位 ARM 架构中被创建和引入,从而带来更多的处理能力来驱动许多设计人员在细节层面上不熟悉的高级外围功能。这在互操作性要求要求对外围设备进行彻底测试的情况下尤其棘手,这对于在所有操作场景下设备与其他设备的可靠连接至关重要。

在这个用户期望很高且处理技术快速发展的新环境中,释放新设备的潜力需要能够更快生产的更好的软件。成功的团队以可重复使用的硬件知识产权 (IP) 模型为基础,现在正在为每个软件 IP 块采用构建-借用-购买策略。代码可以在内部开发,可以从开源社区借用,也可以从供应商处购买,将所有内容都融合到一个解决方案中。

评估软件的注意事项

除了特定的功能和性能要求之外,应该如何评估软件 IP 块?以下是适用于应用构建-借用-购买方法的团队的一些“做/不做”指南。

DO:考虑整个软件堆栈

32 位嵌入式软件 IP 的范围比 8 位和 16 位世界的编译器和调试器要广泛得多。IP 存在于各个领域,包括操作系统、协议栈、用户界面代码和中间件。操作系统和应用程序编程接口 (API) 的选择可以启用或抑制其他选择,这会影响产品生命周期的测试、验证、文档和支持。

不要:假设一切都必须写出来

开发人员历来有代码优先的心态,购买开发工具,可能获得操作系统,然后开始编写应用程序。虽然这为团队提供了对代码的大量控制权,但重用或从可靠来源获取代码实际上可以降低风险,并且肯定会加快开发速度。越来越多的现成软件解决方案,特别是在 ARM 架构的背景下,正在被创建和部署。

DO:寻找符合规范的代码

难以编码的外围设备和功能通常属于网络、用户界面和信号处理类别,必须仔细遵守规范才能正常运行。获取蓝牙、TCP/IP、USB、HTTP Web 服务器、图形和 DSP 库等领域的代码——在其他应用程序中得到验证——可以在项目中发挥作用。

不要:落入开源价值陷阱

开源通常是一个很好的起点。ARM 的一个很好的例子是 Linaro 在 Linux 中为 Cortex-A 系列所做的努力。开发人员应该明白,可能需要努力移植、扩展和验证开源代码以完成价值方程式。例如,BTstack 的开发者——开源蓝牙专家 Matthias Ringwald——欣然承认它是有限范围的处理器和操作系统上的“所需协议的最小集合”。

“标准具有短期,尤其是长期的优势。通常购买的商用现货 (COTS) 软件是查找支持标准的软件的好地方,而通常内部专用软件可能不太面向标准。随着时间的推移,公司希望增强产品;通过遵循标准,其他硬件和软件组件将更有可能帮助未来的发展。”

——Mike Gee,Motomic Software 首席执行官

DO:对对象和源模块都开放

基于对“其他人的代码”的根本不信任或需要遵守以源代码为中心的审查流程,开发人员通常需要访问源代码。然而,拥有源代码并不一定会使代码更值得信赖,或者提供对结果的更多控制——但它肯定会增加项目的费用。在现场应用中证明的自包含功能的对象模块可以高度可靠且具有成本效益,并且可以提供文档以方便审查。

不要:将许可视为理所当然

许可是一个备受争议和高度误解的话题。许多工程师甚至不相信存在问题,认为授权嵌入式代码问题的故事是都市传说。在移动制造商之间纷争不断、共同特征专利的有效性受到激烈争论的时代,不事先关注 IP 许可可能是一个巨大且代价高昂的错误。适当的许可可以保护知识产权的提供者和消费者。

DO:尽可能将代码抽象到 API

充分利用构建-借用-购买策略的关键之一是使用 API,抽象 IP 块之间的接口。这有两个效果:它可以防止在模块内创建对特定于实现的代码的依赖关系,并且它允许 IP 块根据需要换出以用于具有不断变化的需求的未来项目。另一个经常被忽视的考虑因素是系统架构中的竞争时间线,其中并行评估功能块的多个实现并选择最佳方法。

不要:过度设计到低级需求

编写代码的诱惑力如此之大,以至于常常导致一个正当理由:第三方代码并不能满足每一个详细的要求,因此必须完整地开发代码。当然,如果开源或商业代码发现了一个主要需求,或者如果某个特定功能的创新突破是目标,那么应该编写一个代码模块。在构建-借用-购买场景中,高级需求非常值得付出努力,但应重新考虑低级实现细节以避免限制选择。

“我看到人们在决定构建时犯的最大错误是他们认为编写代码并不太难,在某些情况下确实如此。他们完全忽略了调试和测试需要多少时间和成本才能使软件(在我们的例子中是 TCP/IP 和相关协议)在每种配置和每种网络环境中都能正常工作。这不仅会导致更高的成本,而且项目通常会延迟,从而导致收入损失,甚至可能失去市场机会。”

——拉里·拉德,InterNiche Technologies 总裁

DO:专注于公司的核心专业知识

任何构建-借贷-购买策略的一个关键原则是专注于独特的能力,这应该占用大量的工程资源和专业知识。通过专注于开源或商业模块的正确内部开发和重用或集成,可以优化投资回报。事实上,如果一项能力变得突出,一块软件 IP 可能会成为重用的标准,从而打开新的收入机会。

不要:尽量在内部做所有事情

另一方面:很少有公司是制造完整产品所需的所有领域的专家,尤其是在软件变得更加多样化和复杂的情况下。对外部 IP 的抵制曾经被开玩笑地称为 NIH——“不是这里发明的”——但精明的组织正在改变这种心态。

“许多公司试图超越他们的专业知识,并在内部做所有事情。商业 IP 许可公司的存在是有原因的——它们在特定领域拥有核心专业知识,并且能够在开发、测试和部署用于最终产品的 IP 模块方面进行彻底的工作。最终,商业 IP 为开发人员提供了成本更低、功能强大的解决方案;更快的上市时间;减少故障排除;以及更少的客户拒绝。”

– SoftRISC 通信解决方案首席执行官 Ashok Setty

寻找软件进行评估

除了琐碎的复杂性之外,从数据表中评估代码对于模块来说是不可行的——关于实现的质量几乎无法收集。大多数工程师会直接阅读手册,将其评估为代码质量的代表,但许多高级微控制器的文档需要花费数百页的时间阅读。评估代码,再加上硬件开发工具包甚至培训,可以快速回答问题并推动流程向前发展。

不仅如此,32 位 ARM 生态系统提供了统一的结构,使代码搜索变得更加容易,并使嵌入式软件商店成为主要目的地。许多产品都提供评估版本,具有预打包配置和一键式许可,使查找和获取代码变得快速、简单和安全。

审核编辑:郭婷

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

    关注

    48

    文章

    7564

    浏览量

    151509
  • 处理器
    +关注

    关注

    68

    文章

    19312

    浏览量

    230038
  • FPGA
    +关注

    关注

    1629

    文章

    21748

    浏览量

    603885
收藏 人收藏

    评论

    相关推荐

    如何为住宅配置静态IP:步骤与注意事项

    为住宅配置静态IP地址,通常涉及以下步骤和注意事项
    的头像 发表于 10-24 08:02 249次阅读

    嵌入式学习建议

    对广大渴望学习嵌入式系统的学子提出几点基础阶段的学习建议: ①嵌入式系统软件硬件密切相关,一定要打好软硬件基础。其实,只要找到正确的方法,加上努力,任何理工科学生,甚至非理工科学生,都能学好
    发表于 10-22 11:41

    嵌入式工控机如何使用?嵌入式工控机操作方法及注意事项

    嵌入式工控机作为现代工业自动化和控制系统中重要的硬件支持,广泛应用于生产线监控、轨道交通、电力能源等多个领域。其稳定性、可靠性以及适应恶劣环境的能力,使其成为许多行业的首选。那么,嵌入式工控机究竟如何使用呢?高能计算机将详细介绍其操作方法和相关
    的头像 发表于 10-18 10:02 349次阅读

    脉冲充电器的使用注意事项

    脉冲充电器的使用注意事项主要包括以下几个方面: 一、安全注意事项 用电安全 :在充电过程中,应始终保持警惕,注意用电安全,避免触电和短路等危险情况的发生。 防火防灾 :避免在易燃易爆
    的头像 发表于 09-26 16:05 864次阅读

    绕线电感定制的注意事项

    电子发烧友网站提供《绕线电感定制的注意事项.docx》资料免费下载
    发表于 09-20 11:24 0次下载

    LiFePO4设计注意事项

    电子发烧友网站提供《LiFePO4设计注意事项.pdf》资料免费下载
    发表于 09-03 09:24 0次下载
    LiFePO4设计<b class='flag-5'>注意事项</b>

    人机接口电感触摸按钮的设计注意事项

    电子发烧友网站提供《人机接口电感触摸按钮的设计注意事项.pdf》资料免费下载
    发表于 08-30 09:30 2次下载
    人机接口电感<b class='flag-5'>式</b>触摸按钮的设计<b class='flag-5'>注意事项</b>

    嵌入式工控一体机的安装方法和使用注意事项

    嵌入式工控一体机的安装方法和使用注意事项?工控一体机系列产品中,因为使用环境的特殊性,很多企业需要以嵌入式的方式,把工控一体机安装到固定的位置,途控在多年的嵌入式工控一体机的客户沟通中
    的头像 发表于 08-04 11:12 1232次阅读

    TC277烧写的注意事项有哪些?

    UCBs的区域,我在烧写的时候我们的软件崩溃了,重启软件后芯片就锁住了,想问下这地方烧写的注意事项
    发表于 07-19 06:26

    聚徽触控-嵌入式平板工控机注意事项

    嵌入式平板工控机的应用中,需要特别注意以下几点:
    的头像 发表于 05-30 10:15 310次阅读

    FMD LINK 使用注意事项

    电子发烧友网站提供《FMD LINK 使用注意事项.pdf》资料免费下载
    发表于 05-06 10:11 0次下载

    瑞萨CTSU程序在向嵌入式OS操作系统移植时的注意事项

    瑞萨CTSU程序在向嵌入式OS操作系统移植时的注意事项
    的头像 发表于 03-29 08:05 362次阅读
    瑞萨CTSU程序在向<b class='flag-5'>嵌入式</b>OS操作系统移植时的<b class='flag-5'>注意事项</b>

    嵌入式软件设计的原则分享

    嵌入式软件开发如果具有更好的阅读性、扩展性以及维护性,就需要考虑很多因素。今天给大家分享几个嵌入式软件设计的原则。
    发表于 02-25 10:54 697次阅读
    <b class='flag-5'>嵌入式</b><b class='flag-5'>软件</b>设计的原则分享

    浪涌抑制器的应用及注意事项

    浪涌抑制器的应用及注意事项?|深圳比创达电子
    的头像 发表于 01-19 09:55 751次阅读
    浪涌抑制器的应用及<b class='flag-5'>注意事项</b>?

    STM32ADC中断的使用注意事项和优化建议

    使用中断是提高系统性能和精确度的关键。本文将详细介绍STM32ADC中断的使用注意事项和优化建议。 注意事项: 1. 合理选择中断触发方式:STM32ADC可以通过软件触发(软件启动转
    的头像 发表于 01-12 15:17 3491次阅读