展讯android智能机平台FDL1,FDL2,SPL文件下载问题简析

展讯芯片刷机为何特殊?PAC包分区解析与救砖全攻略 刷机是手机、机顶盒等嵌入式设备维护中的常见操作,但不同芯片平台的刷机逻辑差异极大。理解固件包内部分区结构,是安全完成刷机的前提。展讯芯片的刷机生态与高通、联发科不同,其线刷固件通常以PAC包形式分发,内部包含FDL引导程序、分区表和多个镜像文件。刷机过程中,BootROM先加载FDL1初始化硬件,再通过FDL2建立通信通道,最后按分区表写入各分区。若分区表与硬件不匹配,或关键分区被误格式化,轻则卡logo,重则导致无信号、IMEI丢失甚至黑砖。掌握PAC包结构、刷机前核对芯片型号与存储参数、避免乱勾Form 阅读详情
AI摘要

本文详细介绍了展讯平台的智能机下载流程,包括下载和开机两个主要阶段。下载过程分为FDL1和FDL2两级,分别负责DDR驱动初始化和下载其他模块至外部存储。同时,文章还分析了下载过程中可能遇到的问题及其解决方法。


首先,我们要了解这样一个背景知识:展讯的每颗智能芯片(其他智能机平台应该也是如此)内部都有IROM和IRAM,IROM里有固化的Romcode(用于与PC端工具通讯,下载程序)。

但是......

但是......

由于芯片内部固化的IRAM价格昂贵,容量十分有限,在不同平台上通常只有十几KB到几十KB大小,这么小的内存,是无法支持动辄几百MB的BIN下载的。因此,展讯下载BIN就划分为两级(FDL1和FDL2)下载,利用外部DDR空间大(通常在数十MB到数百MB范围内)的特点,将绝大部分下载代码放到第二级来进行。

 

展讯智能机的FDL1,SPL文件由代码中的chipram文件夹生成,FDL2,UBOOT文件则由u-boot文件夹生成。

好了,背景了解完毕,下面我们来简单阐述展讯平台的下载和开机流程:

系统上电开机,IROM中的Romcode开始运行,检查系统download键是否按下,若是,则进入下载流程,否则进入开机流程:

一.   下载过程

1.      Romcode(0x00000000):与PC通信,下载FDL1到IRAM。FDL1只包含DDR驱动及配置,只需要几KB的运行空间,可以被ROMCODE与下载工具通讯将之下载到IRAM中运行。

2.      FDL1:FDL1被下载到IRAM后,PC指针跳到IRAM的起始地址开始运行FDL1。FDL1首先初始化外部DDRRAM,配置外部DDR的寄存器和时序,然后再与下载工具通讯将FDL2下载到外部DDR中运行。

3.      FDL2:FDL2被下载到DDR中之后,有充足的运行空间,FDL2带NAND/EMMCflash驱动程序,可以初始化FLASH,并把PAC包的其他各个模块都写入到FLASH中。

 

二. 开机过程

1.  Romcode:0x00000000:判断是开机,复制spl到IRAM,并运行spl(包含DDR驱动及配置)

2. SPL:初始化外部DDRRAM,配置外部DDR的寄存器和时序,然后再拷贝uboot到外部DDR中运行

3. UBOOT:带带NAND/EMMCflash驱动程序,带部分设备初始化,复制其他image到DDRRAM,判断开机模式并进入相应模式。

 

 

好了,了解完下载流程,下面,我们将对软件下载过程中遇到的涉及FDL1,FDL2文件的一些问题进行简单分析:

1. 下载工具上FDL1进度条没有走:

(1).软件问题,请首先请检查pc端下载驱动是否安装正确;

(2).操作问题:请首先确认下载操作步骤是否正确,是否已经上电;其次还要确认电脑端口是否有问题,下载数据线是否OK。

 (3).硬件问题:如果你已经在这台电脑上下载过展讯平台的软件,那基本可以确认是硬件的问题了:可能是板子CPU没跑起来;也有可能是板子通讯端口有问题。总之,你把机器丢给硬件的哥们就对了。

 

2.FDL2的进度条没有走:

(1).硬件问题:DDR存储芯片焊接问题,导致完全不通讯---这个可能性比较大。

(2).软件问题:FDL1中的DDR芯片驱动程序问题。请确认DDR芯片类型,容量大小,cs等设置。

 

 

3.FDL2的进度条没有走完或走完后不动了:

