Mbed OS 文档翻译 之 参考(贡献(工具(构建工具)))

构建工具

Mbed OS 包含用于在 tools 目录中构建自身的工具。这些构建工具包括特定于目标的后构建脚本。添加目标时,可能需要添加postbuild 脚本。使用 postbuild 脚本以链接器无法修改链接的应用程序二进制文件,例如在特定偏移量处插入校验和。Postbuild 脚本很少可以导出,只有在用完所有其他选项后才能使用它们。

Postbuild 脚本

这些工具包括用于在链接后修改应用程序二进制文件的任务的 postbuild 脚本。这些任务是用 Python 编写的,作为 tools.targets 模块中类的静态方法。任务在 targets.json 中指定为 Class.method。

这些工具使用 4 个参数调用静态方法:

  1. 工具链对象。您可以使用此对象进行日志记录。
  2. 用于此构建的资源对象。它包含所有 C,C++ 和 ASM 源码。
  3. 链接器生成的 .elf 文件的路径。
  4. 链接后生成的二进制文件的路径,如果代码未生成二进制文件,则生成 .elf 文件的路径。

实施

要添加 postbuild 脚本,请使用单个方法将类添加到 tools/ targets/__ init__.py python 文件中,例如:

class LPCTargetCode(object):
    """General LPC Target patching"""
    @staticmethod
    def lpc_patch(t_self, resources, elf, binf):
        """Patch an elf file"""
        t_self.debug("LPC Patch: %s" % os.path.split(binf)[1])
        from .LPC import patch
        patch(binf)

需要此 postbuild 脚本运行的目标必须在 targets/targets.json 中包含此代码段:

"post_binary_hook": {"function": "LPCTargetCode.lpc_patch"},

在实现 postbuild 脚本时,请注意以下注意事项:

  • 你可以用一个。在项目名称中。
  • 您可以将输出文件类型更改为二进制,Intel Hex 和 .elf 中的任何一个。
  • 当有多个可加载部分时,Arm 编译器为每个可加载部分生成一个包含 .bin 文件的目录。
阅读终点,创作起航,您可以撰写心得或摘录文章要点写篇博文。去创作
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: mbed是一种基于C++的开源嵌入式操作系统,它可以帮助开发者更快速、更轻松地开发嵌入式应用程序。mbed支持多种硬件平台,其中包括STMicroelectronics的STM32系列芯片。 以下是一些基于mbed和STM32的开源项目: 1. mbed-os-example-blinky:这是一个基础的mbed和STM32示例项目,它演示了如何使用mbed操作系统和STM32芯片来控制LED灯。 2. CANopenNode:这是一个基于mbed和STM32的CANopen协议实现,它提供了一个开放的、可扩展的CANopen节点,可以用于构建各种工业自动化和机器人应用。 3. Robot Control:这是一个基于mbed和STM32的机器人控制系统,它提供了一个完整的解决方案,包括传感器、驱动器和通信模块等。 4. STM32F4 Discovery Audio:这是一个基于mbed和STM32F4 Discovery板的音频处理示例项目,它演示了如何使用STM32的DMA功能来处理音频数据。 5. Quadcopter:这是一个基于mbed和STM32的四轴飞行器项目,它提供了一个完整的飞行控制系统,包括传感器、无线通信和遥控器等。 以上这些开源项目都可以在GitHub上找到源代码和详细说明,可以作为学习mbed和STM32的好材料。 ### 回答2: mbed stm32开源项目是一个基于ARM Cortex-M系列处理器的开源软件平台,旨在为嵌入式系统开发提供一种简便、高效且可靠的解决方案。mbed stm32提供了丰富的软件库、开发工具和在线服务,可以帮助开发者快速构建、测试和部署嵌入式应用程序。 mbed stm32开源项目的主要特点包括以下几个方面: 1. 简单易用:mbed stm32提供了用于处理器驱动、通信接口、传感器和外设等的丰富软件库,开发者只需简单调用这些库函数,就能够快速实现嵌入式应用功能。 2. 高效可靠:mbed stm32采用了基于事件驱动的异步编程模型,每个任务都有自己的优先级,能够有效管理系统资源,提供高性能和可靠性。 3. 开放性:mbed stm32是一个开源项目,任何人都可以访问和贡献代码。这意味着开发者可以自由地定制和扩展mbed stm32,以满足特定的应用需求。 4. 开发工具全面:mbed stm32支持多种常用的开发工具,例如Keil、IAR等,还提供了许多实用的在线服务,包括在线编译、在线调试等,方便开发者进行开发和测试。 总之,mbed stm32开源项目为嵌入式系统的开发提供了一个简单、高效且可靠的解决方案。通过引入丰富的软件库和开发工具,它能够帮助开发者快速开发出高性能和可靠的嵌入式应用程序。同时,在开源的基础上,它还鼓励开发者互相协作和共享,进一步推动了嵌入式系统领域的创新和发展。 ### 回答3: mbed STM32开源项目是一个基于ARM Cortex-M系列处理器的开源项目,旨在为开发者提供简单、高效的嵌入式系统开发解决方案。 mbed STM32开源项目提供了丰富的软件库和工具,包括操作系统、驱动程序、通信协议、图形库等,以帮助开发者快速搭建嵌入式系统。通过使用mbed SDK,开发者可以轻松地进行应用程序的开发、调试和测试。 mbed STM32开源项目的主要特点包括以下几个方面: 首先,mbed STM32开源项目提供了一个友好的开发平台,开发者只需要简单地连接开发板到电脑上,就可以进行软件开发。这减少了开发环境的搭建和配置所需的时间和精力。 其次,mbed STM32开源项目的软件库非常丰富,涵盖了各种功能模块,包括GPIO、串口通信、Wi-Fi、蓝牙、传感器等等。开发者只需要调用相应的函数接口,就能轻松实现所需的功能,大大提高了开发效率。 再次,mbed STM32开源项目支持云端开发,开发者可以通过云端IDE进行代码编写和调试,减少了本地环境的依赖和配置。同时,云端开发也带来了团队协作的便利,多个开发者可以同时对同一项目进行开发和调试。 最后,mbed STM32开源项目具有强大的社区支持。在社区中,开发者可以交流经验、分享代码和解决问题。社区成员还会定期发布新的软件库和工具,以满足不同开发需求。 总之,mbed STM32开源项目通过提供强大的软件库和工具,简化了嵌入式系统开发的流程,提高了开发效率。同时,丰富的社区支持也为开发者提供了更多的资源和帮助,使其能够更好地应对嵌入式系统开发的挑战。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值