资讯动态

RT-Thread N32H488ZEL7 开发板 BSP 快速上手与进阶外设开发指南

发布时间:2026/9/25 3:12:04 来源:尧图企业网站定制
操作系统嵌入式物联网嵌入式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 仓库中 N32H488ZEL7 开发板 BSP 说明文档 为核心完整介绍该板级支持包BSP的板载资源、外设支持现状、快速上手指引与基于 ENV 工具的进阶配置方法并辅以仓库内 Kconfig 配置与 LED 示例源码进行深度解读。读完本文你将掌握如何将 RT-Thread 5.3.0 运行到 N32H488ZEL7 开发板上、如何正确拉取 N32 标准库与 CMSIS 依赖、如何用menuconfig开启 UART、SPI、I2C、FDCAN、以太网、NAND 等更多板载外设并理解 BSP 默认工程的底层配置逻辑。开发板资源总览N32H488ZEL7_EVB V1.1 是 Nsing 推出的一款基于 ARM Cortex-M4 内核的开发板最高主频 240MHz板载资源丰富可充分发挥 N32H488 芯片的性能。开发板外观如下图所示该开发板常用的板载资源如下MCUN32H488ZEL7主频 240MHz512KB FLASH160KB RAM外部 PSRAMIS66WV51216EBLL通过 FEMC 接口外部 EEPROMAT24C02外部 FLASHW25Q128JVSIQTRSPI、P25Q40HA-SSH-ITXSPI、IS34ML01G081-TLIFEMC-NAND常用外设LED3 个LED1PA3、LED2PB4、LED3PA8按键4 个WKUP兼具唤醒功能PA0、KEY1PC13、KEY2PA15、KEY3PC8常用接口USB 转串口、CAN 接口、RS485 接口、LIN 接口、以太网接口调试接口标准 JTAG/SWD内存布局可在 board/board.h 中看到对应的宏定义N32_FLASH_START_ADRESS为0x08000000、N32_FLASH_SIZE为 512KBN32_SRAM_SIZE为 160KB堆区HEAP从编译器导出的 ZI 段末尾或__bss_end延伸到0x20000000 160KB处。外设支持现状本 BSP 目前对外设的支持情况如下摘自 README片上外设支持情况备注GPIO支持PA0, PA1... PH6 --- PIN: 0, 1...118UART支持UART1/2/3如需使用该外设请使用 Cube 重新配置其中 GPIO 引脚编号采用 RT-Thread PIN 设备的标准映射规则GET_PIN(A, 3)即对应 PA3也就是板载 LED1。从默认配置文件 rtconfig.h 可以看到BSP 默认仅开启BSP_USING_GPIO、BSP_USING_UART与BSP_USING_UART1并将控制台设备名配置为uart1RT_CONSOLE_DEVICE_NAME uart1这是理解默认只跑 GPIO 串口 1的关键依据。快速上手将 RT-Thread 运行到开发板上使用说明分为快速上手与进阶使用两个章节前者面向刚接触 RT-Thread 的新手按简单步骤即可让系统跑起来并看到实验效果后者面向需要驱动更多板载资源的开发者通过 ENV 工具配置 BSP 以开启高级功能。本 BSP 为开发者提供 MDK5 和 IAR 工程并支持 GCC 开发环境。下面以 MDK5 开发环境为例介绍如何将系统运行起来。请注意在执行编译工作前请先打开 ENV 执行以下指令该指令用于拉取必要的 STD 库及 CMSIS 库否则无法通过编译pkgs --update这一步对应到工程配置rtconfig.h 的软件包配置区会拉取PKG_USING_N32H47X_48X_STD_DRIVERN32H47x/48x 标准外设库与PKG_USING_N32H47X_48X_CMSIS_DRIVERCMSIS 设备头文件两个依赖包它们被 N32 驱动层 libraries/N32_Drivers 所使用。硬件连接使用数据线连接开发板到 PC打开电源开关。编译下载双击project.uvprojx文件位于 bsp/n32/n32hxxx/n32h487zgl7-evb/project.uvprojx打开 MDK5 工程编译并下载程序到开发板。工程默认配置使用 CMSIS-DAP 下载程序在通过 USB 线连接开发板的基础上点击下载按钮即可下载程序到开发板。运行结果下载程序成功之后系统会自动运行观察开发板上 LED1 的运行效果——LED1 会周期性闪烁。连接开发板对应串口到 PC在终端工具里打开相应的串口115200-8-1-N复位设备后可以看到 RT-Thread 的输出信息\ | / - RT - Thread Operating System / | \ 5.3.0 build Jul 16 2026 11:18:41 2006 - 2024 Copyright by RT-Thread team msh 出现msh 提示符即表示 RT-Thread 已成功启动msh是 RT-Thread 的 FinSH 命令行控制台默认开启RT_USING_MSH、FINSH_USING_MSH。LED 闪烁示例源码解读BSP 默认的 LED1 闪烁逻辑位于 applications/main.c。核心代码段如下/* defined the LED1 pin: PA3 */ #define LED1_PIN GET_PIN(A, 3) int main(void) { /* set LED1 pin mode to output */ rt_pin_mode(LED1_PIN, PIN_MODE_OUTPUT); while (1) { rt_pin_write(LED1_PIN, PIN_HIGH); rt_thread_mdelay(500); rt_pin_write(LED1_PIN, PIN_LOW); rt_thread_mdelay(500); } }该示例演示了 RT-Thread PIN 设备接口的三步用法先用GET_PIN(A, 3)将引脚 PA3 映射为统一编号再用rt_pin_mode配置为输出模式最后通过rt_pin_write以 500ms 间隔交替输出高、低电平实现 LED 呼吸般的周期性闪烁。这也是后续开发板载 GPIO 应用如按键输入检测的基础模板。进阶使用用 ENV 开启更多板载外设此 BSP 默认只开启了 GPIO 和串口 1 的功能如需使用更多高级功能需要利用 ENV 工具对 BSP 进行配置步骤如下在 bsp 下打开 env 工具。输入menuconfig命令配置工程配置好之后保存退出。输入pkgs --update命令更新软件包。输入scons --targetmdk5/iar命令重新生成工程。其中scons --targetmdk5/iar会根据新的配置重新生成对应的 MDK5 或 IAR 工程文件让新开启的外设驱动自动加入编译列表。BSP 外设菜单结构BSP 的配置菜单由 bsp/n32/n32hxxx/n32h487zgl7-evb/board/Kconfig 定义主要分为三块Onboard Peripheral Drivers板载外设驱动以太网相关配置On-chip Peripheral Drivers片上外设驱动GPIO、UART、SPI、QSPI、I2C、RTC、ADC、DAC、WDT、FDCAN、NAND、SDIO 等Board extended module Drivers板载扩展模块驱动预留扩展菜单。顶层菜单入口见 bsp/n32/n32hxxx/n32h487zgl7-evb/Kconfig它通过select SOC_SERIES_N32H47x_48x关联到 N32H47x/48x 系列并rsource ../libraries/Kconfig引入驱动库菜单最终由 N32 驱动层 libraries/N32_Drivers/drivers/Kconfig 提供更多底层可选项。GPIO 与 UART默认开启项对应 rtconfig.h 中的宏BSP_USING_GPIO使能 GPIO并select RT_USING_PIN将 GPIO 注册为 RT-Thread PIN 设备BSP_USING_UART使能 UART 设备框架select RT_USING_SERIALBSP_USING_UART1使能 UART1默认控制台RT_CONSOLE_DEVICE_NAME为uart1。UART 1~8 均可在菜单中独立开启每个串口还支持独立的 RX/TX DMA 开关例如BSP_UART1_RX_USING_DMA、BSP_UART1_TX_USING_DMA但前提是内核已开启RT_SERIAL_USING_DMA。需要说明的是README 中明确备注UART1/2/3 如需使用需使用 N32 Cube 工具重新配置引脚复用即修改 board/Cube_Config/USER/src/n32h47x_48x_cfg.c 中的外设初始化代码。更多片上外设配置项通过menuconfig还可以开启以下外设均默认关闭SPISPI1/2/3开启BSP_USING_SPI后自动select RT_USING_SPI每个 SPI 总线支持独立的 TX/RX DMAQSPIXSPIBSP_USING_QSPI需要先在 Cube 中完成引脚配置依赖BSP_PERIPH_PIN_CFG_READY用于驱动板上 P25Q40HAXSPI等高速串行 Flash硬件 I2CI2C1~4BSP_USING_HARD_I2Cselect RT_USING_I2C可用于驱动板载 AT24C02 EEPROM每个实例支持 DMA 开关RTCBSP_USING_ONCHIP_RTCselect RT_USING_RTC时钟源可选 LSE 或 LSIADCADC1~4与 DACDAC1~8分别select RT_USING_ADC/RT_USING_DAC看门狗 WDTBSP_USING_WDTselect RT_USING_WDTFDCANCAN FDFDCAN1/2/3BSP_USING_FDCAN自动开启RT_USING_CAN、RT_CAN_USING_CANFD与RT_CAN_USING_HDR。每个 FDCAN 实例提供非常细致的资源参数配置包括发送延时补偿TDC offset / filter window、标准/扩展 ID 滤波器数量、RX FIFO0/FIFO1 大小与每个元素数据字节数可选 8/12/16/20/24/32/48/64、专用 TX/RX 缓冲区、TX FIFO/Queue 模式等三个实例共享一块连续 Message RAM默认 768 个 32 位字范围 1~4480NAND FlashBSP_USING_NANDselect RT_USING_MTD_NAND可配置 BankBANK2/BANK3、总线位宽8 位/16 位、页大小默认 2048 字节、OOB 区大小默认 64 字节、每块页数默认 64、总块数默认 1024与 Plane 数用于驱动板载 IS34ML01G081FEMC-NANDSDIOBSP_USING_SDIO。这些外设的底层实现位于 N32 驱动库 libraries/N32_Drivers/drivers 中例如drv_gpio.c、drv_usart.c、drv_spi.c、drv_fdcan.c、drv_nand.c、drv_qspi.c等每个驱动的可配置项与头文件可进一步参考各外设的*_config.h。板载以太网板载以太网属于板载外设菜单BSP_USING_ETH依赖BSP_PERIPH_PIN_CFG_READY开启后自动select RT_USING_LWIP并可配置介质接口MII 或 RMII默认 RMIIPHY 芯片DM9162EP 或 LAN8720A默认 DM9162EP10M/100M支持 MII/RMII硬件校验和BSP_ETH_USING_HW_CHECKSUM开启后联动RT_LWIP_USING_HW_CHECKSUMPHY 中断模式PHY_USING_INTERRUPT_MODE可指定 PHY 中断引脚号0~255用于链路状态变化事件通知。引脚配置的开关逻辑进阶配置中有一个关键开关BSP_PERIPH_PIN_CFG_READYOptional peripheral AF pins are configured on this board。以太网、QSPI、NAND 等外设的启用都以它为前置条件——这些外设的复用引脚需要在 board/Cube_Config/USER/src/n32h47x_48x_cfg.c 中通过 N32 Cube 工具完成时钟与 IO 初始化对应RCC_Configuration()、GPIO_Configuration()等函数它们由 board/board.c 中的System_Initialize()在系统启动阶段统一调用。在启用这些外设前务必先用 Cube 配置好相应引脚否则系统可能因缺少引脚初始化而无法正常工作。注意事项调试串口映射调试串口为串口 1映射说明如下PA9 ------ USART1_TX PA10 ------ USART1_RX即在 board/Cube_Config/USER/src/n32h47x_48x_cfg.c 中USART1 的 TX 配置在 PA9、RX 配置在 PA10与默认控制台uart1一一对应烧录后打开串口终端115200-8-1-N即可看到 msh 命令行。小结N32H488ZEL7 开发板 BSP 为 RT-Thread 在国民技术高性能 Cortex-M4 平台上的开发提供了完整的工程模板与驱动框架默认工程仅开启 GPIO 与 UART1即可让系统以LED 闪烁 msh 控制台的最小形态运行通过 ENV 的menuconfigscons --targetmdk5/iar流程则可按需开启 SPI、硬件 I2C、FDCAN、以太网LWIP、NAND、SDIO 等丰富外设充分挖掘 N32H488 的芯片能力。上手前请务必执行pkgs --update拉取 STD 库与 CMSIS 库使用涉及引脚复用重配的外设时请先在 N32 Cube 中完成引脚初始化配置。赞分享操作系统嵌入式物联网嵌入式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 AIR105 开发板 BSP 快速上手与进阶使用指南RT Thread AIR105 开发板 BSP 快速上手与进阶使用指南 AIR105 是合宙推出的一款基于 ARM Cortex M4 内核的高集成度 MCU操作系统嵌入式物联网嵌入式OSRTOSGD32450Z-EVAL 开发板 RT-Thread BSP 快速上手与进阶配置指南GD32450Z EVAL 开发板 RT Thread BSP 快速上手与进阶配置指南 本指南以 RT Thread 仓库中 bsp/gd32/arm/gd32操作系统嵌入式物联网嵌入式OSRTOSGD32H759I-START 开发板 RT-Thread BSP 快速上手与进阶配置指南GD32H759I START 开发板 RT Thread BSP 快速上手与进阶配置指南 GD32H759I START 是兆易创新推出的 GD32H7 系列操作系统嵌入式物联网嵌入式OSRTOS上一篇gh_mirrors/swi/swift-style-guide与团队协作如何在多人项目中保持规范一致下一篇CocoaLumberjack内存泄漏检测Instruments工具实战教程创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