(1).硬件问题:DDR存储芯片焊接问题,尤其是虚焊问题。

(2).软件问题:FDL1中的DDR芯片驱动程序问题,包括DDR时序及容量大小bank配置等等----这个可能性比较大。

 

 

额外再插一句,如何调试FDL?FDL中已经有许多UARTlog,因此通过串口log调试最轻松。可以用USB下载,另外再用uart线连手机的uart口。

 

4. 下载system.img进度条没有走完:

软件问题:

(1).uboot中的DDR芯片驱动程序问题,包括DDR时序及容量大小bank配置等等。

(2).uboot中的NAND/EMMCflash存储芯片驱动程序问题

(3).boardconfig.mk中系统模块分区大小问题.


本文结束,希望对您了解展讯Android平台的fdl1,fdl2文件有些许的帮助。

U-boot15(armv8)启动流程(基于展锐平台)_展锐 开机流程(1) SPL全称Secondary Program Loader,及第二阶段程序加载器,为什么时第二阶段,因为第一阶段是固化的Rom Code正常启动时:ROM Code从存储介质(eMMC/UFS)加载SPL到IRAM中的,SPL进一步加载UBoot到DDR中 运行。下载模式时:ROM Code进入下载等待模式,当检测到与电脑的通讯时,从USB加载FDL1到IRAM中去 的,FDL1进一步从USB加载FDL2(及UBoot)到DDR并执行。不难看出这里的FDL1充当了SPL作为第二 阶段程序加载器。 阅读详情

相关推荐

[加密]展讯secureboot方案

Secure Boot方案介绍及实施流程 转自网络 1. Secure boot概述 本文档主要是secure boot方案的介绍和说明,其内容会涵盖以下方面:secure boot的目的和介绍、技术方案的描述、PC端签名工具和Image download&update工具的使用以及产线实施所需要做的准备工作和注意事项等。 1.1. 需求与目的 目前,非授权更改甚至替...

anxuan3201的博客 2408

展讯调试总结

