当前位置: 首页 > news >正文

MDM9205开发环境搭建与编译调试

前言

        如题,这篇文章说的是高通mdm9205这颗物联网芯片,从官方资源的获取(包括文档、代码、软件工具等等)到如何编译出可运行固件的方法。

        对经历了不止一次这颗芯片开发的我来说,在过程中遇到问题,除了寄希望于可能在工作日第二天凌晨得到的case回复,有一篇最新的有指导方向的文档真的太重要了。希望这篇文章可以帮助到正在看的你。


准备工作

获取途径

        高通对外部开放的资源是有限的,包括文档资料和代码工具等等,需要得到高通公司内部授权才能进行下载和使用。这恐怕也是为什么目前能搜索到的开放高通资料普遍零散且匮乏的原因吧(可能还有保密信息的考虑)。所以如果你是公司的人,首先就需要能联系到高通的对接人,审核注册的邮箱账号,后续都通过该账号登录高通的网站和软件工具。

创建账号icon-default.png?t=N7T8https://myaccount.qualcomm.com/signup

官网资源网站icon-default.png?t=N7T8https://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要

相关文章:

MDM9205开发环境搭建与编译调试

前言 如题,这篇文章说的是高通mdm9205这颗物联网芯片,从官方资源的获取(包括文档、代码、软件工具等等)到如何编译出可运行固件的方法。 对经历了不止一次这颗芯片开发的我来说,在过程中遇到问题,除了寄希望于可能在工作日第二天凌晨得到的case回复,有一篇最新的有指导方…...

Linux操作系统使用及C高级编程-D3Linux shell命令(权限、输入输出)

Shell 是一种应用程序,用以完成用户与内核之间的交互 一个功能强大的编程语言(C语言) 一个解释执行的脚本语言,不需要编译,写完直接执行 目前Linux 乌班图的Shell默认是bash 查看当前提供的Shell:cat /…...

无线充,大功率小家电,智能家居,无人机快速充电等产品供电 LDR6328S芯片TYUPE-C PD诱骗电压 USB-C解决PD电源取电问题

LDR6328S 是乐得瑞科技有限公司开发的一款兼容 USB PD、QC 和 AFC 协议的 Sink 控制器。 LDR6328S 从支持 USB PD、QC 和 AFC 协议的适配器取电,然后供电给设备。比如可以配置适配器输 出需要的功率,给无线充电器设备供电。LDR6328S 也兼容传统 USB 电源…...

2023数字科技生态大会-数字安全论坛 学习笔记

监管合规->价值创造的方向,在安全领域的发展方向-安全运营服务型 ICT->数字->数据 数字安全:网络安全数据安全 传统信息化以计算为核心,数字化以数据为核心 数字安全技术发展十大趋势: 一、 数字安全技术政策环境将不…...

玩转ChatGPT:ARIMA模型定制GPT-1.0

一、写在前面 好久不更新咯! OpenAI又推出了GPT的一系列重大更新,其中GPTs深得我心啊。 GPTs允许用户创建自定义的ChatGPT版本,以满足自己各种特定需求。其核心理念在于,用户可以为不同的场景和任务创建定制化的ChatGPT。这意味…...

CSDN每日一题学习训练——Java版(字符串相乘、子集、删除链表的倒数第 N 个结点)

版本说明 当前版本号[20231112]。 版本修改说明20231112初版 目录 文章目录 版本说明目录字符串相乘题目解题思路代码思路补充说明参考代码 子集题目解题思路代码思路参考代码 删除链表的倒数第 N 个结点题目解题思路代码思路参考代码 字符串相乘 题目 给定两个以字符串形…...

PostgreSQL 判断JSONB数组是否包含特定的元素

文章目录 前言Integer类型的数组char类型的数组 前言 要判断一个JSONB数组是否包含特定的元素,可以使用>操作符。 Integer类型的数组 -- 是否包含数字3 SELECT [1, 2, 3, 4, 5]::jsonb > [3]::jsonb; -- true -- 是否包含数字3 SELECT [1, 2, 13, 4, 5]::js…...

idea中搭建Spring boot项目(借助Spring Initializer)

创建新项目 启动端口 在项目配置文件application.properties中写入 #启动端口server.port8088编写测试方法 创建控制类文件夹–>便于规范我们新建一个controller包–>建一个HelloWorld.class package com.example.hellospringboot.controller;import org.springframew…...

acwing算法基础之搜索与图论--染色法判断二分图

