ARTICLE DETAIL

资讯详情

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

Zephyr 下 NXP FRDM-MCXE31B 开发板实战指南:硬件特性、引脚映射、以太网与烧录调试

Zephyr 下 NXP FRDM-MCXE31B 开发板实战指南:硬件特性、引脚映射、以太网与烧录调试 Zephyr 下 NXP FRDM-MCXE31B 开发板实战指南硬件特性、引脚映射、以太网与烧录调试【免费下载链接】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/zephyrFRDM-MCXE31B 是 NXP 推出的一款基于 Arm Cortex-M7 内核 MCXE31B 微控制器的设计与评估平台在 Zephyr RTOS 中作为一级支持的目标板卡覆盖 GPIO、CAN、以太网、QSPI NOR Flash、Arduino 扩展头等典型嵌入式外设场景。本文以 boards/nxp/frdm_mcxe31b/doc/index.rst 为主体结合板级设备树、Kconfig 与构建脚本系统讲解该板的硬件资源、引脚功能表、以太网 PHY 连接、时钟配置以及从 LinkServer/J-Link 烧录调试到启用板载 W25Q64 QSPI Flash 的完整操作流程。板卡概述FRDM-MCXE31B 是围绕 NXP MCXE31B 微控制器设计的设计与评估平台。MCXE31B 基于 Arm Cortex-M7 内核最高运行频率 160 MHz供电范围 2.97 V 至 5.5 V兼顾高性能与宽电压应用场景。在 Zephyr 中该板的设备树模型为nxp,mcxe31bSoC 文件位于 soc/nxp 目录下板级定义见 frdm_mcxe31b.dts。核心硬件规格MCXE31B Arm Cortex-M7 微控制器最高 160 MHz4 MB 双 Bank 片上 Flash320 KB SRAM 192 KB TCM紧耦合内存2 路 I2C、6 路 SPI、16 路 UART板载 MCU-Link 调试器CMSIS-DAP 协议Arduino 排针接口与 mikroBUS 扩展接口板级 YAML 描述文件 frdm_mcxe31b.yaml 中记录了 RAM 288 KBram: 288、Flash 4096 KBflash: 4096架构为arm并声明了受支持的设备能力列表包括arduino_gpio、can、gpio、ptp_clock、rtc、dma、watchdog、adc、hwinfo、i2c、pwm、i2s、spi与netif:eth。支持的 Zephyr 功能与 ShieldZephyr 为每个板卡维护一张受支持功能表标明哪些设备子系统在默认配置下可用、哪些需要额外使能。对于 FRDM-MCXE31B该表由 frdm_mcxe31b.yaml 中的supported字段自动生成与设备树中status okay的外设节点一一对应。例如设备树中使能了flexcan_0CAN、emac以太网、lpuart_5串口、lpi2c_0I2C、lpspi_0SPI、adc_0ADC、pit_0/stm_0/counter_rtc定时器与 RTC、swt_0看门狗等。部分功能通过 Zephyr Shield 进行验证FRDM-MCXE31B 官方测试过的 Shield 为lcd_par_s035用于 Display 显示接口。该 Shield 的 MIPI_DBI 接口连接在板载 FlexIO 片上外设上对应设备树中 flexio 节点下的 zephyr_mipi_dbi_parallel兼容nxp,mipi-dbi-flexio-lcdif并通过 EDMA 通道 0 传输数据dmas edma 0 33同时定义enwr-pin、rd-pin、data-pin-start等 FlexIO 引脚参数。连接与 GPIOGPIO 双 Bank 结构MCXE31B 的每个 GPIO 端口分为两个 Bank低 Bankpin 015与高 Bankpin 1631。例如PTA2对应gpioa_l低 Bank的第 2 脚而PTA20对应gpioa_h高 Bank的第 4 脚。这种命名规则在设备树 LED 节点中体现得很直接例如红色 LED 使用gpioc_h 0蓝色 LED 使用gpioc_l 14见 frdm_mcxe31b.dts。GPIO 中断路由GPIO 控制器支持将外部输入引脚中断路由到 SIUL2 EIRQ 或 WKPU 两个中断控制器具体以 SoC 支持为准。默认情况下GPIO 中断路由到 SIUL2 EIRQ 中断控制器如需显式指定到 WKPU 中断控制器则按绑定文档 dts/bindings/gpio/nxp,siul2-gpio.yaml 中的说明进行配置。至于哪些 GPIO 兼容哪一个中断控制器需查阅器件参考手册确认。设备树中eirq0节点即为 EIRQ 实例frdm_mcxe31b.dts。板级引脚功能表下表汇总了 FRDM-MCXE31B 上主要引脚的功能与用途NameFunctionUsagePTC16GPIORed LEDPTB22GPIOGreen LEDPTC14GPIOBlue LEDPTE3LPUART5_RXUART ConsolePTE14LPUART5_TXUART ConsolePTA7FLEXCAN0CAN0 TXPTA6FLEXCAN0CAN0 RXPTB4EMACEthernet MDIOPTB5EMACEthernet MDCPTC0EMACEthernet RMII RXD1PTC1EMACEthernet RMII RXD0PTC2EMACEthernet RMII TXD0PTC3GPIOEthernet PHY resetPTC17EMACEthernet RMII RX_DVPTD7EMACEthernet RMII TXD1PTD11EMACEthernet RMII REF_CLKPTD12EMACEthernet RMII TX_EN在设备树中LED 与用户按键的别名定义在 frdm_mcxe31b.dtsled0/led1/led2分别对应红/绿/蓝三色 LED均GPIO_ACTIVE_LOW低电平点亮sw0对应用户按键 SW3gpiod_l 5此外还预置了rtc、watchdog0、accel0板载 NXP FXLS8974 加速度计I2C 地址 0x18见 frdm_mcxe31b.dts等别名。以太网FRDM-MCXE31B 板载 Microchip LAN8741 10/100 Mbit/s 以太网 PHYMDIO 地址为 0通过 RMII 接口与 MCXE31B 的 EMAC 连接。该 EMAC 是 Synopsys DesignWare Ethernet QoS 内核由通用 drivers/ethernet/dwc_mac 驱动承载而非基于 NXP HAL 的eth_nxp_enet_qos驱动。PHY 提供 50 MHz RMII 参考时钟SoC 通过PTD11引脚接收该时钟并二分频后作为 MAC 侧 MII 时钟。驱动本身也支持 MII 模式通过phy-connection-type属性选择但本板硬件按 RMII 布线。设备树中的对应配置见 frdm_mcxe31b.dtsemac节点设置phy-connection-type rmii并引用eth_phymdio节点下的 PHY 节点ethernet-phy0定义复位引脚为gpioc_l 3低电平有效复位断言 25000 µs释放等待 25 ms。板级 YAML 中的netif:eth即对应此功能。系统时钟MCXE31B SoC 配置为使用 PLL 作为系统时钟源目标频率 160 MHz。设备树中相关配置如下frdm_mcxe31b.dtscore0clock-frequency DT_FREQ_M(160)fxosc外部晶振 16 MHz晶体模式workmode crystalpll整数模式workmode Integerprediv 2、postdiv 2、multiplier 120、outdiv 3 3mc_cgm时钟生成模块clk-src-freq 160000000并配置各 mux 分频值串口与控制台板级控制台使用 MCXE31B 的 LPUART5对应引脚 PTE3RX/ PTE14TX。设备树中chosen节点将zephyr,console与zephyr,shell-uart均指向lpuart_5frdm_mcxe31b.dts波特率配置为 115200并通过 EDMA 通道 20/21 实现 DMA 收发dmas edma 20 44, edma 21 45见 frdm_mcxe31b.dts。板级 defconfig frdm_mcxe31b_defconfig 中使能了CONFIG_CONSOLE、CONFIG_UART_CONSOLE、CONFIG_SERIAL、CONFIG_GPIO、CONFIG_UART_INTERRUPT_DRIVEN以及 Flash 保护选项CONFIG_SOC_FLASH_MCUX_C40_APPLY_PROTECTION。编程与调试FRDM-MCXE31B 支持通过多种 runner 进行烧录与调试。构建和烧录应用的方式与 Zephyr 标准流程一致参见构建应用与运行应用的通用文档。board.cmake 中声明了两个 runnerlinkserver默认 runner设备参数MCXE31B:FRDM-MCXE31Bjlink设备参数MCXE31B配置调试探针本板默认使用板载 MCU-Link CMSIS-DAP 调试探针进行烧录与调试。使用 LinkServer默认LinkServer 是本板的默认 runner兼容出厂固件的 MCU-Link。若板载调试电路固件被改动过需先按 MCU-Link CMSIS-DAP 板载调试探针的说明重新烧写默认 MCU-Link 固件烧写固件前需将板卡置于 ISP 模式——短接跳线 JP3。使用 J-Link有两种方式将板载调试电路更新为 Segger J-Link 固件按 MCU-Link J-Link 板载调试探针说明操作。烧写固件前同样需要短接 JP3 进入 ISP 模式。外接 J-Link 调试探针连接板上的 10-pin SWD 连接器J14。两种方式均使用-r jlink指定 jlink runnerwest flash -r jlink配置串口终端将 USB 线从 PC 连接到板上的 J13 接口使用任意串口终端软件minicom、putty 等参数如下波特率115200数据位8校验位None停止位1烧录示例以hello_world示例为例west build -b frdm_mcxe31b samples/hello_world west flash打开串口终端并复位开发板按下 RESET 按键即可看到如下输出*** Booting Zephyr OS build v4.2.0-2092-g17e93a718422 *** Hello World! frdm_mcxe31b/mcxe31b调试示例仍以hello_world为例启动调试会话west build -b frdm_mcxe31b samples/hello_world west debug打开串口终端在调试器中单步执行应用终端中会输出与烧录示例相同的启动信息。疑难排查若在烧录或调试中遇到异常可参考 Zephyr 文档中 Segger SystemView / ECC 相关说明segger-ecc-systemview.rst.inc进行排查。板载 QSPI FlashFRDM-MCXE31B 板载一颗 Winbond W25Q6464 MbitQSPI NOR Flash。QSPI 的数据与时钟信号默认未连接到 Flash因此默认板卡目标中w25q64节点处于禁用状态只有通过w25q64板卡修订版本才能启用。注意要使用板载 QSPI Flash需要先完成硬件返工——焊上电阻 R126、R128、R129、R130、R131 和 R133并移除电阻 R153 和 R154。返工完成后针对frdm_mcxe31bw25q64修订版本构建 MSPI Flash 示例samples/drivers/mspi/mspi_flash进行验证west build -b frdm_mcxe31bw25q64 samples/drivers/mspi/mspi_flash west flash该修订版本的机制可以从仓库文件得到印证board.yml 定义了default与w25q64两个修订版本revision.cmake负责校验BOARD_REVISION是否合法frdm_mcxe31b_w25q64.overlay 将flash0与mspi0别名指向w25q64/qspi节点并把两个节点置为okayfrdm_mcxe31b_w25q64.yaml 在默认支持列表基础上新增了mspi能力设备树 frdm_mcxe31b.dts 中qspi节点默认disabled时钟频率 40 MHzw25q64节点采用jedec,nor兼容64 MB、页大小 128 字节、JEDEC IDef 40 17、MSPI_IO_MODE_QUAD_1_1_4四线模式并内嵌了完整的 SFDP 参数。小结FRDM-MCXE31B 在 Zephyr 中是一块外设覆盖相当全面的评估板160 MHz Cortex-M7 内核、4 MB 双 Bank Flash、板载以太网 PHYRMII、CAN、多路 UART/SPI/I2C、Arduino 与 mikroBUS 扩展接口加上默认的 LinkServer 调试链路与可选的 J-Link/J-Link 固件方案适合作为 MCXE 系列 SoC 驱动开发、网络协议栈验证与显示方案评估的硬件平台。配套的板级设备树、YAML 支持表与修订版本机制frdm_mcxe31bw25q64为二次开发提供了清晰、可复现的参考模板。【免费下载链接】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),仅供参考
返回列表