1.IO配置 u-boot15/board/spreadtrum/xxx/pinmap-xxx.c {REG_PIN_SDA2, BITS_PIN_AF(0)}, {REG_MISC_PIN_SDA2, BITS_PIN_DS(1)|BIT_PIN_WPUS|BIT_PIN_WPU|BIT_PIN_SLP...

Android开发 2万+

spreadtrum展信平台加密Secure boot流程

1. Secure boot概述 本文档主要是secure boot方案的介绍和说明,其内容会涵盖以下方面:secure boot的目的和介绍、技术方案的描述、PC端签名工具和Image download&update工具的使用以及产线实施所需要做的准备工作和注意事项等。 1.1. 需求与目的 目前,非授权更改甚至替换手机原版操作系统中固有软件或者操作系统的软件技术手段层出不穷,se...

admin.AiLL的博客 3898

安卓玩机----展讯芯片机型解锁 读写分区工具 操作步骤解析

国内机型大都使用高通和MTK芯片。展讯芯片使用的较少。相对来说高通和mtk机型解锁以及读取分区工具较多。展讯的几乎没有。目前有大佬开发出了一款展讯芯片解锁读写工具.开源的tools

小马哥的专栏 9220

展锐UDX710:u-Boot 初始化流程分析

展锐 UDX710 u-Boot SPL FDL1 Linux启动流程

不秃头的程序猿Gabriel的博客 3105

展讯刷机工具详解:从PAC固件到下载模式的完整线刷实战

在嵌入式设备调试与维修场景中,刷机是一项基础但容错率极低的工程操作。无论是手机、平板还是物联网模组,固件升级或救砖都依赖于一套稳定的刷机协议与正确的驱动链路。本文从刷机工程的基本概念出发,解析PAC固件包内FDL引导文件与分区镜像的结构原理,梳理下载模式与ADB模式的区别,并给出驱动安装、参数配置及常见报错(如设备无法枚举、USB掉线、驱动签名失败)的系统性排障方法。同时面向局部升级需求,介绍如何从PAC中提取单分区镜像进行定向刷写。内容由通用刷机原理逐步收敛至展讯平台实战,适合工程师与进阶爱好者在实际线刷

weixin_28256233的博客 256

android展讯平台重要的打包命令及生成镜像文件的Linux命令

android系统编译完成后,生成的都是系统的文件,如果用展讯的烧录工具一个一个的选中则非常麻烦,下面介绍了一种把这些文件打包成pac包的形式的方法,细看命令比较长,原因是系统文件比较多,我使用的都是绝对路径,可以对一个路径设置一个变量,这样就可以缩短命令行的长度了。  perl customize/pac_8810/pac_8810.pl "mytest.pac" "VERSION_1.0"

知识空间 1万+

展讯解锁软件+驱动

首先按音量下键+开机键进入fastboot模式..,要多按一会儿 大概十秒多点的样子吧 然后安装驱动,xp装x86那个。如图 然后连接电脑,提示安装驱动,点自动,如果不行的话就点击第二个,自己选择x86然后安装。 提示安装成功。 重启 电脑 进入adb文件夹,点击解锁,自动解锁,大概十秒后,了事。 我手上这个是飞秒(哪个脑残取的名字)G1,如图,用该方法顺利解锁。论坛上的所有帖子我都试了,他姐姐的就是装不了驱动。最后结合一个刷机的帖子提取出驱动最后顺利解锁。坐等50大洋送上门来。 好用要顶 钦此!

U-boot15(armv8)启动流程(基于展锐平台)

SPL全称Secondary Program Loader,及第二阶段程序加载器,为什么时第二阶段,因为第一阶段是固化的Rom Code正常启动时:ROM Code从存储介质(eMMC/UFS)加载SPL到IRAM中的,SPL进一步加载UBoot到DDR中 运行。下载模式时:ROM Code进入下载等待模式,当检测到与电脑的通讯时,从USB加载FDL1到IRAM中去 的,FDL1进一步从USB加载FDL2(及UBoot)到DDR并执行。不难看出这里的FDL1充当了SPL作为第二 阶段程序加载器。

qq_44520949的博客 2212

展讯就砖刷机

【第一部分】 ①打开刷机工具载入一个刷机包,然后点击齿轮按钮 ②打开替换文件列表,把除了FDL1、FDL2的所有勾,都去掉.

展讯升级工具、写码工具、驱动以及操作说明

展讯升级工具、写码工具、驱动以及操作说明,欢迎下载,1111111111

移动安全-secure boot

secure boot

深度安全实验室 1018

FDL_瑞萨_瑞萨DataFlash_

瑞萨Data Flash ,将FDL文件夹复制到,瑞萨工程中,准备阶段完成,接下来就是工程配置

U-BOOT小全(三):SPL框架

ARM的启动流程:(RomBoot是固化在SoC内部的。因为芯片厂商固化的ROM支持从nandflash, SDCARD等外部介质启动,所以RomBoot会根据硬件电路的启动模式选择读取对应介质一小段数据到内存。RomBoot读取多少才算合适呢?每个用户的需求不一样,大小也不能确定。很多芯片厂商干脆就只读4K/8K/16K等很小一段数据。这段数据你可以存放芯片初始化,读取介质数据到内存的工作是完全没有问题的。就这样在我们的软件界就产生了一个SPL概念,RomBoot读取这一小段代码就叫spl。

叫好与叫座虽然不是对立面,但想在同一个作品中达到双重效果很难。 3455

【带状电容器计算用于电容式触摸传感器应用】半数值模型的电容式触摸传感器集成于金属基材涂层中研究(Matlab代码实现)

内容概要:本文针对电容式触摸传感器在金属基材上应用时易受干扰导致信号衰减的问题,提出一种集成于金属基材涂层中的带状电容器半数值计算模型。通过理论推导建立传感器电容的数学模型,设定合理的边界条件并采用数值方法求解,利用Matlab实现完整的仿真代码,对传感器在金属背景下的电容特性进行精确建模与性能分析。该方法有效提升了传感器的灵敏度与抗干扰能力,适用于高精度、复杂环境下的触摸感应场景,具有良好的工程应用价值。研究不仅提供了详细的建模流程与仿真验证,还开放了可复现的代码资源,便于后续优化与拓展。; 适合人群:从事电容式传感器设计、嵌入式系统开发、人机交互技术研究及相关领域的科研人员,以及具备电磁场理论基础和Matlab编程能力的硕士、博士研究生;; 使用场景及目标:①用于金属表面电容式触摸传感系统的建模与性能优化;②为抗金属干扰传感器提供有效的半数值仿真方法与技术支撑;③辅助高校科研与教学中对电容耦合机制的理解及仿真平台搭建; 阅读建议:建议结合Matlab代码逐模块调试,深入理解模型中几何参数、材料属性及边界条件对电容输出的影响规律,可进一步推广至其他复杂结构或非理想环境下的传感器设计中。

从生成到检测:全面解析Deepfake技术的演进与对抗策略

本文全面解析了Deepfake技术的演进与对抗策略,从GAN生成技术到先进的检测手段,探讨了其在娱乐与安全领域的双重影响。文章详细介绍了Deepfake的核心原理、技术迭代关键节点以及最新的检测方法,揭示了AI生成与识别的激烈博弈。同时,展望了量子计算和生物特征认证在未来攻防战中的潜在应用。

jenkins8butler的博客 255

SPRD-MMI学习笔记

开关型feature options 列表型feature options make目录存放和模块对应的编译脚本,属于模块编译脚本 Makefile.rules、Makefile.modules、Makefile以及项目的相关make脚本,属于项目编译脚本 makefile中变量和转义宏的区别:变量注释的#少于3个,转义宏注释的#至少有3个 application window co

千里之行 始于足下 5723

启动盘安装Win10完整指南:U盘制作、BIOS设置与分区排错

系统重装是解决电脑卡顿、系统崩溃、病毒残留等问题的基础操作,而U盘启动盘则是目前最主流的安装介质。其核心原理在于通过Rufus等工具,将原版ISO镜像写入U盘,并依据主板固件类型(UEFI或Legacy)选择对应的GPT或MBR分区表,确保引导程序能正确加载。掌握这些底层概念,不仅能提升安装成功率,还能避免因引导模式不匹配导致的黑屏、无法启动等问题。在实际应用中,无论是老旧电脑升级、硬盘更换,还是需要纯净的系统环境,制作一个可靠的启动盘都是必备技能。本文从备份数据、下载官方镜像讲起,逐步演示U盘制作、启动快

weixin_32667955的博客 339

【展讯平台】Android系统4.4环境搭建与编译指南

1. 前言 1.1 适用范围 该文档适用于展讯 SC9820e 芯片最低在 android Linux 4.4 版本进行编译和配置,推荐使用 Ubuntu 系统。 1.2 代码和编译环境的准备 首先,需要解压完整的平台代码包,检查自己的编译环境,需要安装 1. 6 版本的 版本的 openjdk,可 以使用下面命令来查看 jdk 的版本: java -versio...

gjy_it的博客 2516

别再一个个BAPI调了!用CVI_EI_INBOUND_MAIN一次性搞定SAP BP主数据(附完整ABAP代码)

本文详细介绍了如何使用SAP标准函数CVI_EI_INBOUND_MAIN高效维护业务伙伴(BP)主数据,替代传统的多BAPI调用方式。通过完整ABAP代码示例,展示了如何一站式处理供应商、客户、公司代码等所有视图的创建与更新,提升数据一致性和开发效率。

weixin_29204205的博客 291

【Segment Anything Model】三:SAM模型微调自定义数据集,更改混合提示方式:点,框,点框混合

1.微调SAM预备知识。

cvxiayixiao的博客 1万+

展锐平台+Android系统开发概要

文章目录一、缩略语二、系统分区1. UIS7885+android13的系统分区三、系统编译四、开发调试 一、缩略语 BBAT:Baseband Auto Test,基带自带测试 CRC:Cyclic Redundancy Check,循环冗余检验 SPL:Secondary Program Loader,第二阶段程序加载器 U-Boot:Universal Boot Loader,通用引导加载程序 二、系统分区 1. UIS7885+android13的系统分区 三、系统编译 四、开发调试

LoongEmbedded的专栏 2132

基于 YOLOv26 的校园安全监控系统:多场景应用

本文提出了一种基于YOLOv26的校园安全监控系统,采用多场景应用架构实现对校园安全的智能监测。系统核心技术包括YOLOv26目标检测、DeepSORT目标跟踪、区域安全定义和行为分析等模块,通过边缘计算平台实现实时处理。研究构建了包含多种校园场景的专业数据集,并采用数据增强技术提升模型性能。系统可检测人员、车辆和物品等目标,分析其行为轨迹,评估安全风险并触发告警。实验结果表明,该系统能有效识别校园安全隐患,为安全管理提供智能化解决方案。

一键难忘的博客 501
上一篇: linux内核空间和用户空间详解
下一篇: Android Repo的manifest XML文件格式
StudyTaoo
博客等级 码龄11年 128粉丝 36原创
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值