首页/新闻资讯/正文详情

RT-Thread BSP 实战:小华半导体 EV_F448_LQ80(HC32F448MCTI)开发板快速上手与进阶配置指南

发布时间:2026/9/23 16:42:09 来源:云帆数科 栏目:资讯中心
RT-Thread BSP 实战:小华半导体 EV_F448_LQ80(HC32F448MCTI)开发板快速上手与进阶配置指南
操作系统嵌入式物联网嵌入式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/hc32/ev_hc32f448_lqfp80 的 BSP板级支持包为核心系统讲解 EV_F448_LQ80 开发板的资源构成、外设驱动支持矩阵、MDK5/IAR/GCC 三种开发环境下的快速启动流程以及基于 env 工具 menuconfig 的进阶外设裁剪方法。读者阅读后即可独立完成上电点灯 串口控制台的首次运行并掌握利用 Kconfig 逐项开启 UART、SPI、I2C、ADC、PWM、MCAN、RTC 等片上外设的完整操作路径同时理解该 BSP 底层时钟初始化与驱动配置的实现原理。开发板资源总览EV_F448_LQ80 是小华半导体XHSC官方推出的评估开发板核心芯片为HC32F448MCTI采用 ARM Cortex-M4 内核最高主频200 MHz板载资源丰富可充分发挥芯片性能。开发板外观如下常用板载资源MCUHC32F448MCTI主频 200 MHz256 KB FLASH68 KB RAM外部 RAMIS61LV6416SRAM128 KB常用外设LED3 个User LEDLED0、LED1、LED2按键6 个矩阵键盘K1~K4、WAKEUPK5、RESETK0常用接口LCD 接口、CAN 接口、LIN 接口调试接口板载 DAP 调试器含 USB 转串口、标准 JTAG/SWD值得注意的是BSP 中的 board/board.h 从代码层面对芯片资源做了二次确认HC32_FLASH_SIZE定义为(256 * 1024)即 256 KB 片内 FLASH擦除粒度为 8 KB、写入粒度为 4 字节HC32_SRAM_END为0x1FFF8000 64 * 1024即 64 KB SRAM 尾地址文档标注 68 KB 为含其他 SRAM 分区在内的总容量口径。链接脚本分别位于 board/linker_scripts/link.ld、link.icf 与 link.sct分别对应 GCC、IAR 与 MDK 三种工具链。外设支持矩阵本 BSP 对外设的支持情况如下表所示分板载外设与片上外设两类板载外设支持情况备注USB 转串口支持使用 UART2片上外设支持情况备注ADC支持Crypto支持CRC、HASH、RNGDAC支持FLASH支持GPIO支持PA0、PA1...PH2 → PIN0、1...82CLOCK_TIMER支持I2C支持软件、硬件 I2CInputCapture支持MCAN支持PM支持PulseEncoder支持PWM支持QSPI支持RTC支持闹钟精度为 1 分钟SPI支持UART V1 V2支持WDT支持表中每一项驱动能力都可以在 BSP 的 board/Kconfig 中找到对应的开关项如BSP_USING_ADC、BSP_USING_MCAN、BSP_USING_RTC等驱动实现则位于bsp/hc32/libraries/hc32_drivers/目录例如串口驱动为 drv_usart.c 与 drv_usart_v2.c。这意味着支持不仅停留在文档声明层面而是有真实的 RT-Thread 设备驱动框架实现与之对应后续章节会说明如何逐项开启。快速上手让 RT-Thread 跑起来使用说明分为两个层次快速上手面向刚接触 RT-Thread 的新手遵循简单步骤即可让操作系统运行在开发板上并看到实验效果进阶使用面向需要在 RT-Thread 上使用更多开发板资源的开发者通过 env 工具对 BSP 进行配置以开启更多板载资源。本 BSP 同时提供MDK5、IAR工程并支持GCC开发环境。下面以 MDK5 为例介绍完整启动流程。硬件连接使用Type-A to MicroUSB线连接开发板和 PC 供电。板载 DAP 调试器同时承担供电、下载与 USB 转串口虚拟 COM 端口三个角色因此一根线即可完成全部硬件准备。编译下载双击 project.uvprojx 文件打开 MDK5 工程编译并下载程序到开发板。工程默认配置使用板载 DAP下载程序点击下载按钮即可将程序下载到开发板无需额外接线或配置调试器。工程模板template.uvprojx、template.ewp 等与正式工程并存于 BSP 根目录便于重新生成或对照。运行结果下载程序成功后系统自动运行。观察开发板 LED 运行效果绿色 LED3 会周期性闪烁。这一效果的源码实现位于 applications/main.c核心逻辑如下/* defined the LED_GREEN pin: PA2 */ #define LED_GREEN_PIN GET_PIN(A, 2) int main(void) { /* set LED_GREEN_PIN pin mode to output */ rt_pin_mode(LED_GREEN_PIN, PIN_MODE_OUTPUT); while (1) { rt_pin_write(LED_GREEN_PIN, PIN_HIGH); rt_thread_mdelay(500); rt_pin_write(LED_GREEN_PIN, PIN_LOW); rt_thread_mdelay(500); } }即通过 RT-Thread 标准 PIN 设备接口rt_pin_mode/rt_pin_write驱动 PA2 引脚每 500 ms 翻转一次电平产生 1 Hz 的闪烁节拍。从这里可以看到 RT-Thread 设备层的统一抽象应用代码只与引脚号打交道具体的寄存器操作由 GPIO 驱动drv_gpio.c屏蔽。USB 虚拟 COM 端口默认连接串口 2UART2。在终端工具中打开对应串口复位设备后可以看到 RT-Thread 的输出信息\ | / - RT - Thread Operating System / | \ 4.1.0 build Apr 24 2022 13:32:39 2006 - 2022 Copyright by RT-Thread team msh 出现msh 提示符即代表 RT-Thread 内核、finsh 组件与串口控制台均已正常工作可以直接在命令行交互调试。进阶使用用 env 工具开启更多外设此 BSP 默认只开启了GPIO与串口 2UART2的功能。从 rtconfig.h 可以看到默认使能的硬件驱动宏#define BSP_USING_GPIO #define BSP_USING_UART #define BSP_USING_UART2 #define BSP_USING_I2C #define BSP_USING_I2C_HW #define BSP_USING_I2C1其中控制台设备在RT_CONSOLE_DEVICE_NAME uart2处指定即 UART2 承担 finsh 控制台角色这正对应文档USB 虚拟 COM 默认连接串口 2的描述。其他外设默认关闭需要按如下步骤开启在 bsp 目录下打开env 工具命令行环境。输入menuconfig命令配置工程配置完成后保存退出。输入pkgs --update命令更新软件包。输入scons --targetmdk5/iar命令重新生成工程根据目标工具链选择 mdk5 或 iar。menuconfig 中的外设开关分布打开 menuconfig 后硬件驱动配置集中在Hardware Drivers Config菜单下其 Kconfig 源文件为 board/Kconfig主要分为四个子菜单On-chip Drivers片上 FLASH Cache 相关包括 ICODE Cache、DCODE Cache 与 ICODE Prefetch默认全部开启用于提升 200 MHz 高频下取指与取数性能。Onboard Peripheral Drivers板载外设开关包括BSP_USING_TCA9539板载 I/O 扩展芯片启用后会连带选中 I2C 与 I2C1、BSP_USING_SPI_FLASHw25q64 spi1会联动选中 SFUD、DFS、FAL、MTD_NOR 等文件系统组件以及BSP_USING_EXT_IO默认开启。On-chip Peripheral Drivers片上外设开关即外设支持矩阵中所有条目对应的配置项。Board extended module Drivers扩展模块驱动预留区。以最常用的串口为例在On-chip Peripheral Drivers下展开Enable UART可以看到 UART1~UART6 各自独立开关且每个串口还可进一步配置RX/TX DMABSP_UART1_RX_USING_DMA/BSP_UART1_TX_USING_DMA等选项依赖RT_SERIAL_USING_DMA开启后接收路径还会额外使用 TMR0 定时器实现接收超时RXTO检测对应 board/config/uart_config.h 中的UARTx_DMA_RX_CONFIG与UARTx_RXTO_CONFIG宏收发缓冲区大小RX buffer 范围 64~65535默认 256TX buffer 范围 0~65535UART1 默认 256UART2 默认 0DMA 乒乓缓冲区启用 RX DMA 后可选范围 32~65535默认 64。这些 Kconfig 项生成后写入 rtconfig.h驱动在编译期通过#if defined(BSP_USING_UARTx)决定是否注册对应串口设备实现真正的按需裁剪。其他外设配置要点来自 Kconfig 源文件I2C提供硬件 I2CI2C1/I2C2可分别选通 TX/RX DMA与软件 I2Cswi2c1SCL 默认 PIN 10、SDA 默认 PIN 9两套方案对应文档软件、硬件 I2C的说明。SPI/QSPISPI1/SPI2/SPI3 各自可独立选通 TX/RX DMAQSPI 总线开启后自动选中 SPI并可选择 QSPI DMA 与软件片选。ADCADC1/ADC2/ADC3 独立开关每个 ADC 可单独开启 DMA。DACDAC1 独立开关。MCANMCAN1/MCAN2 开关开启 MCAN 会自动选中 RT-Thread CAN 框架与 TCA9539。WDT可选择 SWDT最长约 3.72 小时超时或 WDT最长约 10.7 s 超时并可配置低功耗模式下是否持续计数。RTC时钟源三选一——XTAL32外接 32.768 kHz 晶振、LRC低频 RC、XTAL 分频对应 RTC 闹钟 1 分钟精度。PM低功耗管理可配置 WKTM 时钟源XTAL32 / LRC若 RTC 使用 XTAL32 还可选 64 Hz 模式。HWCRYPTO硬件加解密包括 UQID 唯一 ID、RNG 随机数、CRC、AESECB 模式、HASHSHA2-256 模式对应文档中 Crypto 的 CRC、HASH、RNG 支持。PWM支持 TimerA 与 TMR4/TMR6 输出 PWM可精细到通道级开关如BSP_USING_PWM_TMR4_1_OUH等。PulseEncoder / InputCapture / ClockTimer / Sensor分别对应脉冲编码器TimerA/TMR6、输入捕获TMR6、时钟计时器TimerA1~A5与按键扫描KEYSCAN。底层机制时钟与板级初始化进阶用户关心外设真正跑起来的前提——时钟树配置。该 BSP 的系统时钟在 board/board.c 的SystemClock_Config()中完成核心参数如下外接8 MHz XTAL晶振CLK_XTAL_MD_OSC稳定时间 2 msPLL 配置PLLM1、PLLN100、PLLP4VCO 频率 (8/1) × 100 800 MHz系统时钟取 PLL 分频后运行总线分频PCLK0 与 HCLK 最高 200 MHz、PCLK1/PCLK4 最高 100 MHz、PCLK2/EXCLK 最高 60 MHz、PCLK3 最高 50 MHz实际配置为PCLK0_DIV1 | PCLK1_DIV2 | PCLK2_DIV4 | PCLK3_DIV4 | PCLK4_DIV2 | EXCLK_DIV4 | HCLK_DIV1高频下启用3 个 FLASH 等待周期EFM_WAIT_CYCLE3与 GPIO 读等待 3 周期PeripheralRegister_Unlock()负责外设寄存器写保护解锁GPIO、EFM、FCG、PWC、SRAM、LVD启用 RTCXTAL32或 PM 时会额外初始化 32.768 kHz 低速晶振选用 XTAL 分频方案时以 8000000/32768 的分频比u32Num0x7A12u32Den0x80产生 RTC 时钟。此外SystemBase_Config()依据 Kconfig 开关逐一使能 FLASH ICODE/DCODE Cache 与 Prefetch这正是On-chip Drivers菜单的实际作用点。整条链路为Kconfig 生成 rtconfig.h → board.c 初始化时钟与外设 → drv_config.h 汇总各外设配置文件board/drv_config.h 统一 include uart、spi、adc、dac、gpio、mcan、pm、i2c、qspi 等配置头文件→ hc32_drivers 目录下的驱动向 RT-Thread 设备框架注册设备。小结EV_F448_LQ80 BSP 是典型的低门槛启动 高自由度裁剪型板级支持包接一根 USB 线、编译下载默认工程即可看到 LED 闪烁与 msh 串口控制台而通过 env 工具与 Kconfig开发者可以在 ADC、DAC、SPI、I2C、QSPI、PWM、MCAN、RTC、WDT、PM、硬件加解密等二十余类外设之间自由组合配合源码中模块化的驱动与配置分离结构可以清晰地把配置开关 → 生成宏 → 注册设备 → 应用调用的完整流程映射到自己的项目中。如需进一步了解该 BSP 的驱动实现细节可继续阅读 bsp/hc32/libraries/hc32_drivers 目录下的驱动源码以及bsp/hc32下其他 HC32 系列 BSP 的对照实现。BSP 维护方为小华半导体 MCU 团队联系方式见 bsp/hc32/ev_hc32f448_lqfp80/README.md开发过程中如遇芯片寄存器级问题可直接反馈给芯片原厂。赞分享操作系统嵌入式物联网嵌入式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 实战指南小华半导体 EV_F334_LQ64HC32F334开发板移植与进阶配置RT Thread BSP 实战指南小华半导体 EV_F334_LQ64HC32F334开发板移植与进阶配置 EV_F334_LQ64 是小华半导体XH操作系统嵌入式物联网嵌入式OSRTOSVorssaint 权限体系全解macOS TCC 权限如何按需申请、动态刷新与一键重置Vorssaint 权限体系全解macOS TCC 权限如何按需申请、动态刷新与一键重置 Vorssaint 是一个免费开源的 macOS 菜单栏工具集它在操作系统嵌入式物联网嵌入式OSRTOSPostHog Person Property Reconciliation修复 ASSERT_VERSION 属性丢失的 ClickHouse 对账作业实战指南PostHog Person Property Reconciliation修复 ASSERT_VERSION 属性丢失的 ClickHouse 对账作业实战操作系统嵌入式物联网嵌入式OSRTOS创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关推荐

