ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

RT-Thread 在珠海泰为 TAE32F5300_EVAL_BOARD 开发板上的 BSP 移植与快速上手指南

RT-Thread 在珠海泰为 TAE32F5300_EVAL_BOARD 开发板上的 BSP 移植与快速上手指南 操作系统嵌入式物联网嵌入式OSRTOS【免费下载链接】rt-threadRT-Thread is an open source IoT Real-Time Operating System (RTOS). https://rt-thread.github.io/rt-thread/项目地址https://gitcode.com/gh_mirrors/rt/rt-thread点击查看免费下载本指南围绕 RT-Thread 仓库中bsp/tae32f5300板级支持包展开完整介绍珠海泰为 TAE32F5300_EVAL_BOARD 开发板的资源特性、外设支持现状以及如何在 MDK5 环境下快速将 RT-Thread 4.0.x 跑起来、并通过 ENV 工具进一步开启 GPIO、UART、软件 I2C、SPI、RTC、PWM 等片上外设。读完本文你将能够独立完成该 BSP 的编译下载、运行验证与基于menuconfig的外设裁剪扩展。开发板与 BSP 简介TAE32F5300_EVAL_BOARD 是珠海泰为官方推出的评估开发板搭载 TAE32F5300 芯片。该芯片基于 ARM Cortex-M3 内核最高主频 90 MHz内置硬件加速器ERPU并集成 75KB 程序 FLASH、16KB 容量数据 FLASH以及 16KB 系统 SRAM 8KB 算法 SRAM算法 SRAM 由两块 4KB4KB 组成。bsp/tae32f5300即该开发板对应的 RT-Thread BSP板级支持包其主要内容为开发板资源介绍、BSP 快速上手、进阶使用方法三部分。通过快速上手章节开发者可以快速将 RT-Thread 运行在开发板上通过进阶使用指南可以借助 ENV 工具驱动更多板载资源。常用板载资源MCUTAE32F5300主频 90 MHz75KB FLASH内置 16KB 数据 FLASH内置 16KB 系统 SRAM 8KB 算法 SRAM两块 4KB4KB板载资源蜂鸣器、USB、LED、按键、音频输入口、可调电阻、温湿度传感器接口、EEPROM、蓝牙模块接口、RS485、CAN、uart lcd调试接口标准 JTAG/SWD开发板更多详细信息可参考珠海泰为官方http://www.tai-action.com/的 TAE32F5300_EVAL_BOARD 产品页。外设支持情况本 BSP 当前对外设的支持情况如下板载外设支持情况备注LED支持LED片上外设支持情况备注:---:---::---GPIO支持PA0, PA1... PI15 --- PIN: 0, 1...144UART支持UART0~1I2C支持软件 I2CLED支持LED1~3需要注意的是表中“支持”指的是该 BSP 已提供相应的驱动代码与配置入口详见下文源码结构分析而默认工程仅开启 GPIO 与串口 0其余外设需通过 ENV 工具的menuconfig按需开启。使用说明使用说明分为“快速上手”与“进阶使用”两个章节快速上手面向刚接触 RT-Thread 的新手按简单步骤即可把 RT-Thread 操作系统运行在开发板上并看到实验效果进阶使用面向需要在 RT-Thread 上使用更多开发板资源的开发者通过 ENV 工具对 BSP 进行配置开启更多板载资源实现更高级的功能。快速上手本 BSP 为开发者提供 MDK5 工程暂不支持 GCC 开发环境下面以 MDK5 开发环境为例介绍如何将系统运行起来。硬件连接CMSIS-DAP 接线TAE32 开发板CMSIS-DAPSWDIOSWDIOSWCLKSWCLKVCC3.3vGNDGND串口转 USB 接线TAE32 开发板串口转 USBRXD(PA10)TXDTXD(PA11)RXDGNDGND编译下载双击project.uvprojx文件打开 MDK5 工程编译并下载程序到开发板。工程默认配置使用 CMSIS-DAP 下载程序点击下载按钮即可下载程序到开发板。工程根目录下同时提供template.uvprojx/template.uvoptx模板工程以及AfterBuildHandler.bat构建后处理脚本可在重新生成工程时作为底稿参考。运行结果下载程序成功之后系统会自动运行观察开发板上 LED 的运行效果PB6 每 500ms 闪烁一次串口终端输出 RT-Thread 启动 banner\ | / - RT - Thread Operating System / | \ 4.0.4 build Aug 29 2021 2006 - 2021 Copyright by rt-thread team msh msh 提示符出现后即可在命令行交互模式下使用 RT-Thread 的 FinSH 控制台命令。运行逻辑的源码印证LED 闪烁逻辑位于 bsp/tae32f5300/application/main.c#define LED_PIN 42 int main(void) { int count 1; rt_pin_mode(LED_PIN, PIN_MODE_OUTPUT); while (count) { rt_pin_write(LED_PIN, PIN_HIGH); rt_thread_mdelay(500); rt_pin_write(LED_PIN, PIN_LOW); rt_thread_mdelay(500); rt_kprintf(count %d\r\n, count); } }其中LED_PIN 42对应的是PB6引脚。从 bsp/tae32f5300/drivers/drv_gpio.c 的引脚映射表可以看到该 BSP 采用“线性 PIN 编号”方案将 PA0~PI15 映射为 PIN 0~144其中TAE32_PIN(42, B, 6)即 PB6static const struct pin_index _pin_map[] { ... TAE32_PIN(42, B, 6), ... };程序先通过rt_pin_mode()将 PB6 配置为输出模式随后在主循环中以 500ms 间隔翻转电平从而实现文档所述的“PB6 每 500ms 闪烁一次”。进阶使用此 BSP 默认只开启了 GPIO 和串口 0 的功能更多高级功能需要利用 ENV 工具对 BSP 进行配置步骤如下在 bsp 目录下打开 ENV 工具输入menuconfig命令配置工程配置好之后保存退出输入pkgs --update命令更新软件包输入scons --targetmdk5命令重新生成工程。重新生成后MDK5 工程文件project.uvprojx会自动更新为包含新开启外设的配置。外设配置项全景基于 drivers/Kconfig本 BSP 的外设开关集中定义在 bsp/tae32f5300/drivers/Kconfig 中其顶层为MCU_TAE32F53xx自动关联ARCH_ARM_CORTEX_M3、RT_USING_COMPONENTS_INIT、RT_USING_USER_MAIN三个基础选项。可配置的片上外设与默认值如下配置项说明默认值BSP_USING_GPIO使能 GPIO自动选中RT_USING_PIN开BSP_USING_UART使能 UART自动选中RT_USING_SERIAL开BSP_USING_UART0使能 UART0默认串口控制台设备开BSP_UART0_RX_USING_DMAUART0 接收 DMA需开启RT_SERIAL_USING_DMA关BSP_UART0_TX_USING_DMAUART0 发送 DMA同上关BSP_USING_UART1使能 UART1关BSP_UART1_RX_USING_DMA/BSP_UART1_TX_USING_DMAUART1 收发 DMA关BSP_USING_SOFT_I2C使能软件 I2C自动选中RT_USING_I2C与RT_USING_SOFT_I2C关BSP_USING_SOFT_I2C1使能软件 I2C1 总线swi2c1关RT_SOFT_I2C1_SCL_PINswi2c1 SCL 引脚号51RT_SOFT_I2C1_SDA_PINswi2c1 SDA 引脚号90BSP_USING_SPI使能 SPI 总线自动选中RT_USING_SPI关BSP_USING_SPI1~BSP_USING_SPI6分别使能 SPI1~SPI6 总线及各自的 TX/RX DMA关BSP_USING_RTC使能 RTC自动选中RT_USING_RTC关CLK_SRC_SELRTC 时钟源选择BSP_RTC_USING_XTAL32外部 32.768kHz或BSP_RTC_USING_LRCLRCBSP_USING_PWM使能 PWM自动选中RT_USING_PWM关BSP_USING_PWM1/BSP_USING_PWM2使能 timer1/timer2 输出 PWM每个定时器可单独勾选 CH1~CH4 四个通道关BSP_USING_TIMER使能 TIMER自动选中RT_USING_CLOCK_TIME关BSP_USING_TIMER5~BSP_USING_TIMER8分别使能 TIMER5~TIMER8关BSP_USING_PULSE_ENCODER使能脉冲编码器自动选中RT_USING_PULSE_ENCODER关BSP_USING_PULSE_ENCODER9~BSP_USING_PULSE_ENCODER12分别使能编码器 9~12关从 Kconfig 的依赖关系可以看出各外设与 RT-Thread 组件层是联动选择的例如勾选 GPIO 会自动引入RT_USING_PIN勾选 UART 会自动引入RT_USING_SERIAL勾选软件 I2C 会自动引入RT_USING_I2C与RT_USING_SOFT_I2C。这样通过menuconfig界面即可一站式完成“BSP 驱动 内核组件”的协同配置无需手工改动rtconfig.h。系统默认配置要点基于 rtconfig.h当前 bsp/tae32f5300/rtconfig.h 中几个与运行直接相关的关键配置为RT_TICK_PER_SECOND 100系统时钟节拍 100Hz即 1 个 tick 为 10msRT_CONSOLE_DEVICE_NAME uart0控制台设备为 uart0串口输出即走 UART0RT_CONSOLEBUF_SIZE 128控制台缓冲区大小RT_VER_NUM 0x50300对应 RT-Thread 5.0.3 版本启动 banner 中显示 4.0.4 为工程生成时的版本标识已开启信号量、互斥量、事件、邮箱、消息队列等 IPC 组件以及小内存管理RT_USING_SMALL_MEM与堆RT_USING_HEAP。BSP 工程结构速览从源码结构看bsp/tae32f5300的目录组织如下便于开发者定位驱动与构建入口application/用户应用main.c中包含 LED 闪烁示例与main.hboard/板级初始化包括board.c系统时钟、SysTick、控制台输入输出、board.h、tae32f53xx_ll_msp.c外设 MSP 初始化以及linker_scripts/link.icf、link.lds、tae32f53xx_ac5_flash.sct分别对应 IAR、GCC、MDK/AC5 三种链接脚本drivers/外设驱动drv_gpio.c/h引脚映射与 PIN 驱动、drv_uart.c/h串口驱动、drivers/Kconfig外设配置菜单、drivers/SConscript构建脚本libraries/泰为官方 LL 库tae32f53xx_ll_*系列工程文件project.uvprojx/project.uvoptxMDK5 工程、template.uvprojx/template.uvoptx模板、rtconfig.h/rtconfig.py配置、Kconfig/SConscript/SConstruct构建系统。时钟与串口初始化的实现细节在 bsp/tae32f5300/board/board.c 中rt_hw_board_init()依次完成系统时钟配置SystemClock_Config()系统时钟源选 PLL0 分频时钟目标 90 MHzAPB0/APB1 均为 1 分频eFlash 时钟取 PLL0DivClk 的 9 分频、SysTick 配置_SysTick_Config(SystemCoreClock / RT_TICK_PER_SECOND)即每 tick 10ms、组件级板级初始化rt_components_board_init()、堆初始化以及控制台设备绑定rt_console_set_device(uart0)。控制台输出与输入则通过rt_hw_console_output()/rt_hw_console_getchar()直接操作 UART0 的硬件寄存器实现输出时逐字符等待 TX FIFO 非满后写入遇到\n会先补发\r输入时轮询 RX FIFO 是否有数据。串口的默认参数在 bsp/tae32f5300/drivers/drv_uart.c 的uart_init()中体现波特率 115200、8 数据位、1 停止位、无校验与文档硬件连接章节中的串口转 USB 接线PA10/PA11配套使用。注意事项本 BSP 暂不支持 GCC 开发环境编译下载请使用 MDK5工程默认以 CMSIS-DAP 作为下载器如需改用其他调试器请在 MDK5 的 Flash Download 选项中调整串口控制台默认使用 UART0PA10RX、PA11TX接线时注意交叉连接开发板 RX 接串口转 USB 的 TXD默认工程仅开启 GPIO 与 UART0使用 I2C、SPI、RTC、PWM、TIMER、脉冲编码器等功能前请先通过 ENV 工具执行menuconfig按需开启对应配置项再重新生成工程RTC 时钟源默认选择 LRC如需使用外部 32.768kHz 晶振请在menuconfig的时钟源选择中切换为 XTAL32。联系人信息维护人qinweizhong邮箱369247354qq.com。在使用本 BSP 过程中遇到问题可联系维护人反馈或参考仓库内其他 Cortex-M3 架构 BSP如bsp/stm32、bsp/gd32的驱动实现进行对照排查。赞分享操作系统嵌入式物联网嵌入式OSRTOS【免费下载链接】rt-threadRT-Thread is an open source IoT Real-Time Operating System (RTOS). https://rt-thread.github.io/rt-thread/项目地址https://gitcode.com/gh_mirrors/rt/rt-thread点击查看免费下载相关推荐RT-Thread 在 GD32VF103R-START 开发板上的 BSP 移植与快速上手指南RT Thread 在 GD32VF103R START 开发板上的 BSP 移植与快速上手指南 导读 本文以 RT Thread 官方仓库中 bsp/gd32操作系统嵌入式物联网嵌入式OSRTOSRT-Thread 在 HPMicro RISC-V 开发板上的 BSP 移植与快速上手指南RT Thread 在 HPMicro RISC V 开发板上的 BSP 移植与快速上手指南 导读 本文基于 RT Thread 仓库中的 bsp/hpmicr操作系统嵌入式物联网嵌入式OSRTOSRT-Thread 在 AT32F403A AT-START 开发板上的 BSP 移植与快速上手指南RT Thread 在 AT32F403A AT START 开发板上的 BSP 移植与快速上手指南 AT32F403A AT START 是雅特力Arter操作系统嵌入式物联网嵌入式OSRTOS创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表