![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
linux驱动
aa图图aa
这个作者很懒,什么都没留下…
展开
-
知识点总结
1:Linux设备中的并发控制 1.1:原子操作: atomic_t v = ATOMIC_INIT(0); atomic_read(atomic_t *v); atomic_add(int i, atomic_t *v); atomic_sub(int i, atomic_t *v); 1.2:自旋锁: spinlock_t lock; spin_lock_init(lock); spin_lock(lock); spin_unlock(lock); spin_trylock(lock); spin_l原创 2020-08-07 10:18:13 · 143 阅读 · 0 评论 -
Linux信号异步通知应用和驱动编程
一:设备驱动层 struct x_dev{ ... struct fasync_struct *async; }; /*fasync函数*/ static int x_fasync(int fd, struct file *filp, int mode) { struct x_dev *dev = filp->private_data; return fasync_helper(fd, filp, mode, &dev->async); ...原创 2020-07-02 11:09:31 · 127 阅读 · 0 评论 -
内存初始化代码分析(二):内存布局
一、前言 同样的,本文是内存初始化文章的一份补充文档,希望能够通过这样的一份文档,细致的展示在初始化阶段,Linux 4.4.6内核如何从device tree中提取信息,完成内存布局的任务。具体的cpu体系结构选择的是ARM64。 二、memory type region的构建 memory type是一个memblock模块(内核初始化阶段的内存管理模块)的术语,memblock将...转载 2020-03-13 10:39:43 · 323 阅读 · 0 评论 -
基于rockchip-px30平台arm v8架构下uboot启动分析
一:arch/arm/cpu/armv8/start.S 蓝色标注的是实际执行的代码片段,红色为注释 #include <asm-offsets.h> #include <config.h> #include <linux/linkage.h> #include <asm/macro.h> #include <as...原创 2020-03-06 14:59:40 · 1902 阅读 · 0 评论 -
基于px30平台RX809-1的codec声卡芯片的驱动分析
1:platform rockchip_i2s.c: 将platform中的component放入dai链表,component->dai_drv指向rockchip_i2s_dai rockchip_i2s_probe 1.1:/* clk init */ i2s->hclk = devm_clk_get(&pdev->dev, "i2s_hclk...原创 2020-02-25 16:43:18 · 1558 阅读 · 0 评论 -
altera cyclone gpio export driver
平台:altera cycloneV 功能:设备树添加gpio,驱动设置gpio状态以及是否导出 设备树添加节点: gpios { compatible = "cyclone_gpio_export"; status = "okay"; /* input */ g...原创 2019-05-16 16:22:33 · 355 阅读 · 0 评论