自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(36)
  • 收藏
  • 关注

原创 Linux 设备树详解

设备树( Device Tree)是一种描述硬件的数据结构,在操作系统( OS)引导阶段进行设备初始化的时候,数据结构中的硬件信息被检测并传递给操作系统最早诞生于 Open Firmware, Flattened Device Tree (FDT)格式标准。dts 文件( Device Tree Source, dts)是以 ASCII 文本形式描述设备树内容。dtb 文件是二进制格式,编译工具为: Device Tree Compiler( DTC)。

2024-01-16 15:01:20 1353 1

原创 字符串转16进制

【代码】字符串转16进制。

2023-03-30 14:09:30 372

原创 获取文件MD5值

在开发过程中,会遇到需要OTA升级,文件拷贝等操作。需要判断下载或者拷贝的文件是否成功,需要通过比对文件前后的md5值。使用OpenSSL库获取文件的md5值。

2023-03-29 20:34:00 436 1

原创 Android监听U盘插入,自动查找文件

Android 监听U盘拔插,自动播放U盘视频

2023-03-29 14:58:54 876

原创 Android WIFI架构

Android wifi架构

2022-10-10 19:02:52 1524

原创 HIDL 原理及使用详解

Android软件架构设计

2022-07-28 19:25:46 12737

原创 Android系统的启动流程

Android系统启动流程

2022-07-27 20:55:11 672

原创 如何根据backtrace反推代码具体异常位置

调试

2022-07-27 10:47:31 637

原创 adb常用命令

adb

2022-07-27 10:23:56 2124

原创 MT9632/MT9630/MT9950 USB+UART方案触摸缩放

触摸缩放

2022-07-27 09:53:04 753

原创 Binder总结

Binder总结

2022-07-26 20:11:10 327

原创 Mstar 848应用图标/遥控器的点击声音

mstar 848

2022-07-26 19:40:09 325

原创 MT9632音频功率调试

mt9632

2022-07-26 18:04:11 1235

原创 会议教育机之另外一种触摸穿透机制,使用Android输入子系统

触摸穿透机制

2022-07-26 10:28:24 792

原创 MT9632/MT9630 按键板配置说明

mtk平台按键板配置

2022-07-13 19:51:22 651

原创 Android 热点开启流程

Android 双wifi 热点状态机

2022-07-12 20:32:42 4654 5

原创 WiFi、蓝牙以及双WiFi流程

wifi驱动、蓝牙驱动、Android双wifi

2022-07-12 16:12:54 3031

原创 MT9630/9632 遥控器配置

MTK 遥控器架构设计

2022-07-10 15:13:15 3064

原创 Mstar 848 修改背光频率

Mstar 848修改背光频率一:背光相关的属性主要有两个,一个是背光频率,一个是占空比。 背光频率:针对 PWM 调光的频,每个型号的屏有一个背光的频率范围。如果背光不在 要求的范围内,就会出现一个滚动的黑条(水波纹)。 占空比:针对 PWM 背光的屏,用来调节背光的亮度,当正占空比越大时,背光越亮, 越小时,背光就暗。当占空比不在 100%时,使用手机拍照,可以明显看到滚动的黑条。当 占空比为 100%比,这个时候的调光是一条直线,可以看到滚动的黑条消失。二:通...

2020-12-31 13:29:24 1017

原创 Android硬件访问服务框架

一:JNI接口访问硬件Android应用程序通过加载C库,来访问硬件驱动程序来操作硬件设备。技术要点是:1:Android应用程序通过loadLibrary来加载C Library2:在C Library里面实现JNI_Onload,目的的一旦C库被加载这个JNI_Onload方法就会被调用。3:在JNI_Onload方法里面注册相关的本地方法,注册本地方法即:使得C语

2017-03-18 16:05:21 516

原创 Android系统APP访问硬件之JNI方式0002

一:神马是JNI,JNI是Java Native Interface的缩写,中文名字为Java本地接口语言。也正是它的存在使得Java程序可以去访问Linux内核当中的驱动程序,也由于它的存在使得Android程序具有跨平台的特点。这里是以前编写的JNI文档,记录了下来http://url.cn/45e3wjL。二:平台介绍1:开发板  tiny4412  2:实现的目标,使用

2017-03-05 18:11:47 401

原创 Android系统之APP访问硬件--------JNI与硬件访问服务0001

对于Android驱动,批开复杂的Android系统框架,这里先提出一个简单的问题:一:Android应用程序的编写使用的是Java,并且能够访问C库,而驱动程序的实现恰好是使用C语言来实现的,那么驱动程序就变得简单化了。     由此,引出了编写Android驱动的第一种方法:                                    通过JNI

2017-03-05 17:43:04 701

原创 从零写u-boot,用于启动内核

开篇:提高启动速度:1.增大时钟频率,将FCLK由200Mhz提高到400Mhz,但是效果不明显2.启动icahe(指令高速缓存)/* 启动ICACHE   可以大大加快启动速度 仿照u-boot*/mrc p15, 0, r0, c1, c0, 0@ read control regorr r0, r0, #(1mcr p15, 0, r0, c1, c0, 0

2016-10-02 17:22:04 399

原创 如何使用u-boot(7)

一 如何使用u-boot:(version:u-boot-1.1.6)1 打补丁:tar xjf /mnt/hgfs/neo/tools_linux/u-boot-1.1.6.tar.bz2  -C ./cd u-boot-1.1.6/patch -p1 2 配置:make 100ask24x0_config3 编译:make4 下载:tftp 30

