尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

Zephyr FK750M1-VBT6 板级移植解析:STM32H750(Cortex-M7 @ 480MHz)硬件、时钟树与编译烧录实战

Zephyr FK750M1-VBT6 板级移植解析:STM32H750(Cortex-M7 @ 480MHz)硬件、时钟树与编译烧录实战 Zephyr FK750M1-VBT6 板级移植解析STM32H750Cortex-M7 480MHz硬件、时钟树与编译烧录实战【免费下载链接】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 仓库中的 FANKE FK750M1-VBT6 核心板文档展开系统梳理这块基于 STM32H750VBT6Arm Cortex-M7 FPU、480MHz的 MCU 平台的硬件构成、默认外设引脚映射与 25MHz 晶振经 PLL 推导至 480MHz 的系统时钟设计并结合仓库内设备树、defconfig、board.cmake 与 OpenOCD 配置给出从west build到 ST-Link 烧录、串口验证Hello World! fk750m1_vbt6输出的完整流程。读完后你可以独立完成该板的应用编译、烧写与串口调试并理解其外设映射与运行配置在源码中的落地方式。1. 板卡概述FK750M1-VBT6 是 FANKE Technology 推出的核心板开发平台主控芯片为 STMicroelectronics 的 STM32H750VBT6 微控制器LQFP100 封装内置 Arm 32 位 Cortex-M7 内核与单精度浮点单元FPUCPU 主频最高可达 480MHz。该板定位为量产产品开发前的参考设计reference design凭借丰富的外围硬件尤其是显示与图像相关接口便于开发者对外设与整机功能进行完整评估和测试再平滑过渡到最终产品。板级元信息定义在 board.yml 中板名为FK750M1-VBT6厂商为fanke关联的 SoC 为stm32h750xxKconfig.fk750m1_vbt6 中BOARD_FK750M1_VBT6选项通过select SOC_STM32H750XX将该板与对应的 STM32H750 SoC 配置绑定编译时-b fk750m1_vbt6即会启用这一 SoC 体系。2. 硬件构成FK750M1-VBT6 提供的硬件组件如下与板卡文档一致类别规格主控STM32H750VBLQFP100 封装CPUARM 32 位 Cortex-M7带 FPU主频最高 480 MHzFlash128 KB 片上 FlashSRAM1 MB192 KB TCM RAM64 KB ITCM 128 KB DTCM 864 KB 用户 SRAM 备份域 4 KB SRAM主时钟外部 25MHz 晶振RTC32.768kHz 晶振定时器高分辨率定时器最高 2.1 ns 分辨率、32 位定时器 ×2、16 位定时器 ×17按键1 个复位键、1 个 BOOT 键LED1 个用户 LED外部存储64-Mbit QSPI NOR FlashW25Q64、1 个 microSD 卡槽接口USB OTG FS/HS、1 路 DCMI 相机接口、1 路 SPI LCD 接口调试SWD 与串口经排针引出IO 引出73 个 IO 引脚与片上资源配套的是 fk750m1_vbt6.yaml 中声明的板级标识信息type: mcu、arch: arm、RAM 1024 KB、Flash 128 KB、支持工具链为zephyr与gnuarmemb与上述内存/Flash 规格一一对应。3. Zephyr 支持的特性该板在 Zephyr 中当前声明支持的外设驱动为UART与GPIO见 fk750m1_vbt6.yaml 的supported字段。默认内核配置 fk750m1_vbt6_defconfig 在此基础上启用了CONFIG_ARM_MPU使能 MPU 内存保护CONFIG_HW_STACK_PROTECTION使能硬件栈保护CONFIG_SERIAL/CONFIG_CONSOLE/CONFIG_UART_CONSOLE串口控制台CONFIG_GPIOGPIO 驱动。这组默认项体现了该板安全特性优先的移植取向MPU 硬件栈保护默认打开同时保证开箱即用的串口控制台能力。4. 默认引脚映射FK750M1-VBT6 板上有 5 个 GPIO 控制器负责引脚复用pin muxing、输入输出方向及上拉/下拉等配置。Zephyr 的设备树 fk750m1_vbt6.dts 在stm32h750vbtx-pinctrl.dtsi引脚复用基座之上定义了如下默认外设映射UART1 TX/RXPA9/PA10经排针引出作 Zephyr 控制台用户 LED蓝色PC13SPI4 NCS/CLK/MOSIPE11/PE12/PE14接 SPI LCD 屏QuadSPI NCS/CLK/IO0/IO1/IO2/IO3PB6/PB2/PD11/PD12/PE2/PD13接 W25Q64 NOR FlashUSB DM/DPPA11/PA12。设备树中与之对应的关键节点usart1节点fk750m1_vbt6.dts配置了usart1_tx_pa9/usart1_rx_pa10引脚复用current-speed 115200并置status okay用户 LED 在顶层leds节点中定义为gpios gpioc 13 GPIO_ACTIVE_LOWfk750m1_vbt6.dts低电平点亮并通过aliases暴露为led0可直接用device/led接口访问spi4节点fk750m1_vbt6.dts复用 SCKPE12、MOSIPE14片选 CS 软配置为PE11GPIO_ACTIVE_LOWgpiod中还定义了lcd_led的gpio-hogPD15 输出高电平用于点亮屏幕背光。5. 时钟树25MHz 晶振经 PLL 推至 480MHz板级文档说明FK750M1-VBT6 的系统时钟可由内部振荡器、外部振荡器或主 PLL 驱动默认由 PLL 以 480MHz 驱动PLL 输入来自 25MHz 外部晶振。设备树 中这一时钟链路可以精确读出clk_hseclock-frequency DT_FREQ_M(25)即 25MHz HSE 使能plldiv-m 5; mul-n 192; div-p 2即 VCO 频率 25/5 × 192 960MHz再经 P 分频得到480MHz系统时钟rccclocks pll、clock-frequency DT_FREQ_M(480)同时配置了 D1CPRE/D1PPRE/D2PPRE1/D2PPRE2/D3PPRE 等总线分频器均为 ×2将 AHB/APB 总线频率从 480MHz 逐级分频到各外设域可用范围pll3同样以 25MHz HSE 为源div-m 5; mul-n 192; div-p 2其 Q/R 分频div-q 20、div-r 99从源码结构看是为 USB/SDMMC 等外设域提供独立时钟输出clk_hsi48亦置为okay可推断用于为 USB PHY 等需要 48MHz 精度时钟的外设提供内部 HSI48 源。6. 片外存储QuadSPI 接 W25Q64虽然主 Flash 是片上 128KB但该板通过 QuadSPI 外挂了一片Winbond W25Q6464-Mbit即 8MBNOR Flash。设备树 中quadspi节点将六个引脚PB6/PB2/PD11/PD12/PE2/PD13绑定到 QuadSPI 外设qspi-nor-flash0子节点声明了size DT_SIZE_M(64)64 Mbit 容量qspi-max-frequency 40000000QSPI 时钟最高 40MHzspi-bus-width 4四线模式写命令使用PP_1_1_41-1-4 page programpartitions划分出一个覆盖全片 64Mbit 的storage分区partition0供 Zephyr 存储子系统使用。7. 串口控制台Zephyr 控制台输出固定分配到UART1默认通信参数115200 8N1。这一点与设备树中zephyr,console usart1、zephyr,shell-uart usart1fk750m1_vbt6.dts以及usart1节点的current-speed 115200完全吻合。PA9/PA10 已引出到板载排针接 USB 转串口线缆即可使用。8. 编译与烧录FK750M1-VBT6没有板载调试器需要使用外部调试器如 ST-Link通过板上的 SWD 排针完成烧录与调试。8.1 烧录流程用 SWD 接口将 ST-Link 调试器连接到 FK750M1-VBT6 的 SWD 排针将 ST-Link 通过 USB 连接到主机按 Zephyr 常规方式编译并烧录应用以 hello_world 示例为例$ west build -b fk750m1_vbt6 samples/hello_world $ west flash8.2 支持的 runnerboard.cmake 为该板注册了三种烧录/调试后端OpenOCD--target-handle_CHIPNAME.cpu0复用 boards/common/openocd.board.cmake 公共逻辑STM32CubeProgrammer--portswd、--reset-modehwJ-Link--deviceSTM32H750VB、--speed4000。配套的 OpenOCD 配置位于 support/openocd.cfg针对该板做了以下关键设置source [find interface/stlink-dap.cfg]transport select dapdirect_swd通过 ST-Link 的 DAP 模式直连 SWDset CHIPNAME STM32H750VB并source [find target/stm32h7x.cfg]使用 STM32H7 系列目标定义set ENABLE_LOW_POWER 1允许应用在低功耗模式下仍可被调试器访问set STOP_WATCHDOG 1halt 时暂停看门狗计数避免烧录过程中被看门狗复位打断reset_config srst_only srst_nogate connect_assert_srstCONNECT_UNDER_RESET 1使用硬件复位、连接时先拉低复位connect under reset从源码注释看这是为低功耗WFI 等应用中挂起连接场景准备的CORE_RESET 0表示复位时不主动重启 CPU 核。8.3 串口验证烧录结果烧录完成后运行串口主机程序连接开发板示例使用 minicom按实际 USB 串口设备名调整$ minicom -D /dev/ttyACM0 -b 115200按下板上 RESET 键复位即可在串口看到Hello World! fk750m1_vbt6这行输出同时验证了时钟树、UART1 引脚复用PA9/PA10、115200 8N1 串口参数与控制台驱动整条链路工作正常。8.4 调试现状说明需要明确按照当前移植文档的表述该 Zephyr 移植目前不支持调试debuggingSWD 排针主要用于 ST-Link 烧录。从 openocd.cfg 已配置 connect-under-reset、低功耗与看门狗保护等参数来看底层调试通路具备一定基础但是否可用请以当前版本的实际移植能力为准。9. 小结与延伸阅读FK750M1-VBT6 在 Zephyr 中的移植核心脉络为stm32h750xxSoCCortex-M7 480MHz→ 25MHz HSE 经 PLLM5/N192/P2产生 480MHz 系统时钟 → UART1PA9/PA10115200 8N1承载控制台 → QuadSPI 外挂 W25Q64 提供 8MB 片外存储 → ST-Link 经 SWD 排针完成烧录。相关源码入口板级文档boards/fanke/fk750m1_vbt6/doc/index.rst设备树时钟/引脚/存储定义boards/fanke/fk750m1_vbt6/fk750m1_vbt6.dts默认内核配置boards/fanke/fk750m1_vbt6/fk750m1_vbt6_defconfig烧录 runner 注册boards/fanke/fk750m1_vbt6/board.cmakeOpenOCD 配置boards/fanke/fk750m1_vbt6/support/openocd.cfg厂商目录索引同厂商还有 FK723M1-ZGT6、FK743M5-XIH6、FK7B0M1-VBT6 等 FANKE 板卡boards/fanke/index.rst构建与运行应用的通用说明可参考 Zephyr 文档中的 Build an application 与 Run an application 章节对应原文档引用的build_an_application、application_run主题。【免费下载链接】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),仅供参考
返回列表