详解TI C2000 DSP的EALLOW与EDIS:寄存器写保护机制与实践
详解TI C2000 DSP的EALLOW与EDIS:寄存器写保护机制与实践

记得有一次在技术群里,有人贴了一段 TI DSP 的初始化代码,中间夹着两行大写字母的东西:EALLOW; SysCtrlRegs.PCLKCR0.bit.ADCENCLK 1; EDIS;然后问:“这 EALLOW 和 EDIS 是干嘛的?感觉删了也能跑啊。” 这个问题其实特… · 2026/9/23 16:42:09

基于Python的实验室管理系统:并发预约与状态机设计
基于Python的实验室管理系统:并发预约与状态机设计

简介:基于Python的实验室管理系统毕业设计资料包,面向计算机相关专业毕业生、课程设计学生及需要快速搭建实验室管理系统的开发者。资料包含完整毕业论文与可运行源码,系统采用Python语言、MySQL数据库和B/S架构,功能覆盖用户注册… · 2026/9/23 16:41:56

直通车点击器选型避坑,3分钟搞懂NPM与PyPI的保姆级教程
直通车点击器选型避坑,3分钟搞懂NPM与PyPI的保姆级教程

直通车点击器选型避坑,3分钟搞懂NPM与PyPI的保姆级教程 官方文档动辄几百页,读到最后脑子还是一团浆糊,抓不住重点?别慌,这篇保姆级教程不聊虚的,直接带你拆解“直通车点击器”在自动化测试与流量模拟领域的真实技术栈。很多人搜这个词,其实是… · 2026/9/23 16:41:56

