自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

技术交流

爱安卓,爱linux,爱生活。

  • 博客(8)
  • 资源 (9)
  • 收藏
  • 关注

原创 Android8.1系统Led的控制从底层到上层的实现

玩了安卓这么久了,你是否有好奇,它的底层到上层或者上层到底层的标准流程是怎么走的呢?这里通过apk操作一个GPIO控制led的亮灭从而实现从上层到底层的完整调用流程。写得不足之处欢迎有识之士不吝赐教,在此先行谢过,技术无边,欢迎各位大牛来此多多交流。Android Version:v8.0.1Linux Version:V4.4Hardware:mtk67391、在kernel层,编写和添...

2019-03-06 02:52:37 4061 3

原创 linux中LCD之framebuffer设备驱动

帧缓冲设备在Linux中也可以看做是一个完整的子系统,大体由fbmem.c和 xxxfb.c(例如mtk平台的mtkfb.c)组成。向上给应用程序提供完善的设备文件操作接口(即对FrameBuffer设备进行read、write、ioctl等操作),接口在 Linux提供的fbmem.c文件中实现;向下提供了硬件操作的接口,只是这些接口Linux并没有提供实现,因为这要根据具体的LCD控制器硬件进...

2019-03-20 01:40:18 867

原创 Linux内核和用户空间数据交互copy_to_user和copy_from_user

一、Copy_to_user功能:用于将内核空间的数据拷贝到用户空间。函数原型:unsigned long copy_to_user(void __user *to, const void *from, unsigned long n);*to是用户空间的指针,*from是内核空间指针,n表示从内核空间向用户空间拷贝数据的字节数如果数据拷贝成功,则返回零;否则,返回没有拷贝成功的数据字...

2019-03-14 01:09:51 8466

原创 linux内核的自旋锁spin_lock和互斥锁mutex_lock

访问共享资源的代码区域称作临界区。自旋锁(spinlock)和互斥锁(mutex,mutual exclusion的缩写)是保护内核临界区的两种基本机制。我们逐个分析。自旋锁可以确保在同时只有一个线程进入临界区。其他想进入临界区的线程必须不停地原地打转,直到第1个线程释放自旋锁。注意:这里所说的线程不是内核线程,而是执行的线程。自旋锁的基本用法:#include <linux/spin...

2019-03-12 02:26:10 2269

原创 linux中的轮询机制select/poll/epoll特点分析

select机制select本质上是通过设置或者检查存放fd标志位的数据结构来进行下一步处理。这样所带来的缺点是:1 单个进程可监视的fd数量被限制2 需要维护一个用来存放大量fd的数据结构,这样会使得用户空间和内核空间在传递该结构时复制开销大3 对socket进行扫描时是线性扫描poll机制poll本质上和select没有区别,它将用户传入的数组拷贝到内核空间,然后查询每个fd对应的...

2019-03-11 01:58:42 742

原创 linux驱动之poll/select轮询机制实例分析(结合驱动中断使用)

poll机制是基于等待队列wait_queue的,poll机制是对wait_queue的补充,等待队列会一直等待,直到condition满足条件并且wake_up队列头。 如果不满足,程序会一直阻塞。poll机制让wait_queue有了超时机制,如果阻塞一定时间后会直接返回。当我们实现一个中断方式的按键驱动时,虽然中断式的驱动,效率是蛮高的,但是大家有没有发现,应用程序的死循环里的读函数是一直...

2019-03-10 13:01:35 1962 2

原创 Sizeof与Strlen的区别与联系

1.sizeof操作符的结果类型是size_t,它在头文件中typedef为unsigned int类型。该类型保证能容纳实现所建立的最大对象的字节大小。2.sizeof是算符,strlen是函数。3.sizeof可以用类型做参数,strlen只能用char*做参数,且必须是以’’\0’'结尾的。sizeof还可以用函数做参数,比如:short f();printf("%d\n", s...

2019-03-08 02:40:18 157

原创 ubuntu14.04 64bit安装android的NDK开发环境

1、通过wget工具下载bin包:打开终端输入以下命令:$ wget -c http://dl.google.com/android/ndk/android-ndk-r10e-linux-x86_64.bin因为下载下来的是bin包,所以可以直接移动到需要安装的目录下面。将Android NDK bin包移动到你想要的目录下,如/opt/ndk/2、然后$ chmod a+x a...

2019-03-06 20:37:59 329

arm_adb-master_default.tgz

这个源码包是adb工具的源码包,可以直接下载下来交叉编译,适配不同架构的平台(arm/arm64/x86等),我这边是直接放到了arm机器上编译了,可以编译通过,得到adb工具,可以正常使用。根据README编译即可。

2021-12-30

arm平台可以使用的fastboot

在arm 平台上可以运行的fastboot工具

2021-06-11

fastboot-separated_from_android_4.2-master.zip

fastboot源代码,用于单独编译fastboot for linux-x86或arm-linux; 如果要交叉编译到arm平台可以按如下做法: 1、修改Makefile文件的交叉编译工具为你的交叉编译工具即可: #TOOLCHAIN= arm-linux- //注释掉 TOOLCHAIN= arm-linux-gnueabihf- //修改为你的交叉编译工具 2、执行编译 make 即可在当前目录得到fastboot工具,把它放到你的开发板运行即可。

2021-06-03

arm平台架构的lsusb应用程序

我们平时用lsusb都是x86平台上使用的,我这里编译了一个arm平台架构的,有需要的朋友可以下载。把他放到开发板上就可以执行lsusb来查看你设备连接了几个usb设备了,通过pid和vid确认。

2021-05-27

深入理解Android系统张元亮.rar

深入理解Android系统PDF版,张元亮著,本书一共18章,循序渐进分析了安卓系统的基本架构知识,本书适合安卓源码分析人员,安卓架构师,linux开发人员

2019-07-15

洛达项目AB152xP资料SDK相关说明

洛达项目AB152xP资料SDK的相关说明,包括编译工具的安装和使用,config tool工具的安装和使用等。

2019-01-17

加密IC-ATSHA204A的datasheet

atsha204a的datasheet,目前只有英文版,中文版的可自行翻译。

2019-01-09

MT6580平台安卓5.1系统调试加密IC--ATSHA204A

基于mt6580平台,安卓5.1系统,调试加密ic--atsha204a的驱动,使用i2c接口的驱动,通过i2c读写来配置加密芯片,代码中有很清晰,详细的注释,校验CRC部分,MAC算法则直接移植官方库文件的代码

2019-01-06

Driver_All_in_One_V0.1_Android_M.pdf

mtk驱动开发文档,android M(android6.0)版本,文档打开密码是1885459970

2018-12-18

空空如也

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

TA关注的人

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