boundlessAbjure的专栏

六千尺的天空

linux驱动——中断

linux驱动——中断 中断为什么要区分上下文: 1, 中断不是一个task实体,因为睡眠或阻塞操作调用了schedule(),无法恢复状态 2, 中断执行时间过长,影响效率。(中断的优先级很高,其他进程等待中)   主要说明中断在驱动中的大致实现:<不涉及具体的内核...

2018-12-24 15:43:44

阅读数 13

评论数 0

audio基础——speaker知识介绍

audio采集过程:  采样——量化——编码;audio播放过程与之相反。 1, speaker测试 2, codec参数调试 3,音频通路DAI介绍——I2S与PCM   1, speaker测试 Speaker测试项: 频率响应: 频响曲线范围 最大声压级: 响度 声学失真:...

2018-12-20 15:15:33

阅读数 29

评论数 0

tinyalsa工具使用——tinycap,tinyplay,tinymix

1,tinycap 2,tinyplay 3,tinymix及分析   1,tinycap hello_world:/ # tinycap Usage: tinyca...

2018-12-20 10:08:22

阅读数 50

评论数 0

ALSA驱动分析

1,概述 2,ALSA框架介绍 3,ALSA声卡注册过程 4,ALSA设备节点创建 5,tinyalsa调用流程   1,概述 声卡创建过程: 1, 创建声卡实例. snd_card_create 2, 创建逻辑设备. snd_device_new 3, 设置PCM逻辑设备的sub...

2018-12-19 19:05:55

阅读数 16

评论数 0

如何学习源码----转

这是前言在Android系统源码上摸索4年,说说我的看法:显然Eclipse不是阅读Android源码的好工具,不流畅,搜索低效,继承性关系/调用关系都无法有效查看。推荐Source Insight,在...

2018-08-17 17:44:53

阅读数 200

评论数 0

linux驱动之块设备驱动

块设备驱动的系统架构 VFS: 是对各种具体文件系统的一种封装,用户程序访问文件提供统一的接口。例如: EXT2,FAT,NFS等 系统架构—Cache: 当用户发起文件访问请求的时候,首先回到Cache中寻址文件是否被缓存了,如果在Cache,则直接从cache中读取。如果...

2018-08-17 15:24:28

阅读数 70

评论数 0

linux驱动之字符设备驱动

字符设备驱动框架: cdev结构体: 描述字符设备; dev_t:定义设备号(分为主、次设备号)以确定字符设备的唯一性; file_operations:定义字符设备驱动提供给VFS的接口函数,如常见的open()、read()、write()等; 字符设备驱动模型如下: 结构体...

2018-08-09 11:11:29

阅读数 53

评论数 0

BSP driver之TouchPanel驱动调试故障

触摸屏驱动调试过程: 第一步: 移植驱动,确保Touch功能ok 第二步: 测量工作电压,i2c速率;测量上下电时序 第三步:固件升级 1) 模组ID、固件版本号确认,确认升级需求,修改逻辑 2) 首先确认模组是否一致,确认FW版本号,擦除升级。注意:升级中断电情况需...

2018-08-01 11:47:14

阅读数 76

评论数 0

unix c编程:进程控制

进程ID pid_t getpid(); //进程ID pid_t getppid(); //父进程ID pid_t getuid(); //实际用户ID pid_t geteuid(); //有效用户ID pid_t ge...

2018-07-11 16:12:48

阅读数 38

评论数 0

unix c编程:进程环境初解

进程 狭义定义:进程是正在运行的程序的实例 广义定义:进程是一个具有一定独立功能的程序关于某个数据集合的一次运行活动。它是操作系统动态执行的基本单元,在传统的操作系统中,进程既是基本的分配单元,也是基本的执行单元。 进程的概念主要有两点: 第一,进程是一个实体。每个进程都有它自己的地址空间...

2018-07-10 17:08:42

阅读数 31

评论数 0

unix c编程:进程资源控制getrlimit,setrlimit

转载自: [likun_tech的专栏](https://blog.csdn.net/likun_tech/article/details/7584234) linix系统函数 名称   ge...

2018-07-10 17:07:35

阅读数 25

评论数 0

创建内存流:fmemopen()函数详解

创建内存流的3个函数如下: #include <stdio.h> FILE* fmemopen(void*buf, size_t size, const char* mod...

2018-06-21 14:07:13

阅读数 57

评论数 0

unix c编程:带缓冲的文件 I/O

open操作 FILE *fopen(const char *path, const char *mode); //作用:打开一个文件流,打开失败则返回NULL FILE *freopen(const char *path, const char *mode, FILE *stream); //...

2018-06-20 09:32:40

阅读数 41

评论数 0

unix c编程:目录操作

access、truncate、link 、dir操作 access int access(const char *filenpath, int mode); 作用: 判断是否对文件有操作权限 在头文件unistd.h中的预定义如下: #define R_OK 4 只判断是否有读权限 ...

2018-06-12 17:44:06

阅读数 87

评论数 0

unix c编程:不带缓冲的文件 I/O总结

open、create、lseek、read、write、pread、pwrite、dup、dup2、sync、fsync、fdatasync open操作 #include<fcntl.h> int open(const char*...

2018-06-12 09:45:24

阅读数 41

评论数 0

c++编程之new&delete

转自 深入探究 new 和 delete 在C++中,我们应该经常会用到new、delete,它们是C++的一个关键字,同时也是一个操作符,下面我将我对这两者的了解和学习做一个总结和探讨。 一、new和delete的全...

2018-05-28 14:22:19

阅读数 59

评论数 0

c++编程之关键字string

使用场合: string是C++标准库的一个重要的部分,主要用于字符串处理。可以使用输入输出流方式直接进行操作,也可以通过文件等手段进行操作。同时C++的算法库对string也有着很好的支持,而且string还和c语言的...

2018-05-28 11:14:06

阅读数 281

评论数 0

module_init的加载和释放

转自:http://blog.csdn.net/dysh1985/article/details/7597105   像你写C程序需要包含C库的头文件那样,Linux内核编程也需要包含Kernel头文件,大多的Linux驱动程序需要包含下面三个头文件:#include &...

2018-03-30 15:33:49

阅读数 42

评论数 0

printk日志打印

    printk的loglevel和日志记录分析(分析版本是ubuntu7.10,内核源码是2.6.23)  首先,printk有8个loglevel,定义...

2018-03-30 15:09:40

阅读数 143

评论数 0

如何快速转载博客

前言  对于喜欢逛CSDN的人来说,看别人的博客确实能够对自己有不小的提高,有时候看到特别好的博客想转载下载,但是不能一个字一个字的敲了,这时候我们就想快速转载别人的博客,把别人的博客移到自己的空间里面,当然有人会说我们可以收藏博客啊,就不需要转载,(⊙o⊙)… 也对。。实现  因为我自己当初想转...

2018-02-24 10:13:10

阅读数 122

评论数 0

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