服务器Web部署全链路实战:从硬件选型到故障排查
服务器Web部署全链路实战:从硬件选型到故障排查

1. 这不是“装系统”,而是一次完整的服务器工程实践你搜“服务器搭建入门指南”,页面上跳出来的大多是零散的命令行截图、某一步卡住的求助帖,或是把Ubuntu安装过程当全部内容的教程。但真正从零开始搭一台能跑Web服务的服务器,根… · 2026/9/23 18:12:45

一文搞懂艺术马赛克原理,3个避坑点让你面试不挂
一文搞懂艺术马赛克原理,3个避坑点让你面试不挂

一文搞懂艺术马赛克原理,3个避坑点让你面试不挂 面试时被问“艺术马赛克怎么实现的”,你如果只答出“把图片切成小方块”,那基本就凉了。面试官想听的不是定义,而是背后的像素操作、色彩空间转换以及性能优化细节。很多前端或图形学初学者都栽在这里,觉… · 2026/9/23 18:12:45

3分钟搞懂对比色图片生成,附可运行完整示例
3分钟搞懂对比色图片生成,附可运行完整示例

3分钟搞懂对比色图片生成,附可运行完整示例 官方文档翻了三页还没看明白,是不是你也卡在“到底怎么把两张图变成对比色”这一步?别急,今天这篇不整虚的,直接给你一套 完整示例… · 2026/9/23 18:12:44

