十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

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

Zephyr 中 NXP LPC845-BRK 开发板支持详解:硬件特性、Switch Matrix 引脚配置与构建烧录指南

Zephyr 中 NXP LPC845-BRK 开发板支持详解:硬件特性、Switch Matrix 引脚配置与构建烧录指南 Zephyr 中 NXP LPC845-BRK 开发板支持详解硬件特性、Switch Matrix 引脚配置与构建烧录指南【免费下载链接】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/zephyrLPC845-BRK 是 NXP 推出的低成本评估板基于 LPC84x 系列微控制器适用于快速评估与原型开发。本文以 Zephyr RTOS 仓库中的板级文档boards/nxp/lpc845brk/doc/index.rst为主体结合板级设备树、默认配置与测试用例系统梳理该板卡的硬件资源、默认引脚分配、Switch Matrix 灵活路由机制以及从构建、烧录到调试的完整操作流程帮助开发者快速上手基于 Zephyr 的 LPC845-BRK 开发。板卡硬件概览LPC845-BRK 基于 NXP LPC845 微控制器属于 LPC84x 系列。该系列采用 Arm Cortex-M0 内核是面向成本敏感型应用的 32 位 MCU 产品线CPU 主频最高可达 30 MHz片上集成 64 KB Flash 与 16 KB SRAM并借助 Switch Matrix开关矩阵实现灵活的引脚功能配置。Zephyr 仓库中板级元数据boards/nxp/lpc845brk/board.yml将其标识为nxp,lpc845-brk架构为armRAM 16 KB、Flash 64 KB支持 zephyr 工具链与 uart、gpio 等驱动。LPC845-BRK 板卡提供的完整硬件资源如下Arm Cortex-M0 CPU主频最高 30 MHz片上 64 KB Flash 与 16 KB SRAM内部自由运行振荡器FRO提供多种频率选项5 路 USART 接口支持 Switch Matrix 路由与分数波特率fractional baud rate2 路 SPI 控制器支持 Switch Matrix 路由4 路 I2C 接口其中一路支持 Fast-mode Plus速率 1 Mbit/s1 路 12 位 ADC 与 2 路 10 位 DACSCTimer/PWM 及多路通用定时器25 通道 DMA 控制器与 CRC 引擎最多 54 个 GPIO配合灵活的 Switch Matrix 配置最多 8 个引脚irq slots的引脚中断与 Pattern Match 引擎支持串行线调试SWD接口电容触摸接口Capacitive Touch Interface, CAPT在 SoC 层面Zephyr 的 SoC 设备树 dts/arm/nxp/lpc/lpc84x/nxp_lpc845.dtsi 将 SRAM 区域定义为 16 KB基址0x10000000与上述硬件规格一致并继承自更通用的 LPC84x 系列描述文件。默认引脚连接与 IO 配置LPC845 使用 Switch MatrixSWM与 IOCON 模块来配置引脚功能。板级文档给出了默认引脚分配是理解板卡外设连接关系的基础引脚名功能用途PIO0_24UART0 TXD控制台 TXPIO0_25UART0 RXD控制台 RXPIO1_0GPIO绿色 LEDPIO1_1GPIO蓝色 LEDPIO1_2GPIO红色 LEDPIO0_11I2CI2C0 SDAPIO0_10I2CI2C0 SCLPIO0_31CAPTCAPT_X0PIO1_8CAPTCAPT_YLPIO1_9CAPTCAPT_YHPIO0_2SWDSWD 调试口PIO0_3SWDSWD 调试口PIO0_4GPIO用户按键 SWPIO0_5GPIO复位按键 SWPIO0_7ADC电位器PIO0_12GPIOISP 启动按键 SW从这张表格可以看到板卡的关键外设RGB 三色 LEDPIO1_0/1/2、I2C0 总线PIO0_10/PIO0_11、电容触摸感应CAPT_X0、CAPT_YL、CAPT_YH、SWD 调试口PIO0_2/PIO0_3、用户按键、复位按键、ISP 启动按键以及板载电位器接 ADC 通道 PIO0_7。注意LPC845 的 Switch MatrixSWM允许极其灵活的引脚路由。上表列出的是默认与固定引脚连接而对于可移动功能movable functions例如 SPI、PWM、USART则可以通过 devicetree 配置将信号路由到几乎任意可用的 GPIO 引脚上。这意味着开发者可以根据自己的硬件设计自由调整外设引脚映射而不受固定引脚束缚。Switch Matrix 引脚路由的设备树实现在 Zephyr 板级设备树 boards/nxp/lpc845brk/lpc845brk.dts 中可以直观看到 Switch Matrix 的路由配置方式。该文件包含了nxp/lpc/lpc84x/nxp_lpc845.dtsiSoC 描述与zephyr/dt-bindings/pinctrl/lpc84x-pinctrl.h引脚绑定头文件并声明compatible nxp,lpc845-brk。chosen节点将 SRAM、Flash、控制台console与 shell UART、Flash 控制器分别绑定到对应设备其中控制台与 shell 均指向uart0chosen { zephyr,sram sram0; zephyr,flash flash0; zephyr,console uart0; zephyr,shell-uart uart0; zephyr,flash-controller iap; };UART0 的时钟源、波特率与引脚路由配置如下uart0 { status okay; clock-source frg0; current-speed 115200; pinctrl-0 uart0_default; pinctrl-names default; }; swm { status okay; uart0_default: uart0_default { group0 { pinmux LPC84X_PINMUX_M(LPC84X_SWM_USART0_TXD, P0_25), LPC84X_PINMUX_M(LPC84X_SWM_USART0_RXD, P0_24); }; }; };这段配置体现了 LPC845 的特色UART0 的 TXD/RXD 信号通过swm节点的pinmux属性映射到具体物理引脚控制台串口波特率为 115200时钟源为 FRO 分频后的 FRG0。需要留意的是当前设备树中 USART0_TXD 映射到 P0_25、RXD 映射到 P0_24与文档表格PIO0_24 为 TXD、PIO0_25 为 RXD的标注存在方向上的出入实际接线请以你自己硬件上的丝印与测量为准——这也正是 SWM 可重路由特性的体现修改pinmux即可对调。此外Flash 被划分为三个分区便于部署 MCUboot 双镜像或存储分区方案分区标签起始地址大小slot0image-00x0000000048 KBslot1image-10x000080008 KBstoragestorage0x0000f0008 KB该分区布局与 Flash 总容量 64 KB 严格对应可直接支持 A/B 镜像升级场景。板级默认配置与烧录目标板级默认配置 boards/nxp/lpc845brk/lpc845brk_defconfig 启用了构建 LPC845-BRK 应用所需的基础子系统CONFIG_CLOCK_CONTROLy CONFIG_SERIALy CONFIG_CONSOLEy CONFIG_UART_CONSOLEy CONFIG_BUILD_OUTPUT_HEXy其中CONFIG_CLOCK_CONTROL启用时钟控制驱动LPC84x 的 SYSCON 模块CONFIG_SERIAL与CONFIG_UART_CONSOLE配合使串口作为控制台输出CONFIG_BUILD_OUTPUT_HEX让构建产物额外生成 HEX 格式镜像。板级 Kconfig 入口 boards/nxp/lpc845brk/Kconfig.lpc845brk 通过select SOC_LPC845将板卡与 SoC 绑定烧录与调试目标则由 boards/nxp/lpc845brk/board.cmake 定义默认使用 pyOCD 作为烧录器目标设备为lpc845board_runner_args(pyocd --targetlpc845) include(${ZEPHYR_BASE}/boards/common/pyocd.board.cmake)这意味着开发板通过板载/外接 CMSIS-DAP 调试器即可完成烧录与调试无需额外购买专用下载器。构建 hello_world 示例以 Zephyr 官方hello_world示例验证工具链与板级支持是否就绪是最快的上手方式。在 Zephyr 环境初始化完成后执行west build -b lpc845brk samples/hello_world该命令会以lpc845brk为目标板构建 samples/hello_world 示例。构建成功后产物中包含 HEX 格式镜像由CONFIG_BUILD_OUTPUT_HEXy保证可直接用于烧录。烧录应用应用构建完成后使用 west 的 flash 命令即可烧录到开发板west flashwest 会依据 board.cmake 中登记的 runner 调用 pyOCD以--targetlpc845参数选中 LPC845 目标设备完成下载。烧录完成后板载控制台串口UART0默认引脚见上文会输出应用运行日志。调试应用需要调试时使用 west 的 debug 命令west debug该命令同样经由 pyOCD runner 启动调试会话连接 SWD 调试口PIO0_2/PIO0_3可进行断点设置、单步执行、变量查看等标准调试操作。LPC845 的 SWD 接口在默认配置中即已就位配合 CMSIS-DAP 兼容调试器即可使用。测试与验证仓库中的 Flash 驱动测试为 LPC845-BRK 提供了针对性配置可作为功能验证参考tests/drivers/flash/common/boards/lpc845brk.conf 与 tests/drivers/flash/negative_tests/boards/lpc845brk.conf 均设置CONFIG_FLASH_FILL_BUFFER_SIZE64即用 64 字节的填充缓冲执行 Flash 读写测试。这说明板级分区定义slot0/slot1/storage与 Flash 驱动在该板卡上可以配合 twister 测试框架直接运行验证擦写与边界行为。总结NXP LPC845-BRK 在 Zephyr 中获得了完整的一等公民支持从板级设备树、默认配置、pyOCD 烧录 runner 到测试配置一应俱全。其最大特色在于 Switch Matrix 带来的引脚级灵活性——USART、SPI、PWM 等可移动功能均可通过 devicetree 重新路由让同一块板子适配多种硬件布局。开发者只需west build -b lpc845brk即可开始开发配合west flash与west debug完成完整的开发闭环。更多详细资料可参阅板级文档 boards/nxp/lpc845brk/doc/index.rst 中列出的 NXP 官方资源LPC845-BRK 产品页、LPC84X 数据手册与用户手册。【免费下载链接】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),仅供参考
返回列表