Zephyr 在 Qualcomm QCC744M EVK(qcc744m_evk)评估板上的构建、烧录与串口调试实战指南 📅 发布时间:2026/9/20 15:46:25 👁 浏览次数: Zephyr 在 Qualcomm QCC744M EVKqcc744m_evk评估板上的构建、烧录与串口调试实战指南【免费下载链接】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/zephyrQualcomm QCC744M 评估板Zephyr 板卡标识qcc744m_evk是一块以 QCC744-2 SoC 为核心的三模无线电开发平台支持 Wi-Fi 6、Bluetooth 5.4 与 IEEE 802.15.4Thread / Zigbee 就绪其控制核心为最高 320 MHz 的 32 位 RISC-V MCU。本文以仓库内官方板卡文档 boards/qcom/qcc744m_evk/doc/index.rst 为主体结合 Zephyr 仓库中该板卡的设备树、Kconfig 与 SoC 定义源码完整讲解在qcc744m_evk上从编译 hello_world、借助 Qualcomm QConn Flash 工具烧录固件到通过串口验证系统运行的端到端流程并深入剖析其 Flash 分区布局、串口引脚复用与底层 SoC 归属帮助你快速把这套三模无线平台跑起来。硬件概览QCC744M 模块与 QCC744-2 SoCqcc744m_evk板卡的核心硬件构成如下QCC744M 模块板载一颗QCC744-2 SoC配套4MB PSRAM与一颗8MB 外部 Flash 芯片具体型号为 GT25Q64A见后文设备树。QCC744-2 SoC集成1x1 Wi-Fi 6、Bluetooth 5.4和IEEE 802.15.4Thread 与 Zigbee 就绪的三模无线电由一颗最高主频320 MHz的32 位 RISC-V MCU驱动。该芯片基于、且与Bouffalolab博通集成BL61x 系列芯片基本等价。这一点在源码层面得到了直接印证板级设备树 qcc744m.dtsi 通过#include bflb/bl618.dtsi直接复用 BL618 的 SoC 级设备树同时以compatible qcom,qcc744声明自身兼容标识在 soc/bflb/soc.yml 中bl618m05q2i正是 bflb 厂商bl61x系列下的一个 SoC 条目而板卡元数据 board.yml 声明的 SoC 也正是bl618m05q2i。Zephyr 板卡文档中罗列的 Qualcomm QCC74x 硬件参考资料Datasheet、Programming Manual、EVK Quick Start Guide、SDK 与原理图均可从 Qualcomm 官方文档门户获取其中QCC74x SDK 还提供了本文烧录环节必需的 QConn Flash 工具。板级支持情况Supported Features根据 qcc744m_evk.yaml该板卡的正式支持情况如下属性值板卡标识qcc744m_evk名称QCC744M Evaluation Kit类型mcu架构archriscvRAM320 KB工具链zephyr厂商qcom支持的驱动/子系统gpio、pinctrl、uart、dma、i2c、spi、flash测试方面仓库将该板卡的测试配置为忽略net与bluetooth标签testing.ignore_tags表明无线功能相关测试默认不在此板卡上自动执行。串口Serial Portqcc744m_evk将UART0作为默认串口它连接至板载USB 转串口芯片CH347该接口同时承担程序烧录与控制台输出两种职责控制台波特率为115200参数为8 数据位 / 无校验 / 1 停止位8N1。从设备树 qcc744m.dtsi 可以看到 UART0 节点被显式使能status okay并通过current-speed 115200设定速率同时配置了default与sleep两套引脚复用状态默认状态qcc744m-pinctrl.dtsiGPIO22复用为UART0_RX、GPIO21复用为UART0_TX启用上拉bias-pull-up与施密特输入input-schmitt-enable休眠状态同一组引脚切换为高阻bias-high-impedance以在低功耗模式下释放总线。在chosen节点中UART0 同时被指定为控制台zephyr,console与 Shell 串口zephyr,shell-uart板级 defconfig qcc744m_evk_defconfig 也相应开启了CONFIG_CONSOLE、CONFIG_SERIAL、CONFIG_UART_CONSOLE。构建示例Samples使用 west 构建 hello_world在 Zephyr 开发环境已通过 west 初始化本仓库并安装工具链中执行west build -b qcc744m_evk samples/hello_world其中-b qcc744m_evk指定目标板卡构建系统会据此加载 boards/qcom/qcc744m_evk 目录下的板级定义samples/hello_world为示例应用路径仓库中对应 samples/hello_world若需指定构建目录可追加-d build-dir参数。构建完成后产物zephyr.bin位于构建目录下默认build/zephyr/zephyr.bin它是后续烧录环节要使用的固件镜像。编程与烧录Programming and Debugging关于 west flash 的限制west flash目前无法直接对 QCC74x MCU 进行烧录。当前仓库中该板卡也没有可用的 west flash runner 配置因此必须借助 Qualcomm QCC74x SDK 中提供的QConn Flash上位机工具完成烧录。使用 QConn Flash 烧录固件从 QCC74x SDK 获取并打开 QConn Flash 后按以下步骤操作打开QConn Flash切换到Flash Utils标签页选择正确的Flash 端口与接口即板载 USB 转串口对应的设备节点让板卡进入Flash 模式按住左侧 BOOT 按钮的同时按下 RESET右侧按钮在Flash Program中浏览 SDK 自带的引导固件bsp/board/qcc744dk/config/boot2_qcc743_isp_release_v8.1.9.bin将地址设为 0x0点击Download按钮下载引导固件再次让板卡进入Flash 模式重复步骤 4在Flash Program中浏览构建产物zephyr.bin将地址设为 0x2000再次点击Download按钮。分区与烧录地址的对应关系烧录地址 0x0 与 0x2000 并非随意取值它们与 qcc744m.dtsi 中的 Flash 分区布局一一对应。该板把 8MB 外部 FlashGT25Q64Acompatible bflb,sf-flash, soc-nv-flash划分为三个区域分区标签起始地址大小属性boot_headerboot_header0x000000000x20008KB只读read-onlyslot0_partitionimage-00x000020000x00200000 - 0x2000约 2MB只读read-onlystorage_partitionstorage0x002000000x6000006MB读写0x0 处的 boot_header存放 SDK 的boot2_qcc743_isp_release_v8.1.9.bin引导固件chosen节点中的zephyr,code-partition指向的正是slot0_partition即 Zephyr 应用镜像应被放置于 0x2000 偏移处——这与烧录步骤中 zephyr.bin 的地址 0x2000 完全吻合。引导固件只需烧录一次一旦 0x0 地址的引导固件写入成功后续烧录应用固件时无需重复烧录除非包含该区域的 Flash 空间被整体擦除。zephyr,flash指向gt25q64azephyr,flash-controller指向sf_bank1存储分区storage可用于文件系统、Settings 或 NVS 等运行时数据。连接终端并验证运行串口终端参数烧录完成后使用任意终端软件连接串口。在 Linux 下设备节点为/dev/ttyACM1例如$ screen /dev/ttyACM1 115200连接参数固定为波特率Speed115200数据位Data8 bits校验ParityNone停止位Stop bits1复位与启动输出连接终端后按下并松开 RESET 按钮即可观察到 Zephyr 的启动横幅与 hello_world 输出*** Booting Zephyr OS build v4.3.0 *** Hello World! qcc744m_evk/bl618m05q2i第二行中的qcc744m_evk/bl618m05q2i正是板卡名/SoC名的拼接其中 SoC 名bl618m05q2i与 board.yml 中的socs.name字段一致进一步印证了 QCC744-2 与 BL61x 系列之间的血统关系。看到该输出即代表qcc744m_evk已成功配置并运行 Zephyr。源码级补充板卡定义与 SoC 归属从源码结构看qcc744m_evk的板级支持是Zephyr 板级抽象 Bouffalolab BL61x SoC 支持的组合板级 KconfigKconfig.qcc744m_evk通过config BOARD_QCC744M_EVK并select SOC_BL618M05Q2I将板卡绑定到 BL618M05Q2I SoCSoC 定义SOC_BL618M05Q2I位于 soc/bflb/bl61x/Kconfig.soc而 soc/bflb/soc.yml 将其归入 bflb 厂商bl61x系列SoC 级设备树板级 qcc744m.dtsi 复用bflb/bl618.dtsi在此基础上将 CPU 主频声明为 320 MHzclock-frequency DT_FREQ_M(320)并配置 Flash 控制器采用override-bank1与no-header模式、clk_flash分频系数为 2板级外设使能qcc744m_evk.dts 使能了i2c0标准速率 100kHzI2C_BITRATE_STANDARD与spi0并定义了一个 GPIO 按键sw0GPIO0_2需移除 CH347 DTR1 跳线后使用可作为交互输入或唤醒源构建辅助目录下的board.cmake、pre_dt_board.cmake与 support/openocd.cfg 提供了板级构建集成与调试器配置参考。结合上述源码证据可以推断QCC744M 评估板在 Zephyr 中的定位是以 Qualcomm QCC74x 三模无线能力为卖点、复用成熟 BL61x RISC-V 软件生态的 MCU 级板卡。对开发者而言这意味着在编写与无线功能Wi-Fi / BLE / 802.15.4相关的应用时需要结合 QCC74x SDK 侧的能力而通用外设GPIO、UART、I2C、SPI、DMA、Flash则完全由 Zephyr 原生驱动栈接管这也是该板卡当前测试配置排除 net 与 bluetooth 标签的原因。【免费下载链接】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),仅供参考