Win11任务栏显示秒数:注册表原生开关详解
Win11任务栏显示秒数:注册表原生开关详解

1. 这不是“隐藏功能”,而是被系统默认关闭的原生能力你有没有盯着任务栏右下角那个时钟发过呆?秒针跳动的节奏,像心跳一样稳定——但Windows 11默认根本不显示秒。很多人第一反应是:“装个第三方桌面工具吧”,比如Rai… · 2026/9/23 18:12:44

微信支付V3退款实战:从签名封装到回调验签的完整链路
微信支付V3退款实战:从签名封装到回调验签的完整链路

简介:一份面向Java开发者的微信支付V3小程序退款实现资料包,适合正在接入微信支付、需要快速落地退款流程的后端研发与运维人员。包体共4个文件,以txt源码/说明文件为主,另含1个properties配置文件,整体仅6KB。txt文件… · 2026/9/23 18:12:38

3个方案搞定权利的游戏第八季剧透性能优化实战
3个方案搞定权利的游戏第八季剧透性能优化实战

3个方案搞定权利的游戏第八季剧透性能优化实战 是不是也这样?刷了无数遍《权利的游戏第八季剧透》相关的技术文章,觉得每个代码片段都看懂了,逻辑也理顺了,但一上手写自己的项目,脑子就一片空白,代码写得乱七八糟,跑起来还慢得让人抓狂。这种“眼高手… · 2026/9/23 18:12:38