目录 1 基础知识2 模板3 工程化 1 基础知识 二分图:每条边连接的起点和终点,分别属于集合A和集合B。 一个图是二分图,当且仅当,图中不含奇数环(即,回环中的结点数目是奇数)。 染色法判定二分…...

塔式服务器是什么服务器?

在当今数字时代,数据的处理和存储需求不断增长,企业和组织需要强大而可靠的服务器来支持其业务运营和数据管理。塔式服务器作为一种常见的服务器架构,以其出色的性能、灵活性和可扩展性成为了许多企业和组织的首选。 塔式服务器的外观类似于…...

nodejs+express接口全局拦截和环境变量设置

前言: 本例中必须安装的依赖包有:express、cookie-parser(可以没有) 1. 接口全局拦截 新建一个文件intercept.ts,编写拦截过程 import express from "express"; import cookieParser from cookie-parserconst ssoRouter expre…...

深度学习之基于YoloV5的目标检测和双目测距系统

欢迎大家点赞、收藏、关注、评论啦 ,由于篇幅有限,只展示了部分核心代码。 文章目录 一项目简介 二、功能三、系统四. 总结 一项目简介 双目测距系统利用两个相机的图像来计算目标到相机的距离。通过对左右相机图像进行立体匹配,可以获得目标…...

如何显示标注的纯黑mask图

文章目录 前言一、二分类mask显示二、多分类mask显示 前言 通常情况下,使用标注软件标注的标签图看起来都是纯黑的,因为mask图为单通道的灰度图,而灰度图一般要像素值大于128后,才会逐渐显白,255为白色。而标注的时候…...

【算法每日一练]-图论(保姆级教程 篇1(模板篇)) #floyed算法 #dijkstra算法 #spfa算法

今天开始讲图论 目录 图的存储 算任意两点的最短路径: floyed算法: 算一个点到其他所有点的最短距离 dijkstra算法: spfa算法: 图的存储 其实:邻接矩阵和链式向前星都能存边的信息,vector只能存点的信息,再搭配上v[]…...

c语言数据结构---十字链表

#include<stdio.h> #include<stdlib.h> typedef struct node{//十字链表 输入三元组返回矩阵 int row,col,val;struct node *down,*right; }JD,*J; typedef struct {J *rhead,*chead;int mu,nu,tu;//行列非0元 }CS; CS creat(CS M){int m,n,t;;int k,j,e;JD *p,*q…...

使用python电脑轻量级控制手机—adb命令和手机投屏

文章目录 一、通过无线连接手机和电脑二、使用adb命令轻量级控制手机二、使用scrcpy控制手机 通过电脑控制手机有多种方式如appnium等&#xff0c;本文介绍的是两种轻量级的方案&#xff0c;使用adb命令刚和手机投屏。 一、通过无线连接手机和电脑 1、手机设置 开发者选项—us…...

VBA技术资料MF82:替换文件夹中文件名中的字符

我给VBA的定义&#xff1a;VBA是个人小型自动化处理的有效工具。利用好了&#xff0c;可以大大提高自己的工作效率&#xff0c;而且可以提高数据的准确度。我的教程一共九套&#xff0c;分为初级、中级、高级三大部分。是对VBA的系统讲解&#xff0c;从简单的入门&#xff0c;到…...

如何利用大模型蒸馏出小模型实现降本

如何让小模型的推理效果在某些领域比 ChatGPT 这样的大模型还要更强&#xff1f;这篇论文提供了一个思路&#xff1a;https://arxiv.org/abs/2212.10071&#xff0c;借助思维链&#xff08;CoT&#xff09;逐步解决复杂推理任务的能力&#xff0c;可以使用大模型作为推理教师&a…...

CentOS 中启动 Jar 包

在 CentOS 中启动一个 Jar 包&#xff0c;可以通过 java 命令来实现。具体步骤如下&#xff1a; 确认 Java 环境已经安装并配置好了。 打开终端或者 SSH 连接到 CentOS 服务器。 执行以下命令启动 Jar 包&#xff1a; 复制插入 java -jar /path/to/your/jar/file.jar复制插…...

法治智能起航 | 拓世法宝AI智慧政务一体机重塑法治格局,开启智能司法新篇章

在科技的巨轮推动下&#xff0c;我们的社会正快速迈向一个以数据和智能为核心的新时代。在这个波澜壮阔的变革中&#xff0c;人工智能&#xff08;AI&#xff09;显得尤为突出&#xff0c;它不仅是科技进步的象征&#xff0c;更是未来发展的助力者。 2023年&#xff0c;最高人…...

