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

资讯详情

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

Zephyr 开发实战:Microchip MEC15xxEVB ASSY6853 评估板硬件解析与 SPI 镜像烧录指南

Zephyr 开发实战:Microchip MEC15xxEVB ASSY6853 评估板硬件解析与 SPI 镜像烧录指南 Zephyr 开发实战Microchip MEC15xxEVB ASSY6853 评估板硬件解析与 SPI 镜像烧录指南【免费下载链接】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 仓库中 boards/microchip/mec15xxevb_assy6853/doc/index.rst 为核心依据系统讲解 MEC15xxEVB ASSY6853 评估板的硬件组成、跳线配置、时钟与串口设定以及基于 Dediprog SF100 编程器 SPI Dongle 的完整烧录流程。读完本文你将掌握该板卡的板级配置细节含 DTS 源码佐证、Boot-ROM SPI 镜像的生成与烧录方法以及常见故障的排查思路。板卡概览面向 EC 应用的 MEC15xx 评估平台MEC15xxEVB ASSY6853 是 Microchip 推出的评估开发套件用于评估MEC15XX 系列微控制器。MEC15XX 系列是面向笔记本/台式机 Embedded ControllerEC应用的高集成度 MCU片上集成了键盘扫描、eSPI、PECI、PS/2、FAN PWM 与转速采集等 EC 典型外设。需要特别注意的是该评估板必须与子卡配合使用主板需要与料号MEC1501 144WFBA SOLDER DC ASSY 6860CPU 板对接后才能运行。同时文档明确说明MEC152x 已取代 MEC1501 进入量产MEC152x 与 MEC150x 功能相同唯一的区别是增强了 Boot-ROM SPI loader其SPI 镜像格式已更新需要新的 SPI 镜像生成工具MEC1501 与 MEC152x 的 SPI 镜像格式互不兼容但两者的评估板与 CPU 板硬件互相兼容。从仓库的板级元数据看board.yml 声明该板厂商为microchipSoC 为mec1501_hszmec15xxevb_assy6853.dts 中compatible microchip,mec15xxevb_assy6853, microchip,mec1501hsz与之对应并定义了model Microchip MEC15XXEVB_ASSY6853 evaluation board。硬件资源一览该评估板搭载MEC1521HA0SZ ARM Cortex-M4 处理器主要硬件特性如下完整继承自官方文档256 KB RAM 与 64 KB 启动 ROM键盘接口Keyboard interfaceADC 与 GPIO 扩展排针UART0、UART1、UART2 三路串口FAN0 / FAN1 / FAN2 风扇接口排针FAN PWM 接口JTAG/SWD、ETM 与 MCHP Trace 调试端口PECI 3.0 接口I2C 电平转换器10 个 SMBUS 排针4 个 SGPIO 排针VCI 接口5 路独立、硬件驱动的 PS/2 端口eSPI 排针3 颗呼吸/闪烁 LEDBreathing/Blinking LEDs2 个 SPI NOR 芯片座1 个复位按钮与 1 个 VCC_PWRGD 按钮1 路外部PCA9555 I/O 扩展芯片I2C 地址可通过跳线选择1 路外部LTC2489 Δ-Σ ADCI2C 地址可通过跳线选择板级供电跳线可选5V 2.1mm/5.5mm 桶形连接器或USB Micro A 连接器更多 SoC 细节请参阅MEC152x 参考手册见文档末尾 References 部分。支持的 Zephyr 功能文档通过.. zephyr:board-supported-hw::指令自动渲染受支持的功能列表。结合仓库中的设备树源码可以确认该板已启用并配置的外设包括见 mec15xxevb_assy6853.dtsUART2uart2115200 baud作为 Zephyr console 与 shellADC0ADC04~ADC07 与 VREF2 引脚I2C/SMBUSi2c_smb_0、i2c_smb_1、i2c_smb_2其中 I2C01 上挂载 NXP PCA9555地址 0x26eSPI0配置了 IO-GIRQ 19、VW-GIRQs 24/25、PC-GIRQ 15 及完整 8 线 pinctrlPS/2ps2_0、ps2_1两路均带 sleep 态 pinctrlPWM0、键盘控制器 kbd08×16 矩阵、PECI0、SPI0SHD SPIport-sel 0、单线模式、TACH0风扇转速采集板卡硬件组成整套评估板由以下硬件模块构成对应文档中的原理图引用MEC15xx EVBASSY 6853 Rev A主板MEC1501 144WFBA SOLDER DC ASSY 6883MEC152x 硅片子卡SPI DONGLE ASSY 6791SPI 烧录适配器用于烧写板载 SPI NOR系统时钟与串口配置系统时钟MEC1521 使用48 MHz 内部振荡器 片内 PLL最终产生12 MHz 的 EC 时钟频率。相关寄存器为数据手册第 4 章 4.0 POWER, CLOCKS, and RESETS 中的 Processor clock control register。串口UART2 被配置为串口日志输出。在设备树中对应配置为uart2 { status okay; current-speed 115200; pinctrl-0 uart2_tx_gpio146 uart2_rx_gpio145; pinctrl-names default; };见 mec15xxevb_assy6853.dts。同时chosen节点将zephyr,console与zephyr,shell-uart均指向uart2确保printk/shell 输出走 UART2。板级 defconfigmec15xxevb_assy6853_defconfig则启用了CONFIG_SOC_MEC1501_VTR3_1_8V、时钟控制、UART 控制台与 GPIO 等基础配置。跳线设置指南以下跳线设置针对MEC15xx EVB Assy 6853 Rev A1p0用于正确演示板卡功能。高级用户可以偏离此推荐配置但请自行评估风险。电源相关跳线使用5V 电源适配器供电连接桶形连接器P115.5mm 外径 / 2.1mm 内径并将跳线移至JP88 5-6使用micro-USB 型 A/B 连接器P12供电将跳线移至JP88 7-8。注意JP88 上必须且只能安装一枚跳线A single jumper is required in JP88。常规配置跳线全部置于 1-2以下跳线组用于配置 VCC Power good、nRESETI 与 JTAG_STRAP 等信号默认全部短接 1-2JP22JP32JP33JP37JP43JP47JP54JP56JP58JP64JP651-21-21-21-21-21-21-21-21-21-21-2JP72JP73JP76JP79JP80JP81JP82JP84JP87JP891-21-21-21-21-21-21-21-21-21-2JP90JP91JP100JP101JP1181-21-21-21-22-3其中特殊功能跳线的含义如下表跳线功能设置JP5VCC Power good1-2JP4nRESETI1-2JP45JTAG_STRAP2-3Boot-ROM 拉带Boot-ROM Straps以下跳线配置MEC1501 Boot-ROM 拉带跳线功能设置JP93CMP_STRAP2-3JP11CR_STRAP1-2JP46VTR2_STRAP2-3JP96BSS_STRAP1-2JP96 1-2将 SHD SPI CS0# 上拉到 VTR2。MEC1501 Boot-ROM 会采样 SHD SPI CS0#若为高电平则从SHD SPI加载代码——这正是后续通过 SPI Dongle 烧录 SPI NOR 后能够启动固件的硬件基础。外设路由跳线Peripheral Routing Jumpers下表中每一列分别用于使能 UART2、SWD、PVT SPI、SHD SPI 与 LED0-2 对应的引脚路由JP48 (UART2)JP9 (UART2)JP9 (SWD)JP38 (PVT SPI)JP98 (SHD SPI)JP41 (LED0-2)1-22-32-32-31-24-54-55-65-63-47-88-98-98-95-610-1110-1111-1211-1214-1514-1517-1820-21注意启用 UART2 时请确保JP39上 1-2、3-4 均已安装跳线。 为接收 UART2 串口输出请按下图确认JP9已配置为 UART2 输出模式。ASSY 6883 子卡MEC1501 144WFBGA Socket DC Rev B1p0的 32KHz 时钟跳线上述跳线配置覆盖主板。ASSY 6883 MEC1501 CPU 板提供可选的外部 32KHz 时钟源能力板上自带 32KHz 晶振也可配置为在 XTAL2/32KHZ_IN 引脚上使用外部 50% 占空比的 32KHz 信号源。注意固件必须在 MEC15xx 时钟使能寄存器中选择与跳线设置匹配的时钟源。如果使用 MEC15xx 内部硅振荡器则 32K 跳线设置无关紧要。JP1用于示波器观测测试时钟输出。并行 32KHz 晶振配置JP2JP31-22-3外部 32KHz50% 占空比配置JP2JP3NC1-2ASSY 6856 子卡MEC1503 144WFBGA Socket DC Rev B1p0说明MEC1503 ASSY 6856 CPU 卡不包含板载外部 32K 晶振或振荡器。唯一的跳线块JP1仅用于示波器观测测试时钟输出不用于配置。编程与调试SPI 镜像烧录完整流程该板通过将固件写入板载 SPI NOR 芯片来启动Boot-ROM 从 SHD SPI 加载代码因此烧录流程围绕SPI 镜像生成 SPI 编程器展开。Zephyr 构建系统会为板卡注册dediprogflasher见 board.cmake其中指定--spi-image${PROJECT_BINARY_DIR}/${SPI_IMAGE_NAME}与--vcc0即使用 3.5V 烧录电压。第一步准备 Dediprog SF100 编程器若使用Dediprog SF100 编程器先完成其环境设置Windows 版本可在 SF100 产品页面获取Linux 版本源码可从 SF100 Linux GitHub 仓库获取并按照 SF100 Linux 手册完成安装。Linux 用户务必把SF100Linux目录下的60-dediprog.rulesudev 规则文件复制到/etc/udev/rules.d原文为 rules.s 或 rules.d然后重启 udev 服务$ udevadm control --reload将dpcmdLinux或dpcmd.exeWindows所在目录加入系统PATH。第二步获取 SPI 镜像生成工具克隆MEC152x SPI Image Gen仓库或直接下载该目录中的文件若使用预生产 MEC150x芯片则使用MEC150x SPI Image Gen仓库。将镜像生成工具纳入 Zephyr 构建有两种方式加入PATH或设置环境变量EVERGLADES_SPI_GENexport EVERGLADES_SPI_GENpath to tool/everglades_spi_gen_RomELinux 与 Windows 下的工具文件名不同预生产 MEC1501 SoC 对应工具为everglades_spi_gen_lin64。第三步可选自定义 SPI 镜像配置文件如需覆盖默认配置可指定自定义 SPI 镜像配置文件export EVERGLADES_SPI_CFGcustom_spi_cfg.txt若不设置构建系统默认使用板卡自带的 support/spi_cfg.txt。该文件包含两组 IMAGE 段关键参数解析如下SPISizeMegabits 4SPI NOR 容量 4 MbitImageLocation 0x10000 / 0x20000两组镜像在 SPI 中的存放偏移SpiFreqMHz 24 / 12镜像 0 按 24 MHzDual 读命令读取镜像 1 按 12 MHzSingle 读命令读取FwBinFile zephyr.bin固件源文件即构建产物zephyr.binFwLoadAddress 0xE0000固件加载地址UseECDSA false/FwEncrypt false默认不启用签名与加密示例中的密钥文件仅为配置模板字段。构建系统集成逻辑见 boards/microchip/mec15xxevb_assy6853/CMakeLists.txt它优先读取EVERGLADES_SPI_GEN环境变量否则按平台在PATH中查找everglades_spi_gen_lin64Linux或everglades_spi_gen.exeWindows工具可用时会追加一条 post-build 命令everglades_spi_gen -i cfg -o build/spi_image.bin从而在构建阶段自动生成 SPI 镜像。第四步硬件接线Wiring将SPI Dongle ASSY 6791连接到 EVB 的J44接口将编程器连接到 Assy6791 板上的J6排针它将烧写 SPI NOR 芯片U3。请确保编程器的偏移地址为 0x0。烧录可使用 Dediprog SF100 或同类 SPI 烧录工具。关键注意Dediprog 排针上的 SPI MISO/MOSI 是交换的必须用独立导线将 Dediprog 引脚与 Assy6791 SPI 板的引脚按下表连接Dediprog 连接器Assy6791 J6 连接器VCC1GND2CS3CLK4MOSI5MISO6注意表中 MISO/MOSI 与引脚 5/6 的交叉对应关系这是本步骤最常见的错误来源。将 MEC15xxEVB_ASSY_6853 板的UART2 端口通过 RS232 线缆连接到主机。通过 micro-USB 线缆为板卡供电并在JP88 7-8之间安装跳线以选择该供电方式完成后的最终接线应如下图所示第五步构建Building像平常一样构建hello_world示例west build -b mec15xxevb_assy6853 samples/hello_world若构建系统能找到镜像生成工具将生成spi_image.bin文件位于构建目录该二进制镜像即可用于烧写 SPI 芯片。第六步烧录Flashing在第一个终端中运行终端程序监听串口输出。Linux 下设备通常为/dev/ttyUSB0请勿关闭该终端。例如$ minicom -D /dev/ttyUSB0 -o-o选项让 minicom 不发送 modem 初始化字符串。连接参数配置为波特率115200数据位8校验None停止位1在第二个终端窗口中用west烧录板卡建议将两个终端分屏以便同时观察$ west flash注意west进程启动后请按下 Reset 按钮并保持按住直到整个west进程成功结束。替代方案如果不想每次按 Reset可在west flash编程期间断开 SPI Dongle ASSY 6791 与 EVB 的连接烧录完成后再插回J44接口并重新上电效果相同。你应在第一个终端看到输出Hello World! mec15xxevb_assy6853。如果没看到按一下 Reset 按钮消息即会出现。调试Debugging该板配备Cortex ETM 端口可通过单一物理连接完成跟踪与调试此外还带有仅支持 JTAG 会话的插座。故障排查Troubleshooting若应用未运行请确认LED7、LED8、LED1三颗 LED 均已点亮只要有其一熄灭请重新检查电源相关跳线。若无法用 Dediprog 编程请将 Assy6791 从主板 Assy6853 上断开后重试。若 Dediprog 无法检测到板载 flash请按下板卡 Reset 按钮后重试。扩展实践在 I2C01 上测试 PCA9555板载 NXPPCA95xxPCA9555PWI2C 从设备连接到I2C00 端口但I2C00 与用于串口日志的 UART2 RS232-TTL 转换器共用引脚因此无法同时使用 UART2 与 I2C00。要改在 I2C01 端口上测试需按下表调整跳线JP99 1-2连接将 I2C01_SDA 从 CPU 接到排针 J5JP99 13-14连接将 I2C01_SCL 从 CPU 接到排针 J5JP25 21-22连接I2C01_SDA 外部上拉JP25 23-24连接I2C01_SCL 外部上拉JP44.1 ↔ J5.1连接将 NXP PCA95xx 接入 I2C01JP44.3 ↔ J5.3连接将 NXP PCA95xx 接入 I2C01从设备树看PCA9555 挂载在i2c_smb_1port-sel 1上地址为0x26其地址由JP53决定1-2 A03-4 A15-6 A2地址格式0100A2A1A0b默认 JP53 短接 1-2得到 0x26见 mec15xxevb_assy6853.dts。板级支持源码导读若想深入了解该板在 Zephyr 中的实现可继续研读以下仓库文件mec15xxevb_assy6853.dts外设使能、chosen/aliases节点、LED 定义GPIO153/156/157低电平有效与各外设 pinctrl 绑定mec15xxevb_assy6853-pinctrl.dtsiUART/ADC/I2C/eSPI/PS2/PWM/键盘/PECI/SPI/TACH 等引脚的引脚复用与 sleep 态定义mec15xxevb_assy6853_defconfigSoC 电压档VTR3 1.8V、时钟控制、串口控制台与 GPIO 使能board.cmake 与 CMakeLists.txtdediprog flasher 注册与 SPI 镜像后处理命令support/spi_cfg.txt默认 SPI 镜像布局双镜像、频率、读命令等。参考资料官方文档末尾列出了以下参考资料可依据对应名称检索MEC1501 与 MEC152x 的数据手册/参考手册、MEC15xx EVB ASSY 6853 主板原理图、MEC1501 子卡ASSY 6883原理图、MEC1503 子卡ASSY 6856原理图、SPI Dongle ASSY 6791 原理图以及 MEC152x/MEC150x SPI 镜像生成工具与 Dediprog SF100 的相关手册。所有跳线、接线与寄存器细节请以这些原理图与数据手册为准。【免费下载链接】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),仅供参考
返回列表