3招搞定手机怎么下载微信面试难题实战项目解析
3招搞定手机怎么下载微信面试难题实战项目解析

3招搞定手机怎么下载微信面试难题实战项目解析 面试被问“手机怎么下载微信”背后的原理,90%的人答不上来。别笑,这看似弱智的问题,实则是考察你对移动应用分发机制、安全校验及网络协议理解的试金石。我带过不少校招新人,他们背了八股文,却连一个A… · 2026/9/23 0:00:03

你有新短消息请注意查收:3个新手避坑指南搞定消息系统选型
你有新短消息请注意查收:3个新手避坑指南搞定消息系统选型

你有新短消息请注意查收:3个新手避坑指南搞定消息系统选型 面试被问“高并发下如何保证消息不丢失”,你张口就是“用Redis”,结果面试官追问“如果Redis宕机了怎么办”,你瞬间卡壳。这种场景太常见了,很多新手在背八股文时,只记住了技术名词… · 2026/9/23 0:00:29

Win7无线热点配置工具源码解析:解决API失效的3个实战技巧
Win7无线热点配置工具源码解析:解决API失效的3个实战技巧

Win7无线热点配置工具源码解析:解决API失效的3个实战技巧 Win7无线热点配置工具在Win10/11上跑不动?不是你的问题,是版本升级后 API 全变了。很多老项目里的 netsh wlan… · 2026/9/23 0:00:36

了解更多?预约专属演示

我们的顾问将为您一对一讲解产品与方案

企业微信二维码