原创 UEFI 基礎教程 (十一) - Shell下讀取SMBIOS信息

一、 編寫源代碼 編寫UEFI Application 代碼C:\edkii\OvmfPkg\MyHelloWorldSMBios\MyHelloWorldSMBios.c, EFI_STATUS EFIAPI MyHello

原创 EFI 基礎教程 (八)- PCD 簡單使用

一、 編寫源代碼 編寫UEFI Application 代碼C:\edkii\OvmfPkg\MyHelloWorldPCD\MyHelloWorldPCD.c, EFI_STATUS EFIAPI MyHelloWorldP

原创 UEFI 基礎教程 (十二) - 使用標準C庫

一、 編寫源代碼 編寫UEFI Application 代碼C:\edkii\OvmfPkg\MyHelloWorldStdLibC\MyHelloWorldStdLibC.c, #include <stdio.h> int

原创 UEFI 基礎教程 (十三) - VFR,HFR 簡單使用

一、 修改UEFI UiApp源代碼 修改 FrontPageStrings.uni 與 FrontPageVfr.Vfr 添加字符串資源到 MdeModulePkg/Application/UiApp/FrontPageStr

原创 UEFI 基礎教程 (十) - FileIO 簡單使用

一、 編寫源代碼 編寫UEFI Application 代碼C:\edkii\OvmfPkg\MyHelloWorldFileIO\MyHelloWorldFileIO.c, EFI_STATUS OpenShellProto

原创 UEFI 基礎教程 (九) - EVENT 簡單使用

UEFI 基礎教程 (八) - EVENT 簡單使用 一、 編寫源代碼 編寫UEFI Application 代碼C:\edkii\OvmfPkg\MyHelloWorldEvent\MyHelloWorldEvent.c,

原创 Linux Input子系統淺析(一)-- MTK6735M(Android6.0)平臺內核實現

 Linux輸入設備總類繁雜,常見的包括有按鍵、鍵盤、觸摸屏、鼠標、搖桿等等,他們本身就是字符設備, 而linux內核將這些設備的共同性抽象出來,簡

原创 MTK6735(Android6.0)-按鍵燈的實現

一、按鍵燈的簡介     最近調試一下按鍵燈,今天抽空順便把的流程分析了一下。按鍵燈也是一種led,它的使用規則如命名一樣,當按鍵按 下亮燈,如果一定時間不操作的話,一會會滅燈。其實這裏的按鍵燈亮滅策略通常不是驅動來完成的,而是有用戶空間

原创 Android.mk的用法和基礎 && m、mm、mmm編譯命令

   一個Android.mk file用來向編譯系統描述你的源代碼。具體來說:該文件是GNU Makefile的一小部分,會被編譯系統解析一次或多次。你可以在每一個Android.mk file中定義一個或多個模塊。每個模塊屬下列類型

原创 platform_device與platform_driver

 做Linux方面也有三個多月了,對代碼中的有些結構一直不是很明白,比如platform_device與platform_driver一直分不清關係。在網上搜了下,做個總結。兩者的工作順序是先定義platform_device -> 註

原创 MTK6580(Android6.0)-使用DTS註冊平臺設備、匹配平臺驅動

一、初始化device treefile:kernel-3.18/init/main.casmlinkage __visible void __init start_kernel(void) { ... setup_arch(&co

原创 Linux Input子系統淺析(二)-- 模擬tp上報鍵值

通過前一節的分析得到,linux Input子系統上傳數據本質上是將input_dev的數據,上報給input_handler, 當用戶讀入event時,驅動層只需要利用copy_to_user將數據傳遞至用戶空間。當然,以上只是內核中L

原创 獲取手機內外部存儲空間的參數 && 如何決定一個apk的安裝位置 && APK安裝過程及原理詳解

    獲取android文件系統的信息,需要Environment類和StatFs類的支持。 (1)Environment 是一個提供訪問環境變量的類,常用的方法有:        A,getRootDirectory() ,返回

原创 MTK6580(Android6.0)-camera 驅動分析

一、MTK6580 平臺 Camera 驅動整體框架 mtk平臺三大件調試中,camera的調試難度最大,問題也就最多,爲此特地分析了一下整個camera驅動部分 實現過程,以下爲camera驅動框架序列圖:        從圖中可以看出

原创 windows qt 使用c++ posix接口編寫多線程程序(一)

一、多線程是多任務處理的一種特殊形式,多任務處理允許讓電腦同時運行兩個或兩個以上的程序。一般情況下,兩種類型的多任務處理:基於進程和基於線程。基於進程的多任務處理是程序的併發執行。基於線程的多任務處理是同一程序的片段的併發執行。多線程程序