原创 參加高通培訓

本月24號,作爲公司代表之一去科技園阿里巴巴大廈參加高通組織的 “Android User space stability issue analysis  training”學習,感覺收穫不少。 培訓內容相當實用&接地氣,高通工程師(很n

原创 2017.春節.深圳

畢業這麼多年,第一次正式意義的在深圳過年. 上午的天氣相當好,氣溫也很適宜,很適合散步,工作久了,慢慢喜歡上這種慢慢的散步感覺。 其實如果在這裏騎車也很不錯的。 小區旁邊的小山丘 天很藍 慢下來爬下小山丘也不錯 岳父

原创 kernel 啓動流程之 【head.S】 學習筆記

1、系統引導程序 【參考:kernel-3.18/Documentation/arm/Booting】 bootloader 要乾的主要事情: 找到並初始化內存; 初始化和使能一個串口輸出,這個對於調試很重要; 獲取CPU類型,

原创 深入MTK平臺bootloader啓動之【 Pre-loader -> Lk】分析筆記

1、bootloader到kernel啓動總邏輯流程圖 ARM架構中,EL0/EL1是必須實現,EL2/EL3是選配,ELx跟層級對應關係: EL0 -- app EL1 -- Linux kernel 、lk EL2 --

原创 binder守護進程servicemanager簡介

簡介 servicemanager 進程 主要任務是什麼?實現機制; 。啓動流程 servicemanager 是一個可執行程序,由於起優先級很高,所以在init進程起來後,很快會被fork出來,下面是servicemanager進程

原创 深入 kernel panic 流程

一、前言  我們在項目開發過程中,很多時候會出現由於某種原因經常會導致手機系統死機重啓的情況(重啓分Android重啓跟kernel重啓,而我們這裏只討論kernel重啓也就是 kernel panic 的情況),死機重啓基本算是影

原创 深入MTK平臺bootloader啓動之【 lk -> kernel】分析筆記

接上一篇分析: 《深入MTK平臺bootloader啓動之【 Pre-loader -> Lk】分析筆記》 Pre-loader 運行在ISRAM,待完成 DRAM 的初始化後,再將lk載入DRAM中,最後通過特殊sys call手

原创 tombstone 分析

    Coredump 是分析Android native exception和kernel exception的利器,coredump是核心轉儲,可以理解爲當進程發生異常無法挽救時,OS機制把這塊出問題的內存取出來打包成核心轉儲供給

原创 高通8937平臺手機關機概率卡住問題分析

異常現象: 高通8937平臺手機執行開關機壓力測試出現概率性無法關機,平均復現概率爲1/400次, 問題出現時手機黑屏,看上去像死機,但充電燈在亮着. 分析: 拿到機器發現adb還可以使用,那既然adb還可以用,說明系統並沒有發

原创 Android M 啓動源碼分析筆記之 - App 進程

<接上一篇:  Android M 啓動源碼分析筆記之 - zygote  孵化> 以Home應用啓動爲例, 老規矩,先上圖,一圖勝千言 啊~ 查看大圖 Here we go! 從AMS的startActivity

原创 Android M 啓動源碼分析筆記之 - Zygote 孵化

< 接上一篇:Android M 啓動源碼分析筆記之 - init 進程> zygote 到 Home 程序啓動源碼分析: 先上總時序圖: 查看大圖 下面開始每一個階段詳細源碼分析。時序圖【1-5】 /* init進程

原创 ARMv8 異常處理源碼入口

1、Data abort  先看64位: 分析 kernel/arch/arm64/kernel/entry.S 文件, 查到C函數入口 => do_mem_abort 其中:x0 /x1 /x2 作爲傳入參數寄存器, x0 <=fa

原创 Android M 啓動源碼分析筆記之 - Init 進程

【本文意在更好的解讀 init進程到system_server進程的啓動過程】 一、首先上一張總流程圖 流程圖比較清晰的展示了init到system_server的啓動過程和zygote的孵化原理. 接下來分以下幾個階段分析:

原创 Clone 新項目TZ導致不開機問題

不久前做指紋識別功能時考慮不周導致挖的一個坑使得別的項目同事在clone新項目出現不開機的情況,我也因此被接連追殺討伐,汗..這裏記錄總結下事故發生原因過程,算是給自己一個提醒,希望以後考慮問題可以更加全面謹慎。 由於Android

原创 ARMv8 Load / store 指令學習重要筆記

1、Load-Store Non-temporal Pair STNP Xt1, Xt2, [base,#imm] Store Non-temporal Pair (extended): stores two doublewo