高通MSM8998 ABL的调试

高通在MSM8998上引入了UEFI,用来代替LK(Little Kernel)。高通UEFI由XBL和ABL两部分组成。XBL负责芯片驱动及充电等核心应用功能。ABL包括芯片无关的应用如fastboot。XBL核心是none-HLOS boot_image代码的一部分,属于高通私有代码。ABL则在开源Linux Android代码树里。LK的设备驱动都放在了XBL核心,Linux加载启动及fastboot等功能组件则作为独立的UEFI应用存在。有关UEFI、XBL及ABL的详细介绍,请参见高通文档《80_P2484_37_LINUX_ANDROID_UEFI_OVERVIEW.pdf》。

ABL的编译非常简单,依次执行命令source build/envsetup.sh、lunch 32、make aboot,即可在out目录下生成abl.elf。这次调试ABL主要碰到了两个问题,一是没有生成abl.elf,二是生成abl.elf后没有做签名。高通原生代码并不存在问题,是项目中修改了代码导致的。费了一番周折,最终成功编译出可正常工作的abl.elf。未签名的abl.elf大概98KB,签名后的abl.elf约108KB。需要注意的是,ABL在Android代码树下,而签名工具(secimage)在高通私有代码目录(vendor/qcom/proprietary)下,在编译ABL时,一定要将高通提供的私有代码全部放到相应的目录下。未签名的abl.elf会让系统无法启动,上电直接进入EDL紧急下载模式。

这次调试ABL还是为了解决误入FFBM的问题。之前是通过修改init来解决的,即在设置系统Property时忽略内核命令行参数中的ffbm模式。而修改ABL则是打算在读取misc分区时做处理,直接不生成内核命令行参数的相应配置项。注释掉BootLinux.c中GetFfbmCommand的相关代码,具体如下,

烧录经过签名的abl.elf到abl分区,并将misc分区内容写为ffbm,重启机器,系统果然可以正常进入Android,并且内核命令行参数也无androidboot.mode=ffbm项,达到预期目的,详细如下图所示。

原文地址:https://www.cnblogs.com/we-hjb/p/9800627.html

时间: 2024-10-11 06:28:42

高通MSM8998 ABL的调试的相关文章

高通8X25Q wifi BT 调试文档

1.蓝牙调试 主要是蓝牙的I2C地址跟 地磁仪的I2C地址冲突,被地磁仪给占用了,改回来就好了. --- a/android-lte/kernel/arch/arm/mach-msm/msm8x25/goso-msm7627a-bt.c +++ b/android-lte/kernel/arch/arm/mach-msm/msm8x25/goso-msm7627a-bt.c @@ -981,8 +981,7 @@ static struct marimba_platform_data marim

高通平台Camera调试(一)【转】

本文转载自:http://www.voidcn.com/blog/Winva/article/p-6044730.html 4.3. Camera 参考文档: 1) 80-NA157-22_PRESENTATION- MSM8974-APQ8074-MSM8X26-APQ8084 LINUX CAMERA OVERVIEW.pdf 2) 80-NE717-1_MSM8974-APQ8074-MSM8X26 LINUX CAMERA SOFTWARE DESIGN DOCUMENT.pdf 3)

高通msm8926 camera调试笔记

前些天在调试一组高通msm8926上的摄像头,之前ov5648+imx135已正常的点亮了,但是后续需要一个mini配置版本的方案,需要兼容ov2685+ov8865,于是先做好调试的前期准备,跟摄像头模组厂要模组spec和芯片的datasheet,先仔细阅读一下ic的datasheet,并仔细查看模组的打样图纸和模组spec,首先要确认的是ic的各路电压是可以正常的供出,一般需要注意的就是DVDD,IOVDD,AVDD,还有STANDBY和RESET,这些管脚的连接要和主板上兼容,确保在硬件上

【转】高通平台android 环境配置编译及开发经验总结

原文网址:http://blog.csdn.net/dongwuming/article/details/12784535 1.高通平台android开发总结 1.1 搭建高通平台环境开发环境 在高通开发板上烧录文件系统 建立高通平台开发环境 高通平台,android和 modem 编译流程分析 高通平台 7620 启动流程分析 qcril 流程分析,设置sim卡锁 python scons 语法学习 Python 语言之 scons 工具流程分析: 1.2 搭建高通平台环境开发环境 高通and

ARM Cortex-A7架构,高通210系列-MSM8909

核心板特性 A7架构 4核(4*1.1GHz(A7)) 产品尺寸小,便于客户集成,减少产品体积: 支持4G LTE超高速上网,单板兼容移动/联通/电信2G/3G/4G: 支持2+32存储器,Micro SD支持32G: 尺寸小.集成度高.大板布板灵活; 支持全网通.wifi.蓝牙.GPS; 支持 HD(1280*720) 接口丰富,可扩展性强 Sim 卡*2/MicroSD 卡*1/IIC*4/串口*2/USB(OTG)*1/3.5mm 耳机*1/GPIO *20/ADC*2/PWM*1 高通骁

高通camera结构【转】

本文转载自:http://www.cnblogs.com/whw19818/p/5853407.html 摄像头基础介绍 一.摄像头结构和工作原理. 拍摄景物通过镜头,将生成的光学图像投射到传感器上,然后光学图像被转换成电信号,电信号再经过模数转换变为数字信号,数字信号经过DSP加工处理,再被送到电脑中进行处理,最终转换成手机屏幕上能够看到的图像. 数字信号处理芯片DSP(DIGITAL SIGNAL PROCESSING)功能:主要是通过一系列复杂的数学算法运算,对数字图像信号参数进行优化处理

高通camera基本代码架构【转】

本文转载自:http://blog.sina.com.cn/s/blog_c0de2be70102vyn1.html 1  camera基本代码架构 高通平台对于camera的代码组织,大体上还是遵循Android的框架:即上层应用和HAL层交互,高通平台在HAL层里面实现自己的一套管理策略:在kernel中实现sensor的底层驱动.但是,对于最核心的sensor端的底层设置.ISP效果相关等代码则是单独进行了抽离,放在了一个 daemon进程中进行管理: 图1 Qualcomm平台camer

在高通平台Android环境下编译内核模块【转】

本文转载自:http://blog.xeonxu.info/blog/2012/12/04/zai-gao-tong-ping-tai-androidhuan-jing-xia-bian-yi-nei-he-mo-kuai/ 高通Android环境中Linux内核会作为Android的一部分进行编译,直接使用make即可一次性从头编到尾.而有的平台比如Marvell,内核的编译操作相对比较独立,必须使用标准的内核编译命令进行单独编译.一般来说,用高通的这种方式比较傻瓜化,一步到底的感觉:而用Ma

高通QMI协议

QMI(Qualcomm MSM Interface,官方名称应该是Qualcomm Message Interface)是高通用来替代OneRPC/DM的协议,用来与modem通信. QMI协议定义了多个服务: DMS(设备管理Device Management) 提供载入 设备信息的功能 NAS(网络访问Network Access)提供欧冠你注册网络的动作 WDS(数据连接) PDS(GPS定位报告) UIM(管理User Identity Module) CTL(控制服务:用户发起其他服