![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Linux
文章平均质量分 64
AI PING
这个作者很懒,什么都没留下…
展开
-
Makefile 编译ko
KDIR := /home/workspace/rk3399_linux_release_v2.5.1_20210301/kernel/PWD ?= $(shell pwd)MARCH=arm64CONFIG_ALC5640=mobj-$(CONFIG_ALC5640) += alc5640.oall: make -C $(KDIR) M=$(PWD) ARCH=$(MARCH) modulesclean: rm *.mod.c -rf rm Module.sy.原创 2021-09-30 15:45:32 · 507 阅读 · 0 评论 -
字符设备驱动异步处理
1、测试程序/************************************************************************* > File Name: signal_chr.c > Author: Bond > Mail: 1325081677@qq.com > Created Time: 2021年04月06日 星期二 21时15分58秒**********************************...原创 2021-04-06 22:59:59 · 104 阅读 · 0 评论 -
linux poll 机制获取按键值
(1)通过insmod 加载驱动程序,然后运行测序程序。 测试程序会通过poll 机制休眠,当有按键值可读取时会立刻读取按键值1、驱动/************************************************************************* > File Name: kernel/drivers/ztl_driver/Trash/poll_eint/poll_eint.c > Author: Bond > ...原创 2021-04-05 23:41:47 · 282 阅读 · 0 评论 -
RK3288 7.1 ioremap 控制 gpio led
1、通过 echo "on" >dev/io_led0 点亮 gpio7_b5 led 通过 echo "off" >dev/io_led0 熄灭 gpio7_b5 led/************************************************************************* > File Name: chr_dev.c > Author: Bond > Created Time: 2021年...原创 2021-03-31 20:53:31 · 341 阅读 · 0 评论 -
2021-03-26
简单的linux 字符设备驱动/************************************************************************* > File Name: chr_dev.c > Author: Bond > Created Time: 2021年03月17日 星期三 13时44分36秒**************************************************************...原创 2021-03-26 22:11:48 · 62 阅读 · 0 评论 -
Android SELinux avc dennied权限问题解决方法
1、确认是否是selinux 问题setenforce 0(临时禁用掉SELinux)getenforce (得到结果为Permissive)如果问题消失了,基本可以确认是SELinux造成的权限问题,需要通过正规的方式来解决权限问题。type=1400 audit(1603165146.056:161): avc: denied { getattr } for pid=2635 comm="busybox" path="/mnt/media_rw" dev="tmpfs" ino=11..原创 2020-10-20 12:05:37 · 2877 阅读 · 0 评论 -
摄像头节点后移
diff --git a/kernel/drivers/media/v4l2-core/v4l2-dev.c b/kernel/drivers/media/v4l2-core/v4l2-dev.cindex ed5040e..920646e 100644--- a/kernel/drivers/media/v4l2-core/v4l2-dev.c+++ b/kernel/drivers/media/v4l2-core/v4l2-dev.c@@ -976,6 +976,7 @@ void vi原创 2020-09-21 15:43:06 · 170 阅读 · 0 评论 -
ubuntu 安装samba
Ubuntu 16.04安装配置Samba服务Samba是开源软件,用来让Linux系统与Windows系统的SMB/CIFS网络协定做连结,实现Windows主机与Linux服务器之间的资源共享。Samba服务为两种不同的操作系统架起了一座桥梁,使Linux系统和Windows系统之间能够实现互相通信,为广泛的Linux爱好者提供了极大方便。安装Samba使用apt-get安装: 1 $sudoapt-getinstallsambasamba-c...原创 2020-09-20 11:50:05 · 408 阅读 · 0 评论 -
android 7.1 双屏异显
显示屏刷图撕裂原创 2020-05-02 15:49:30 · 522 阅读 · 0 评论 -
DEVICE_ATTR_RW 宏分析
DEVICE_ATTR_RW 宏分析 举个例子 kernel/driver/rtc/rtc-sysfs.c 的宏分析 static DEVICE_ATTR_RW(wakealarm);static DEVICE_ATTR_RW(wakealarm);#define DEVICE_ATTR_RW(_name) \ struct device_attribute dev_...原创 2019-10-12 11:01:11 · 5550 阅读 · 0 评论 -
rk3288 Android 7.1 rt5640 调试
1、写一个设备节点用来操作寄存器static int codec_dmo_open_file(struct inode *inode, struct file *file){ return 0;}static ssize_t codec_dmo_write_file(struct file *file, const char __user *user_bu...原创 2019-09-29 21:15:15 · 1024 阅读 · 0 评论 -
pthread_getspecific和pthread_setspecific使用
pthread_getpecific和pthread_setspecific实现同一个线程中不同函数间共享数据的一种很好的方式/************************************************************************* > File Name: pthread.c > Author: Arctan ...原创 2019-08-28 18:00:06 · 284 阅读 · 0 评论 -
Android 7.1 从底层到上层分析 Led 例子
Led硬件原理图上图为我板子的Led硬件原理:通过 改变LED_CTL引脚的输出电平点亮Led 。低电平时红灯亮,高电平时蓝灯亮。1、驱动部分为上层提供 /dev/led 操作节点。led.c:/********************************************************************************** ...原创 2019-08-16 17:38:53 · 756 阅读 · 0 评论 -
内核互斥技术
在Linux系统中,可能出现多个进程(通过系统调用激怒内核模式)访问同一个对象,继承和硬中断访问同一个对象,进程和软中断访问同一个对象等。 如果临界区的执行时间比较长或者需要进入睡眠,可以使用如下技术: (1) 信号量。 (2)读写信号量。 (3)互斥锁。 (4)实时互斥锁 如果临界区执行时间很短,并且不能睡眠,可以用如下技术:...原创 2019-08-12 23:32:56 · 184 阅读 · 0 评论 -
Rk3399平台实现linux 系统调用
找到一个确认能编译到的kernel C文件添加系统调用函数如:./你的源码目录/kernel/fork.c 依照fork() 系统调用 添加自己的系统调用 SYSCALL_DEFINE0() 是指声明的这个系统调用含有零个参数添加相应的函数声明 include/linux/syscalls.h3、添加系统调用号 arch/arm64/include/asm/uni...原创 2019-07-31 11:03:22 · 514 阅读 · 0 评论 -
vim 实现函数列表功能
Ubuntu下:1. 安装exuberant-ctags2. 下载taglist_42.zip3. 解压taglist_42.zip4. 拷贝taglist下的doc和plugin文件夹到~/.vim文件夹下5. 进入~/.vim/doc目录,输入vim,然后用“:helptags .”在该目录下生成tags文件6. 用vim打开文件,然后输入":TlistTo...原创 2019-01-10 11:19:05 · 897 阅读 · 0 评论