Android 驱动
lf12345678910
这个作者很懒,什么都没留下…
展开
-
little kernel编译及启动 [LK]
vendor/brand/proprietary/bootable/bootloader/lk/makefileOUTBIN := $(BUILDDIR)/lk.binOUTELF := $(BUILDDIR)/lkvendor/brand/proprietary/bootable/bootloader/lk/make/build.mk$(OUTBIN): $(OUTELF) ...原创 2019-10-12 09:39:58 · 1375 阅读 · 0 评论 -
平台设备注册流程 platform_driver
kernel-4.4\include\linux\platform_device.h/** use a macro to avoid include chaining to get THIS_MODULE*/#define platform_driver_register(drv) \ __platform_driver_register(drv, THIS_MODULE)...原创 2019-10-12 09:36:39 · 571 阅读 · 1 评论 -
驱动模块加载流程 module_init
kernel-4.4/init/main.c:905: do_initcalls();do_basic_setup do_initcalls() do_initcall_level //for (fn = initcall_levels[level]; fn < initcall_levels[level+1]; fn++) do_...原创 2019-10-12 09:31:28 · 356 阅读 · 0 评论 -
串口初始化及读写
kernel-4.4\drivers\misc\mediatek\uart\uart.cmodule_init(mtk_uart_init);module_exit(mtk_uart_exit);一、注册串口设备mtk_uart_init[UART0]mtk_uart_probe err = clk_prepare(uart_setting->clk_uart_main...原创 2019-10-12 09:27:24 · 1379 阅读 · 0 评论 -
gdb+coredump 调试crash的程序
1. 打开 core dump查看是否打开1ulimit -c如果输出0, 说明没有打开。方法一:使用命令1ulimit -c unlimited可以打开,但是只对当前终端有效,方法二: 配置 /etc/profile 文件1sudo gedit /etc/profile在最后添加一行1ulimit -S -c unlimited > /dev...原创 2019-10-10 10:13:24 · 1041 阅读 · 0 评论 -
LINUX GPIO独立按键 和 GPIO矩阵键盘
http://blog.chinaunix.net/uid-20768928-id-5084287.html 这两种情况,内核中都有考虑,都在drivers/input/keyboard/下面。GPIO独立按键是gpio_keys.cGPIO矩阵键盘是matrix_keypad.c具体也没有什么好分析的,主要就是采用platform方式注册...转载 2019-05-22 09:21:36 · 1715 阅读 · 0 评论 -
tp virtualkeys
android/vendor/xxx/proprietary/xxx/mmi/input.cpp:563: strlcpy(path, "/sys/board_properties/virtualkeys.", sizeof(path));android/kernel/drivers/sensors/xxx.c:2332: pr_err("failed to create board...原创 2019-05-11 17:37:44 · 325 阅读 · 0 评论 -
Android 系统Recovery工作原理
http://www.lai18.com/content/1012274.html一、 Recovery模式中的三个部分Recovery的工作需要整个软件平台的配合,从通信架构上来看,主要有三个部分。①MainSystem:即上面提到的正常启动模式(BCB中无命令),是用boot.img启动的系统,Android的正常工作模式。更新时,在这种模式中我们的上层操作就是使用OTA或...转载 2019-05-11 17:29:00 · 1480 阅读 · 0 评论 -
dts 设备树简析
vendor/brand/kernel/linaro/arch/arm64/boot/dts/product_an.dtsvendor/brand/kernel/linaro/arch/arm64/boot/dts/product_ramdisk.dtsdts、中断、gpio、sysfs、proc fsgpio_export 、 gpio_export_linkcat /proc/in...原创 2019-10-10 11:01:25 · 517 阅读 · 0 评论 -
ALSA架构分析
主要分为以下几类:pcmC0D0p —— PlaybackpcmC0D0c —— CapturecontrolC0 —— Control,比如各种音频控件开关、音量增益等一套嵌入式硬件平台(Machine)包含了平台AP(Platform)和音频CODEC芯片(Codec),对应ASoC的三个设备驱动。这三个设备分别注册各自功能的dev设备,但都是以内核platform设备模型来创建....原创 2019-10-11 10:27:52 · 1414 阅读 · 1 评论 -
framebuffer分析
kernel-4.4/drivers/misc/brand/video/product/videox/mtkfb.c.compatible = "brand,MTKFB",unsigned int lcd_fps = 6000;mtkfb_probe//分配物理、虚拟地址disp_hal_allocate_framebuffer(fb_base, (fb_base + vramsi...原创 2019-10-11 10:30:00 · 824 阅读 · 0 评论 -
kernel 及 ramdisk 移植
合成boot.img:INTERNAL_BOOTIMAGE_ARGS: --kernel out/target/product/xxx/kernel --ramdisk out/target/product/xxx/ramdisk.img --base 0x80000000 --pagesize 2048 --cmdline console=ttyHSL0,115200,n8 androi...原创 2019-05-17 09:35:15 · 1002 阅读 · 0 评论 -
ALSA driver
ALSA stands for Advanced Linux Sound Architecture原创 2019-05-16 10:03:58 · 615 阅读 · 0 评论 -
fastmmi module模块
//各模块UI共有部分module.cppint module_exec_ui(module_info * mod) { int ret = -1; sem_init(&g_data_print_sem, 0, 0); if(is_key_module(mod)){ ret = pthread_create(&g_...原创 2019-05-16 10:02:35 · 349 阅读 · 0 评论 -
lightsService
http://max.book118.com/html/2016/0420/40891588.shtm public static final int LIGHT_ID_BACKLIGHT = 0; public static final int LIGHT_ID_KEYBOARD = 1; public static final int LIGHT_ID_BUTT...原创 2019-04-29 09:15:33 · 194 阅读 · 0 评论 -
fastmmi 底层cpp产测 分析
signal()函数理解在<signal.h> 这个头文件中。signal(参数1,参数2);参数1:我们要进行处理的信号。系统的信号我们可以再终端键入 kill -l查看(共64个)。其实这些信号时系统定义的宏。参数2:我们处理的方式(是系统默认还是忽略还是捕获)。yanhaiqun@ubuntu-server:~/001-GL40A63$ ki...原创 2019-05-06 15:07:38 · 338 阅读 · 0 评论 -
fastmmi ui 全测等
func_map.cpp//响应界面各个按钮//add end for combaudiostatic func_map_t func_list[] = { {"do_cancel", do_cancel}, {"do_extra_cmd", do_extra_cmd}, {"do_splashlight", do_splashlight}, ...原创 2019-05-14 09:35:19 · 209 阅读 · 0 评论 -
fastboot 刷机指令
#set FASTBOOT_DIR=%~dp0set FASTBOOT_DIR=%~sdp0echo %FASTBOOT_DIR%set ADB_CMD=%FASTBOOT_DIR%adb.exeset FASTBOOT_CMD=%FASTBOOT_DIR%fastboot.exe#%ADB_CMD% wait-for-device#echo - device ...原创 2019-05-14 09:36:39 · 2379 阅读 · 0 评论 -
背光 屏幕亮度
DisplayPowerController.java private void updatePowerState() { // Update the power state request. Slog.d(TAG, "updatePowerState:brightness=: " + brightness); ...原创 2019-05-14 09:42:36 · 890 阅读 · 0 评论 -
user fastboot 开关
/android/bootable/bootloader/lk/makefile#ifeq ($(TARGET_BUILD_VARIANT),user)# CFLAGS += -DDISABLE_FASTBOOT_CMDS=1#endifRELEASE_CER 定义为发布版本的关闭ifeq ($(TARGET_BUILD_VARIANT),user) i...原创 2019-05-07 09:26:49 · 492 阅读 · 0 评论 -
fastmmi conclusion
mmi.cppmain pre_config parse_strings launch_log write_file(WAKE_LOCK, "mmi"); sem_init(&g_sem_exit, 0, 0); sem_init(&am...原创 2019-05-15 09:54:25 · 244 阅读 · 0 评论 -
fastmmi flow and framework
int main函数mmi.cppagent_main.cppdiag_main.cppdebug_main.cppmisc启动进入mmi:第一个进程:mmi mmi starting MMI_PROC_TYPE(MMI_PROC_TYPE_MMI)第二个进程:log launch log process第二个进程:mm...原创 2019-05-15 09:54:56 · 409 阅读 · 0 评论 -
如何看系统到底用了哪个dtsi
http://blog.csdn.net/u013308744/article/details/50739514http://blog.csdn.net/armfpga123/article/details/51863442高通平台是根据board-id来匹配dts文件,查看lk日志,找到如下log,由此可以断定board-id=8B - 262971 - CDT versio...转载 2019-05-15 09:56:21 · 5557 阅读 · 0 评论 -
bootloader recovery
http://huaqianlee.github.io/2015/07/25/Android/Android%E6%BA%90%E7%A0%81bootable%E8%A7%A3%E6%9E%90%E4%B9%8BLK-bootloader-little-kernel/Android Recovery 源码解析和界面定制http://blog.csdn.net/austinde...原创 2019-05-10 11:32:20 · 2211 阅读 · 1 评论 -
Android 系统启动过程
Android启动流程分析之一:Bootloader(基于高通芯片)http://blog.csdn.net/ly890700/article/details/54586448http://blog.csdn.net/kv110/article/details/39274737Android系统启动过程由以下几个大步骤组成:BootRom, Bootl...转载 2019-05-16 10:00:26 · 788 阅读 · 0 评论 -
bootloader移植
http://www.zhimengzhe.com/linux/186849.htmllittle kernel分析_linux教程-织梦者(比较重要)可参看http://blog.csdn.net/hankhanti/article/details/6133570bootloader移植配置:配合 boot.img 来看会比较好理解.由此可知bo...原创 2019-05-15 10:05:24 · 1352 阅读 · 0 评论 -
gpio框架及处理流程分析
高通GPIO驱动(DTS方式) http://cache.baiducontent.com/c?m=9f65cb4a8c8507ed19fa950d100b92235c4380146d8b804b2281d25f93130a1c187bbde07b78435992833b314ab20b41e0f13372320625a09bbfd20c82e5866d72c8713b255edd1c0...转载 2019-05-15 10:06:31 · 593 阅读 · 0 评论 -
Android 的设备节点
Android使用Linux2.6,对标准内核改动较少,但是增加了一些内容,如yaffs文件系统Android专用驱动Ashmem匿名共享内存节点名称/dev/ashmem, 为用户空间程序提供内存分配机制,实现类似malloc的功能内核中代码路径: kernelmm/ashmeme.cC libutils库对其进行了封装:system/core/libcutils/ashmeme-...转载 2015-10-09 10:13:11 · 1590 阅读 · 0 评论