littlebot
Published on 2025-04-12 / 3 Visits
0

【源码】基于Mbed和TOPPERS ASP3的实时操作系统移植项目

项目简介

本项目致力于将Mbed应用程序移植到ITRON规范的实时内核TOPPERS ASP3上运行,也能把TOPPERS ASP3快速移植到支持Mbed的目标平台。开发者可借助此项目,在Mbed支持的硬件平台上运行TOPPERS ASP3实时操作系统,并利用Mbed的API进行开发。

项目的主要特性和功能

  • Mbed与TOPPERS ASP3的集成:提供将Mbed应用程序与TOPPERS ASP3实时内核集成的方案,支持在Mbed支持的硬件平台上运行TOPPERS ASP3。
  • 多平台支持:已在LPC1768、NUCLEO_F401RE、NUCLEO_F429ZI和NUCLEO_L552ZE_Q等多个硬件平台上完成测试。
  • 灵活的配置选项:支持自定义中断优先级设置,可使用ASP3的中断出入口处理,开发者能按需配置。
  • 代码优化与修改:对TOPPERS ASP3的源代码进行多处修改,适配Mbed的硬件抽象层(HAL)和中断处理机制。

安装使用步骤

环境准备

确保已安装Mbed CLI 2(mbed-tools),安装方法参考Mbed官方文档。

项目构建

  1. 复制项目仓库并进入项目目录: shell $ cd mbed-asp3/asp3/
  2. 创建构建目录并配置项目: shell $ mkdir obj $ cd obj $ ruby ../configure.rb -T mbed_m4f_gcc -w -S "syslog.o banner.o serial.o logtask.o"
  3. 编译项目: shell $ make
  4. 返回项目根目录并编译Mbed应用程序: shell $ cd ../../ $ mbed-tools compile -m NUCLEO_F401RE -t GCC_ARM
  5. 若需将程序烧录到目标设备,使用以下命令: shell $ mbed-tools compile -m NUCLEO_F401RE -t GCC_ARM --flash

示例程序

项目中的sample1.cpp示例程序展示了如何使用Mbed的API控制LED灯闪烁,开发者可按需修改和扩展该示例程序。

注意事项

  • 中断处理:默认所有中断优先级设为0x80,如需严格设置中断优先级,参考项目文档相关说明。
  • 平台兼容性:目前已在部分Cortex - M系列平台测试,ARMv6 - M(Cortex - M0)平台测试未完成。
  • Mbed RTOS兼容性:本项目与Mbed的RTOS不兼容,依赖Mbed RTOS的应用程序无法直接运行。

许可证

本项目使用遵循TOPPERS许可证,项目中导入的Mbed库可能遵循不同许可证,使用前请仔细阅读相关许可条款。

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】