ARTICLE DETAIL

资讯详情

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

在 Zephyr RTOS 中驱动 Embedsky TQ-H503A:STM32H503CB 极低成本开发板的引脚映射、烧录与调试实战

在 Zephyr RTOS 中驱动 Embedsky TQ-H503A:STM32H503CB 极低成本开发板的引脚映射、烧录与调试实战 在 Zephyr RTOS 中驱动 Embedsky TQ-H503ASTM32H503CB 极低成本开发板的引脚映射、烧录与调试实战【免费下载链接】zephyrPrimary Git Repository for the Zephyr Project. Zephyr is a new generation, scalable, optimized, secure RTOS for multiple hardware architectures.项目地址: https://gitcode.com/GitHub_Trending/ze/zephyr导读本文以 Zephyr 官方仓库中 boards/embedsky/tq_h503a/doc/index.rst 为核心文档系统介绍 Embedsky TQ-H503A 开发板在 Zephyr RTOS 中的板级支持、外设引脚映射、时钟配置、OpenOCD 适配以及烧录与调试的完整流程。TQ-H503A 是一块基于 STM32H503CBT6Arm Cortex-M33最高 250 MHz的极低成本精简开发板本文面向希望以最低门槛上手 STM32H5 系列并跑通 Zephyr 开发闭环的嵌入式开发者。读完本文你将掌握 TQ-H503A 的硬件资源清单、Zephyr 板级设备树DTS与 Kconfig 的配置方式、通过 west 构建/烧录/调试应用的完整命令以及上游 OpenOCD 尚未支持 STM32H5 时的定制化烧录方案。TQ-H503A 板卡概览TQ-H503A 由 Embedsky天嵌推出是 STM32H5 系列中定位入门与成本敏感场景的开发板。核心器件为 STM32H503CBT6 微控制器属于 STM32H503x 系列的 48 引脚LQFP48封装变体见 STM32H503CB 官网 与 STM32H503x 参考手册RM0492。板卡主要亮点如下主控STM32H503CB128 KB Flash 32 KB SRAMLQFP48 封装用户 LED板载一颗用户可编程 LED双晶振32.768 kHz LSE 低速晶振 8 MHz HSE 主晶振。从仓库中的 board.yml 可以确认板级元数据板名tq_h503a、厂商embedsky、SoC 为stm32h503xxtq_h503a.yaml 进一步声明该板支持backup_sram、gpio、uart、i2c、watchdog、usb_device等外设RAM 32 KB、Flash 128 KB。核心芯片 STM32H503CB 硬件资源详解STM32H503CB 属于基于高性能 Arm Cortex-M33 32 位 RISC 内核的 STM32H5 系列最高工作频率 250 MHz。其完整资源清单如下内核Cortex-M33 CPU集成 FPU浮点单元、MPU内存保护单元、DSP 指令375 DMIPSDhrystone 2.1并带 ART 加速器存储器128 KB 内嵌 Flash带 ECC双 bank 支持读-写同时进行read-while-write2 KB OTP一次性可编程区32 KB SRAM带 ECC2 KB 备份 SRAM在最低功耗模式下可用时钟管理内部振荡器64 MHz HSI、48 MHz HSI48、4 MHz CSI、32 kHz LSI两路 PLL用于系统时钟、USB、音频与 ADC外部振荡器4~50 MHz HSE、32.768 kHz LSE电源内嵌 LDO 稳压器35 个快速 I/O多数 5 V 容忍模拟外设1 路 12 位 ADC最高 2.5 MSPS、1 路 12 位双通道 DAC、1 路超低功耗比较器、1 路运算放大器7 MHz 带宽、1 路数字温度传感器定时器共 11 个——4 个 16 位、1 个 32 位、2 个可在 Stop 模式下工作的 16 位低功耗定时器、2 个看门狗、1 个 SysTick以及带硬件日历/闹钟/校准的 RTC通信接口共 16 个——2 路 I2C FM支持 SMBus/PMBus、2 路与 I2C 复用的 I3C、3 路 USART支持 ISO7816、LIN、IrDA、调制解调器控制、1 路 LPUART、3 路 SPI其中 3 路与全双工 I2S 复用、3 路 USART 同步模式可额外提供 3 路 SPI、1 路 FDCAN、1 路 USB 2.0 全速主机/设备DMA两路 DMA 控制器用于卸载 CPU安全特性HASHSHA-1、SHA-2与 HMAC、真随机数发生器TRNG、96 位唯一 ID、主动防篡改Active tamper调试支持串行线调试SWD与 JTAG 接口。支持的 Zephyr 特性TQ-H503A 在 Zephyr 中已注册的板级支持特性如下zephyr:board-supported-hw指令自动渲染生成特性说明backup_sram备份 SRAM低功耗模式可用gpioGPIO 驱动uart串口驱动i2cI2C 驱动watchdog看门狗usb_deviceUSB 设备对应地tq_h503a_defconfig 中默认开启了串口CONFIG_SERIALy、CONFIG_CONSOLEy、CONFIG_UART_CONSOLEy、GPIOCONFIG_GPIOy、ARM MPUCONFIG_ARM_MPUy与硬件栈保护CONFIG_HW_STACK_PROTECTIONy保证开箱即可获得控制台输出与基础安全特性。而 Kconfig.tq_h503a 通过select SOC_STM32H503XX将板卡与 STM32H5x SoC 系列绑定见 soc/st/stm32/stm32h5x/Kconfig.soc 中SOC_STM32H503XX的定义。引脚映射板卡引脚总览doc/img/tq_h503a.webp 给出了 TQ-H503A 的完整引脚排布图图中标注了引脚编号、电源轨3.3V / 5V / GND、NRST、VBAT以及各引脚复用功能USART1/2/3、I2C1/2、SPI1/2/3、TIM1/2/3、ADC1_INP0~19、FDCAN1、USB_DP/DM、I2S2 等是硬件接线时的第一参考依据。默认 Zephyr 外设映射Zephyr 为 TQ-H503A 预配置了以下默认外设映射来自 tq_h503a.dts 的 pinctrl 定义外设引脚说明UART_1 TX/RXPB14 / PB15控制台串口115200 baudUSER_LEDPC13高电平点亮I2C1 SCL/SDAPB6 / PB5400 kHzFM 快速模式SPI1 SCK/MISO/MOSIPA5 / PB4 / PA4布线至外部 Flash 封装位footprintSPI1 CSPA15片选低有效USART3 TX/RXPB10 / PA12第二串口USB DM/DPPA11 / PA12USB 2.0 全速设备设备树中chosen节点将zephyr,console与zephyr,shell-uart均指向usart1SRAM 指向sram0、Flash 指向flash0aliases中定义了led0即 PC13 上的用户 LED与watchdog0独立看门狗 IWDG。时钟源配置TQ-H503A 板载两个外部振荡器32.768 kHz LSE 慢速时钟与 8 MHz HSE 主时钟。默认情况下系统时钟由 PLL 提供以 HSE 为参考输入倍频至 250 MHz具体参数见设备树中pll节点div-m 1、mul-n 125、div-p 4、div-q 2、div-r 2即 8 MHz ÷ 1 × 125 ÷ 4 250 MHz 系统时钟。RCC 节点同时配置clock-frequency DT_FREQ_M(250)与四个总线分频器AHB/APB1/APB2/APB3 预分频均为 1。设备树中还启用了 CSI、HSI、HSI48 三个内部振荡器为 USBHSI48等外设提供时钟来源并启用了 RNG真随机数发生器与 IWDG独立看门狗外设。编程与烧录TQ-H503A 应用可以按 Zephyr 常规方式构建与烧录通用流程参考 Zephyr 的构建应用build an application与应用运行application run指南。OpenOCD 支持现状与定制化适配当前上游 OpenOCD 尚不支持 STM32H5 器件可关注 OpenOCD 官方 GitHub 镜像 的更新。若要在本板上使用 OpenOCD需要克隆 STMicroelectronics 定制版 OpenOCD 仓库STMicroelectronics OpenOCD GitHub并按 README 构建。编译完成后在 boards/embedsky/tq_h503a/board.cmake 中设置OPENOCD_ROOT等变量指向 OpenOCD 二进制与脚本目录该文件包含在公共openocd.board.cmake之前set(OPENOCD_ROOT path_to_openocd_stm32_repo) set(OPENOCD ${OPENOCD_ROOT}/src/openocd CACHE FILEPATH FORCE) set(OPENOCD_DEFAULT_PATH ${OPENOCD_ROOT}/tcl)board.cmake中还为 openocd runner 配置了--tcl-port6666、--cmd-pre-init gdb_report_data_abort enable、--no-halt等参数并同时引入 blackmagicprobe runner 作为备用烧录途径--connect-rst。此外仓库提供了 support/openocd.cfg内含 ST-Link 接口与target/stm32h5x.cfg目标配置并使用dapdirect_swd传输、connect_assert_srst复位策略低功耗 WFI 应用需要且定义了 OpenOCD 初始化后自动reset halt的流程以配合 GDB 调试。烧录流程本板通过 west 的 openocd runner 经 ST-LINK 烧录$ west flash将应用烧录到 TQ-H503A 的具体步骤将 SWD 调试器ST-LINK连接到板上的 3V33.3 V、GND、SCK、DIO 四个引脚通过 USB 将调试器连接到主机启动串口主机程序连接调试器的 VCP虚拟串口例如$ minicom -D /dev/ttyACM0构建并烧录应用例如hello_world示例$ west build -b tq_h503a samples/hello_world $ west flash烧录成功后串口控制台应输出Hello World! tq_h503a/stm32h503xx其中tq_h503a/stm32h503xx表明内核正确识别了板卡与 SoC 型号。调试调试同样遵循 Zephyr 常规流程。以blinky示例为例使用 GDB 通过 west 启动调试会话$ west build -b tq_h503a samples/basic/blinky $ west debug结合上文board.cmake中的 OpenOCD 定制配置west debug会自动拉起带 STM32H5 支持的 OpenOCD并以reset halt状态进入 GDB便于设置断点后运行。从源码验证板级实现的要点SoC 绑定Kconfig.tq_h503a 中config BOARD_TQ_H503A通过select SOC_STM32H503XX建立板卡与 SoC 的依赖关系对应 soc/st/stm32/stm32h5x/Kconfig.soc设备树tq_h503a.dts 包含 HSE/PLL/RCC 时钟树、USART1/USART3/SPI1/I2C1/USB 的 pinctrl、LED 节点与别名定义是理解默认映射的第一手材料构建配置tq_h503a_defconfig 是板级最小可用配置的范例可作为自定义裁剪的起点烧录配置board.cmake 与 support/openocd.cfg 完整呈现了 STM32H5 在官方 OpenOCD 缺位时的落地适配方案对移植其他 STM32H5 板卡具有直接参考价值。参考资料STM32H503CB 产品主页STM32H503x 参考手册 RM0492OpenOCD 官方 GitHub 镜像STMicroelectronics 定制 OpenOCD【免费下载链接】zephyrPrimary Git Repository for the Zephyr Project. Zephyr is a new generation, scalable, optimized, secure RTOS for multiple hardware architectures.项目地址: https://gitcode.com/GitHub_Trending/ze/zephyr创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表