原创 高通8250平臺PD policy_engine簡要流程分析

今天簡單整理了下高通8250平臺使用的PDpolicy_engine狀態機流程,記錄一下

原创 如何在Preloader和LK中添加新驅動

MT6785平臺默認LED的控制方式是硬件控制,如果要在preloader和lk中操作LED就要將LED切換到軟件控制,下面以MTK MT6785平臺爲例,添加LED驅動。 preloader階段添加LED驅動 1.在preloa

原创 app通過hal調用訪問led

app通過hal調用訪問ledapp通過hal調用訪問ledAndroid5.0app調用hal架構介紹以led爲例向系統添加hal接口一、添加app訪問的ILedService接口二、向系統添加ledservice三、JNI 提

原创 使用Android stdio過程遇到的問題

使用Android stdio過程遇到的問題提示The following SDK components were not installed google_apis-google-21 提示The following SDK c

原创 APP通過JNI調用直接訪問LED燈DEMO

APP通過JNI調用直接訪問LED燈DEMO一、實現一個簡單的LED操作APP二、通過jni本地調用操作led燈 本章將實現一個簡單的app通過JNI本地調用訪問開發板LED燈的demo,用來理解App是如何來訪問我們的開發板硬件

原创 根據cmdline在驅動中加載不同硬件配置

有些時候隨着產品的開發迭代硬件配置發生了不同,但是需要使用一套軟件來兼容不同的硬件批次,這時候使用dtsi來配置就無法達到我們兼容的目的了,這時候可以在BootLoader階段檢測不同的HWID來區分不同的硬件批次,然後修改不同的

原创 高通平臺中爲一個server添加SELinux權限

假設我們在Android平臺中實現了一個server,編譯生成的應用程序位於/vendor/bin/testfd.下面爲這個應用程序添加selinx權限。 1.在devices/qcom/sepolicy/vendor/commo

原创 開發板支持nfs掛載根文件系統啓動

剛開始調試程序的時候經常需要修改程序調試程序,這時候頻繁的下載代碼就比較麻煩,開發初期可以使用NFS的方式掛載根文件系統,這樣調試將非常方便,開發板配置nfs掛載根文件系統需要按如下配置內核: 1、配置網絡部分,主要是使能CONF

原创 驅動中常用的獲取devices tree屬性的api

例如dts文件中設置如下: qcom,sw-jeita-enable; qcom,usb-icl-ua = <2500000>; qcom,thermal-mitigation = <1800000 1600000

原创 git 上傳和下載

1.使用git獲取源碼 首先Ubuntu安裝git 軟件: sudo apt-get install git 第一次使用git 時需要配置name 和郵箱: git config --global user.name “tangt

原创 驅動中的IIC設備添加

現在很多外設都會用到IIC來進行通訊,記錄iic寫驅動的寫法,以g-sensor操作爲例 首先需要將IIC操作的設備掛載的IIC總線上去,有兩種寫法 1.在arch/arm/mach-s5pv210/mach-x210.c中添加設

原创 ARM64架構的寄存器

ARM64提供了31個通用寄存器,其用途如下表: x0~x7:傳遞子程序的參數和返回值,使用時不需要保存,多餘的參數用堆棧傳遞,64位的返回結果保存在x0中。 x8:用於保存子程序的返回地址,使用時不需要保存。 x9~x15:臨時寄

原创 android平臺的充電階段簡析

一般的充電IC都會有一下一個充電階段: 1 Trickle-charge 涓流充電 2 Preconditioning (precharge) 預充電 3 Constant current (fast charge) 恆流充電 4 C

原创 Linux 內核鏈表的使用

這裏寫自定義目錄標題 Linux內核鏈表的核心思想是:在用戶自定義的結構A中聲明list_head類型的成員p,這樣每個結構類型爲A的變量a中,都擁有同樣的成員p,如下: struct A{ int property; struct

原创 Android中增加硬件抽象層(HAL)模塊訪問Linux內核驅動程序

在Android中增加硬件抽象層(HAL)模塊訪問Linux內核驅動程序之前,假設我們的驅動程序已經存在可讀可寫的/dev/hello節點。下面就來編寫代碼實現。 一、進入到hardware/libhardware/include/h