2016-10-02 17:12:25 293

原创 u-boot之命令分析(6)

u-boot之命令分析:分析run_commandrun_commandprocess_macros (token, finaltoken);  /*处理宏*//*解析传进来的命令和参数,并将他们提取出来*/if ((argc = parse_line (finaltoken, argv)) == 0) {rc = -1; /* no command at all */

2016-10-02 17:10:34 242

原创 C家家

第一课C到C++的升级 1:c++强调类型C++强调类型,C不是很强调类型;例如:在C++编译器中struct  student{const  char*  name;Int    age;};这里相当于定义了一种新的student类型。可以直接用student去定义一些变量。例如:student  student1,student2;但是在C编译器中

2016-09-30 22:24:37 535

原创 u-boot启动内核过程(5)

u-boot启动内核过程分析:u-boot启动内核s = getenv ("bootdelay"); //读取环境变量run_command (s, 0); //执行命令bootdelay: nand read.jffs2 0x30007FC0 kernel; bootm 0x30007FC0nand read.jffs2 0x30007FC0 kernel:说明:

2016-09-23 14:07:50 302

原创 u-boot第二阶段代码(4)

开篇:1.第二阶段代码一开始进行各种设置和初始化,包括串口,nand,nor,网卡等,为u-boot后面提供基础2.初始化完之后,u-boot会从环境变量中读取bootdelay的参数,然后倒数计时,假如在这期间没有空格按下,那么u-boot就会运行启动内核的命令,从而一去不复返3.假如有空格按下,u-boot将进入死循环即串口控制台,等待用户输入命令来解析运行该命令。

2016-09-23 13:52:52 252

原创 uboot第一阶段代码(3)

开篇:u-boot 第一阶段干了啥事:1.set the cpu to SVC32 mode  设为管理模式2.turn off the watchdog     关看门狗      3.mask all IRQs by setting all bits in the INTMR - default  屏蔽所有中断4.Init     各种设置4-1.flush v4 I/

2016-09-23 13:46:54 344

原创 uboot-Makefile分析(2)

Makefile分析截取Makefile中主要代码分析:Makefile:# load ARCH, BOARD, and CPU configurationinclude $(OBJTREE)/include/config.mk //包含配置生成的config.mkexport ARCH CPU BOARD VENDOR SOCifeq ($(ARCH),arm) /

2016-09-23 12:42:21 258

原创 u-boot配置过程(1)

分析配置过程:Makefile:make 100ask24x0_config MKCONFIG := $(SRCTREE)/mkconfig 100ask24x0_config : unconfig @$(MKCONFIG) $(@:_config=) arm arm920t 100ask24x0 NULL s3c24x0//mkconfig 100ask24x0 arm ar

2016-09-23 12:31:35 244

原创 ELAN-XD7-TP移植总结

一:添加A13专用操作函数二:修改配置文件,修改触摸屏的名字,IIC设备地址。三:修改模块加载函数为A13的模式四:在i2c_driver结构中填充address_list和class成员五:修改probe函数修改注册中断的函数elan_ktf2k_ts_register_interrupt修改如下1)设置中断模型err = ctp_set_irq_mode("ctp_

2016-09-19 22:15:30 503

原创 GT9xx触摸屏驱动总结

GT9xx触摸屏驱动总结一:GT9xx触摸屏驱动移植过程出现的问题1:GT9xx触摸屏驱动的模块加载函数没有执行到。具体情况:现象:.ko文件已经是最新的,烧进去之后,或者使用adb工具push进去之后,打印出来的log信息中发现没有执行GT9xx触摸屏驱动的加载模块函数。原因:修改后期加载模块文件错误错误的做法:修改了A13\android\out\tar

2016-09-19 22:00:17 10282

原创 Mstar-TP在线升级总结

对于驱动的学习,个人习惯总是从此驱动的相关核心结构和API接口函数开始;然后再去看代码。对于这款机器TP在线升级驱动也是如此,先来看看它有什么样的结构和接口函数。1:平台   ---------全志A13 cortex-A82:触摸屏 ---------mstar22383:Linux内核  ---------3.0.15一:A13的 ctp_platf

2016-09-19 21:30:35 1706

原创 智能电视recoveryUI设计

recovery多国语言                    平台:xxxxxxxx                                  Android系统版本:5.1.1  一:阅读recovery代码,理清流程            recovery的多国语言ui的设计代码位于s905\bootable\recovery目录下,其中r

2016-09-18 11:23:42 2156

原创 第一章 UVC驱动之虚拟视频驱动

第一章 UVC驱动之虚拟视频驱动1.1视频驱动的整体框架内核的V4L2 摄像头驱动的设计采用分离分层的思想,整个框架分为四大部分:应用空间、内核核心层、硬件驱动相关层;具体硬件设备。视频驱动的整体框架见下图: 图1.1 V4L2驱动框架Figure 1.1 V4L2 driver framework1.2视频驱动代码流程分析1.2.1 虚拟视

2016-05-16 11:45:44 745

mt9950文档,显示开发

TV 商显 机顶盒 投影仪 MTK Android 底层驱动文档,GPIO配置 IIC 遥控器 按键板 pwm HDMI通道等资料

2023-06-09

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除