ARTICLE DETAIL

资讯详情

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

深入解析 Zephyr 对 Intel Raptor Lake CRB(RPL-S / RPL-P)平台的支持:架构特性、板级配置与 UEFI 启动实战

深入解析 Zephyr 对 Intel Raptor Lake CRB(RPL-S / RPL-P)平台的支持:架构特性、板级配置与 UEFI 启动实战 深入解析 Zephyr 对 Intel Raptor Lake CRBRPL-S / RPL-P平台的支持架构特性、板级配置与 UEFI 启动实战【免费下载链接】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/intel/rpl/doc/index.rst 为骨架系统讲解 Raptor Lake Customer Reference BoardRPL CRB在 Zephyr RTOS 中的板级支持包括 Hybrid 大小核架构、S/P 两条处理器产品线的差异、intel_rpl_s_crb与intel_rpl_p_crb两块板卡的板级配置Kconfig / DTS / defconfig以及完整的构建 → 制作 UEFI 启动盘 → EFI Shell 引导实战流程。读完本文你将能独立在 RPL CRB 板卡上编译并启动一个 Zephyr 应用镜像。Raptor Lake 平台概览13 代酷睿的 Hybrid 架构Raptor LakeRPL是 Intel 第 13 代 64 位多核处理器采用 10 纳米制程工艺基于Hybrid 混合架构由 P-CorePerformance Core性能核与 E-CoreEfficiency Core能效核组合而成操作系统与调度器可以根据负载特性将任务分配到不同类型的核心上兼顾峰值性能与能效比。Zephyr 目前支持 Raptor Lake 的两条处理器产品线Raptor Lake S桌面平台2-Chip Platform双芯片平台封装内包含 Processor Die处理器芯片与 Platform Controller HubPCH-S 芯片。S 产品线支持两个版本的 PCH-S600 系列源自 ADLAlder Lake与 700 系列RPL 原生默认选择 600 系列修订版如需选择 700 系列修订版构建时板名应使用intel_rpl_s_crb700。Raptor Lake P移动平台2-Die Multi Chip Package双芯片多芯片封装MCP处理器 Die 与 PCH-P Die 位于同一封装内。RPL CRBCustomer Reference Board是这套平台的一个紧凑型单板计算机参考实现面向高性能 IoT 边缘设备场景。Zephyr 中对应的板卡名为intel_rpl_s_crb与intel_rpl_p_crb这些板级配置使内核能够完整支持上述 Raptor Lake 板卡详见 boards/intel/rpl/board.yml 中的 boards 定义以及 boards/intel/rpl/Kconfig.intel_rpl_s_crb 与 boards/intel/rpl/Kconfig.intel_rpl_p_crb 中select SOC_RAPTOR_LAKE的 SoC 关联。板卡支持的设备特性在标准 x86 架构设备HPET、Local APIC、I/O APIC 等之外Zephyr 针对 Raptor Lake 专用 SoC 设备提供了如下支持内容源自 soc/intel/raptor_lake/doc/supported_features.txt特性说明SMBusRaptor Lake 专用 SoC 设备之一Zephyr 提供 SMBus 驱动支持UART 串口Raptor Lake UART 与 NS16550 兼容uart0支持 115.2kbps 波特率结合板级 DTS 可以看到控制台的实际挂接情况。boards/intel/rpl/intel_rpl_s_crb.dts 中model intel_rpl_s_crbcompatible intel,raptor-lake-crbchosen节点将zephyr,sram指向dram0DT_DRAM_SIZE定义为 2048 MB即 2 GB DRAM并将zephyr,console与zephyr,shell-uart都指向uart_ec_0aliases将watchdog0指向tco_wdtTCO 看门狗rtc指向板载 RTC。板级内核配置解析时钟、ACPI、SMP 与 DMA系统时钟频率boards/intel/rpl/Kconfig.defconfig 按板卡分别配置系统硬件时钟频率RPL-S使用APIC_TSC_DEADLINE_TIMER或APIC_TIMER_TSC时SYS_CLOCK_HW_CYCLES_PER_SEC为2.4 GHzTSC 频率否则回退到19.2 MHzHPET / APIC。RPL-P同样条件下 TSC 为1.8 GHz默认回退同为19.2 MHz。中断与多核MP_MAX_NUM_CPUS默认 2双核启动APIC_TIMER时APIC_TIMER_IRQ默认 24APIC_TIMER_TSC时APIC_TIMER_TSC_M/APIC_TIMER_TSC_N分别为 3 / 249用于 TSC 与 APIC 时钟的换算ACPI默认开启y并随之将HEAP_MEM_POOL_ADD_SIZE_ACPI设为 64 MB、MAIN_STACK_SIZE设为 320000SHELL_STACK_SIZE亦为 320000ACPI 解析需要较大的堆与栈空间。外设与调试支持DMA开启时默认DMA_64BITy、DMA_DW_HW_LLIn、DMA_DW_CHANNEL_COUNT2UART_NS16550_INTEL_LPSS_DMA在 RPL-S 板卡上默认yBUILD_OUTPUT_STRIPPED默认yHAS_COVERAGE_SUPPORT默认y支持覆盖率测试。两块板卡的 defconfigintel_rpl_s_crb_defconfig 与 intel_rpl_p_crb_defconfig内容一致共同点包括CONFIG_PIC_DISABLEy # 禁用传统 PIC CONFIG_LOAPICy # 启用 Local APIC CONFIG_X2APICy # 启用 x2APIC CONFIG_SMPy # 启用对称多处理 CONFIG_CONSOLEy CONFIG_SERIALy CONFIG_UART_NS16550_VARIANT_NS16750y CONFIG_UART_CONSOLEy CONFIG_BUILD_OUTPUT_EFIy # 生成 EFI 启动镜像其中CONFIG_BUILD_OUTPUT_EFIy是能否通过 UEFI 启动的关键——构建完成后会自动在构建目录中生成名为zephyr.efi的 EFI 镜像文件。700 系列 PCH 修订版设备 ID 覆盖S 产品线默认选择 600 系列 PCH-S当需要在 700 系列RPL 原生 PCH上运行时构建时使用板名后缀700。Zephyr 通过 boards/intel/rpl/intel_rpl_s_crb_700.overlay 在设备树层面覆盖各外设的device-id例如SMBus0x7a23I2C0/I2C10x7a4cI2C20x7a4dI2C30x7a4eI2C40x7a7cI2C50x7a7dSPI0/SPI1/SPI20x7a2a/0x7a2b/0x7a7bUART0/UART1/UART20x7a28/0x7a29/0x7a7e。修订版机制在 board.yml 中有完整定义revision格式为 number默认值为600可选600与700。构建 Zephyr 应用以在 Raptor Lake S CRB 上构建hello_world为例west build -b intel_rpl_s_crb samples/hello_world要点说明使用intel_rpl_s_crb700作为板名即可切换到 700 系列 PCH 修订版构建完成后构建目录中会自动生成 EFI 镜像文件zephyr.efi该文件用于后续 UEFI 启动示例源码位于 samples/hello_world板卡定义位于 boards/intel/rpl。使用 UEFI 启动 RPL S CRB 板卡完整启动流程含前置准备源自 boards/intel/common/efi_boot.rst共分为准备启动设备与启动 Zephyr两个阶段。准备启动设备制作 FAT32 启动盘#. 将 USB 闪存盘格式化为FAT32Windows打开文件资源管理器右键点击 USB 闪存盘选择格式化...在文件系统中选择FAT32点击格式化并等待完成Linux可使用gparted等图形工具格式化为 FAT32也可以在终端中先确认 USB 闪存盘对应的设备节点例如/dev/sdd然后执行$ mkfs.vfat -F 32 device-node重要务必确认设备节点确实是 USB 闪存盘本身否则可能擦除系统上的其他存储设备导致系统无法使用。#. 将 Zephyr EFI 镜像文件zephyr/zephyr.efi复制到 USB 盘中。启动 Zephyr#. 将准备好的 USB 启动盘插入板卡。 #. 使用串口线将板卡连接到宿主机并在宿主机上配置串口监视波特率使用115200。 #. 给板卡上电。 #. 当串口出现以下输出时按下F7键Press DEL or ESC to enter setup.#. 在弹出的启动菜单中选择描述对应 EFI Shell 的菜单项。 #. 在 EFI Shell 中运行 Zephyr EFI 镜像Shell fs0:zephyr.efi#. 引导过程完成后Zephyr 应用镜像即启动成功。关于板卡的硬件连接与引脚说明可参考 Raptor Lake CRB 的官方硬件资料本仓库中 board.cmake 通过board_set_flasher_ifnset(misc-flasher)挂载了misc-flasher烧录器便于使用west flash工具链对板卡进行操作。小结Zephyr 对 Raptor Lake CRB 的支持覆盖了从 Hybrid 大小核平台、S/P 双产品线到具体板级配置时钟、APIC、ACPI、SMP、DMA、串口控制台与 UEFI 启动链路的完整栈。开发者只需掌握三件事即可上手用west build -b intel_rpl_s_crb或700修订版构建、将zephyr.efi放入 FAT32 启动盘、在 EFI Shell 中执行fs0:zephyr.efi。相关板级源码与文档均可在 boards/intel/rpl、soc/intel/raptor_lake 目录下进一步查阅。【免费下载链接】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),仅供参考
返回列表