前言
如题,这篇文章说的是高通mdm9205这颗物联网芯片,从官方资源的获取(包括文档、代码、软件工具等等)到如何编译出可运行固件的方法。
对经历了不止一次这颗芯片开发的我来说,在过程中遇到问题,除了寄希望于可能在工作日第二天凌晨得到的case回复,有一篇最新的有指导方向的文档真的太重要了。希望这篇文章可以帮助到正在看的你。
准备工作
获取途径
高通对外部开放的资源是有限的,包括文档资料和代码工具等等,需要得到高通公司内部授权才能进行下载和使用。这恐怕也是为什么目前能搜索到的开放高通资料普遍零散且匮乏的原因吧(可能还有保密信息的考虑)。所以如果你是公司的人,首先就需要能联系到高通的对接人,审核注册的邮箱账号,后续都通过该账号登录高通的网站和软件工具。
创建账号https://myaccount.qualcomm.com/signup
官网资源网站https://createpoint.qti.qualcomm.com/
Createpoint资源网站上,包括高通很多芯片的型号,需要和高通对接人沟通明确需要授权的型号,开放的资源包括文档、基线代码、编译链工具、提case的权限。这些是开发需要的几项基本的高通资源,如果其他同事比如商务需要子账户管理等等相关权限,就一并提出。
注意:开发前电脑硬盘预留至少30G,给基线代码和编译链工具等等必要的安装存放空间。
文档
搜索框中输入文档特定的编码,或者需要查找的相关单词,搜索到点击下载即可。
工具
搜索框中输入工具相关的单词,下方可以勾选工具是在Linux还是windows开发环境中使用,右侧点击下载相应的工具即可,如下图2,注意确认好工具的版本号再下载(版本号下方“工具下载”会说明)。
除上述编译链,调试设备还需要用到更多高通官方的软件工具,在QPM网站的Tools页面,搜索“QPM3”(Qualcomm Package Manager 3),下载安装到本地备用,后续包括QXDM、PCAT、QUTS等等都需要在该软件中搜索下载。
代码
如下图,Project和Define Release由高通内部配置好权限后就可以查看到,右侧点击跳转oem后缀的基线代码下载即可。
各编译链
安装编译链之前,先搜索你下载的基线代码对应的Release note,其中包含基线配置的大致指导步骤(多数只对linux环境有用,且很多细节的修改没有提及)。以下用《RNO-230111212424-00058.1 Release Note for MDM9205.TX.2.1》文档,编译环境Windows+Linux为例(因为我的windows下无法完成TZ和MPSS的编译,咨询高通未解决,所以TZ和MPSS两个分区在linux中运行编译命令)。
工具下载
如下图,看第3章Getting Started和第4章Build Instructions的内容。注意第3章Getting Started 表格部分,各分区需要的编译链和版本号各不相同,下载前一定要关注。
根据前述“准备工作-工具”小节,下载高通的编译链给linux环境使用,包括:Snapdragon LLVM ARM Toolchain for Linux 4.0.11,Hexagon LLVM Toolchain Release for Linux 8.3.03。给windows环境使用的Snapdragon LLVM ARM Toolchain for Windows 4.0.11。
另外需要下载三个编译链工具给windows环境使用,一个工具组件给linux使用,否则编译无法完成。这几个都不是高通提供的,但要用于辅助BOOT,RPM和MPSS分区完成编译。分别是:
1. gcc-linaro-aarch64-none-elf-4.9-2014.07_win32
2. gcc-linaro-arm-linux-gnueabihf-4.9-2014.05
3. RVCT 4.0
4. nanopb
windows要