wordpress后台更新后 前端没变化的解决方法

使用siteground主机的wordpress网站&#xff0c;会出现更新了网站内容和修改了php模板文件、js文件、css文件、图片文件后&#xff0c;网站没有变化的情况。 不熟悉siteground主机的新手&#xff0c;遇到这个问题&#xff0c;就很抓狂&#xff0c;明明是哪都没操作错误&#x…...

CTF show Web 红包题第六弹

提示 1.不是SQL注入 2.需要找关键源码 思路 进入页面发现是一个登录框&#xff0c;很难让人不联想到SQL注入&#xff0c;但提示都说了不是SQL注入&#xff0c;所以就不往这方面想了 ​ 先查看一下网页源码&#xff0c;发现一段JavaScript代码&#xff0c;有一个关键类ctfs…...

以下是对华为 HarmonyOS NETX 5属性动画(ArkTS)文档的结构化整理,通过层级标题、表格和代码块提升可读性:

一、属性动画概述NETX 作用&#xff1a;实现组件通用属性的渐变过渡效果&#xff0c;提升用户体验。支持属性&#xff1a;width、height、backgroundColor、opacity、scale、rotate、translate等。注意事项&#xff1a; 布局类属性&#xff08;如宽高&#xff09;变化时&#…...

【入坑系列】TiDB 强制索引在不同库下不生效问题

文章目录 背景SQL 优化情况线上SQL运行情况分析怀疑1:执行计划绑定问题?尝试:SHOW WARNINGS 查看警告探索 TiDB 的 USE_INDEX 写法Hint 不生效问题排查解决参考背景 项目中使用 TiDB 数据库,并对 SQL 进行优化了,添加了强制索引。 UAT 环境已经生效,但 PROD 环境强制索…...

PPT|230页| 制造集团企业供应链端到端的数字化解决方案:从需求到结算的全链路业务闭环构建

制造业采购供应链管理是企业运营的核心环节&#xff0c;供应链协同管理在供应链上下游企业之间建立紧密的合作关系&#xff0c;通过信息共享、资源整合、业务协同等方式&#xff0c;实现供应链的全面管理和优化&#xff0c;提高供应链的效率和透明度&#xff0c;降低供应链的成…...

转转集团旗下首家二手多品类循环仓店“超级转转”开业

6月9日&#xff0c;国内领先的循环经济企业转转集团旗下首家二手多品类循环仓店“超级转转”正式开业。 转转集团创始人兼CEO黄炜、转转循环时尚发起人朱珠、转转集团COO兼红布林CEO胡伟琨、王府井集团副总裁祝捷等出席了开业剪彩仪式。 据「TMT星球」了解&#xff0c;“超级…...

镜像里切换为普通用户

如果你登录远程虚拟机默认就是 root 用户&#xff0c;但你不希望用 root 权限运行 ns-3&#xff08;这是对的&#xff0c;ns3 工具会拒绝 root&#xff09;&#xff0c;你可以按以下方法创建一个 非 root 用户账号 并切换到它运行 ns-3。 一次性解决方案&#xff1a;创建非 roo…...

C# 类和继承(抽象类)

抽象类 抽象类是指设计为被继承的类。抽象类只能被用作其他类的基类。 不能创建抽象类的实例。抽象类使用abstract修饰符声明。 抽象类可以包含抽象成员或普通的非抽象成员。抽象类的成员可以是抽象成员和普通带 实现的成员的任意组合。抽象类自己可以派生自另一个抽象类。例…...

成都鼎讯硬核科技!雷达目标与干扰模拟器,以卓越性能制胜电磁频谱战

在现代战争中&#xff0c;电磁频谱已成为继陆、海、空、天之后的 “第五维战场”&#xff0c;雷达作为电磁频谱领域的关键装备&#xff0c;其干扰与抗干扰能力的较量&#xff0c;直接影响着战争的胜负走向。由成都鼎讯科技匠心打造的雷达目标与干扰模拟器&#xff0c;凭借数字射…...

QT: `long long` 类型转换为 `QString` 2025.6.5

在 Qt 中&#xff0c;将 long long 类型转换为 QString 可以通过以下两种常用方法实现&#xff1a; 方法 1&#xff1a;使用 QString::number() 直接调用 QString 的静态方法 number()&#xff0c;将数值转换为字符串&#xff1a; long long value 1234567890123456789LL; …...