Mbed OS 文档翻译 之 参考(贡献(移植目标(概述)))

目标

向 Arm Mbed OS 5 添加新的微控制器取决于 CMSIS-CORE 和 CMSIS-Pack。请确保微控制器已有这些功能。

添加新的微控制器和电路板

首先将 GitHub 上的 mbed-os 存储库分成您自己的用户帐户。我们将使用占位符 USERNAME 在以下文档中引用您的用户名,MCU_NAME 将引用您要添加的新微控制器,BOARD_NAME 将引用您要添加的新主板。导入 Mbed OS 示例,并使用以下命令添加 mbed-os 的 fork:

mbed import mbed-os-example-blinky
cd mbed-os-example-blinky\mbed-os
git checkout master
git pull
git checkout -b my-new-target
git remote add USERNAME https://github.com/USERNAME/mbed-os
git branch my-new-target -u USERNAME
cd ..

目标说明

使用添加和配置目标部分描述的键将目标描述添加到 mbed-os\targets\targets.json。我们建议您在提交拉取请求之前在目标层次结构上运行目标 lint 脚本

"MCU_NAME": {
    "inherits": ["Target"],
    "core": "Cortex-M3",
    "supported_toolchains": ["ARM", "GCC_ARM", "IAR"],
    "device_has": ["SERIAL", "STDIO_MESSAGES"]
},
"BOARD_NAME": {
    "inherits": ["MCU_NAME"],
    "macros_add": []
}

HAL 移植

还有许多 API 要实现。您可以通过向 targets.json 中的 MCU_NAME 目标定义添加 device_has 属性并提供 API 标头中声明的 API 的实现来启用以下 API。

device_has API header
ANALOGIN analog_in.h
ANALOGOUT analog_out.h
CAN can_api.h
EMAC emac_api.h
INTERRUPTIN gpio_irq_api.h
I2C I2CSLAVE i2c_api.h
LPTICKER lp_ticker_api.h
LPTICKER lp_ticker_api.h
PORT_IN PORT_OUT port_api.h
PWMOUT pwmout_api.h
RTC rtc_api.h
SLEEP sleep_api.h
SPI SPISLAVE spi_api.h
TRNG trng_api.h
FLASH flash_api.h

猜你喜欢

转载自blog.csdn.net/u012325601/article/details/82193897
今日推荐