基于Qualcomm QCS6490与OpenWRT的开发编译准备、过程及注意事项
Qualcomm QCS6490(以下简称QCS6490)是一款面向边缘AI和IoT的Armv8 SoC(基于Kryo CPU、Adreno GPU和Hexagon DSP),常用于开发套件如RB3 Gen 2。该芯片支持Linux,但OpenWRT官方暂无现成支持(OpenWRT主要针对路由器/嵌入式设备,QCS6490更偏向AI边缘计算)。因此,需要进行自定义端口(porting),整合Qualcomm的BSP(Board Support Package)和内核驱动。这是一个中等复杂度的开发任务,可能需数周时间,建议有Linux内核和嵌入式经验。
您的设备描述(双RJ45口、USB3.0/USB2.0、HDMI、VGA等接口)与RB3 Gen 2类似(标准配置包括1x Gigabit Ethernet、2x USB3.0、1x USB2.0、HDMI 2.0输出;双RJ45可能需PCIe扩展或自定义板载以太网控制器)。以下基于Qualcomm Linux构建指南、OpenWRT端口文档和社区经验总结。
1. 准备工作
硬件准备
- 开发板:使用Qualcomm RB3 Gen 2开发套件(或兼容QCS6490的自定义板)。确认接口:
- 双RJ45:标准RB3 Gen 2有1x GbE(Qualcomm Atheros Ethernet MAC),双口需外部PCIe-to-Ethernet芯片(如QCA808x),并在DTS(Device Tree Source)中配置。
- USB3.0/USB2.0:SoC内置DWC3控制器,支持OTG/主机模式。
- HDMI:通过MSM DRM驱动支持(分辨率至4K)。
- VGA:无原生支持,需HDMI-to-VGA适配器或外部转换芯片(如ADV7611),在用户空间配置。
- 存储:eMMC(16GB+)或microSD卡,用于刷写镜像。
- 调试工具:串口线(UART,3.3V TTL)、JTAG调试器(可选)、电源适配器(12V/2A)。
- 测试设备:网线、USB设备、显示器,用于验证接口。
软件准备(主机环境)
- 操作系统:Ubuntu 20.04 LTS或22.04(64位,推荐虚拟机或专用主机,至少16GB RAM、100GB+磁盘空间)。
- 安装依赖包(OpenWRT构建必需):
sudo apt update sudo apt install git subversion build-essential libncurses5-dev zlib1g-dev gawk gettext libssl-dev xsltproc libxml-parser-perl unzip python3 python3-distutils file wget liblzma-dev libelf-dev- 这些包支持交叉编译工具链(toolchain)。
- Qualcomm资源下载(关键BSP):
- 注册Qualcomm开发者账号(developer.qualcomm.com),下载QCS6490 Linux BSP(包括内核源代码、TrustZone固件、DTS文件)。参考Qualcomm Linux Build Guide(80-70014-254文档)。
- 内核版本:推荐Qualcomm 5.4或更高(从meta-qcom GitHub仓库获取:github.com/qualcomm-linux/meta-qcom)。
- 可选:使用Yocto Project(meta-qcom层)作为辅助,生成驱动模块,后整合到OpenWRT。
- OpenWRT源代码:
git clone https://git.openwrt.org/openwrt/openwrt.git cd openwrt git checkout openwrt-23.05 # 或最新稳定分支 ./scripts/feeds update -a ./scripts/feeds install -a
其他准备
- 工具链:OpenWRT会自动构建Arm64交叉工具链(aarch64-openwrt-linux-gcc)。
- 文档参考:OpenWRT端口指南(openwrt.org/docs/guide-developer/adding_new_device)、Qualcomm QCS6490 TRM(Technical Reference Manual,80-20659-5A)。
- 时间估算:初次端口需1-2周,依赖驱动集成。
2. 如何进行编译(端口与构建过程)
由于无现成target,需要端口QCS6490到OpenWRT(作为arm64架构的新subtarget)。过程分为端口驱动、配置target和编译镜像。假设“边缘”指“边缘计算部署”或“编译过程”,以下覆盖编译及边缘部署。
步骤1: 端口OpenWRT到QCS6490(添加新设备支持)
- 创建target结构:
- 在
target/linux/arm64/下新建文件夹configs/qcs6490(参考ipq60xx target)。 - 复制Qualcomm内核源到
target/linux/arm64/files/,修改Makefile:define KernelPackage/qcom-qcs6490 SUBMENU:="Other modules" TITLE:=Qualcomm QCS6490 support DEPENDS:=@TARGET_arm64 FILES:=$(PKG_BUILD_DIR)/modules-*.ko AUTOLOAD:=$(call AutoLoad,30,qcom-qcs6490) endef - Device Tree(DTS)配置:在
target/linux/arm64/dts/qcom-qcs6490-rb3
- 在

最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



