自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

哈哈一笑

随笔记录,强行理解,如有错误,欢迎斧正

  • 博客(11)
  • 资源 (24)
  • 收藏
  • 关注

原创 高级字符设备驱动操作(wait_event/poll/访问控制)

wait_event阻塞指的是当执行操作的时候,如果条件未满足,则挂起线程直至条件满足之后在进行操作,被挂起的线程进入睡眠状态。当一个进程被置为休眠状态的时候,它会被标记为一种特殊状态并且从运行队列中移除。直到某些情况下修改了这个状态,进程才会继续运行。休眠的进程会被搁置到一边,等待将来某个事件的发生。说明如何进入休眠状态前,请牢记两条规则:1、永远不要在原子上下文中进入休眠。2、当我们被...

2019-07-31 17:54:30 1327

原创 【5】字符设备ioctl操作

字符设备的ioctl操作

2019-07-31 10:17:20 2673

原创 并发和竞态

竞态:假设有两个进程(A和B),正在独立的尝试向同一片共享的数据进行操作,例如下面的示例代码中,假设在同一时间两个进程都到到了if判断的位置,那么两个进程都会分配内存,而每个进程都会将结果指针赋值给dptr->data[s_pos]。最终的结果就是谁后赋值谁会赋值成功,假设B赋值成功,那么A分配的内存将失去管理,造成内存泄露。if (!dptr->data[s_pos]) { dp...

2019-07-30 11:26:40 128

原创 【3】如何创建字符设备

创建一个字符设备

2019-07-29 10:21:37 2666

原创 创建设备节点 -废弃

书中所使用的是mknod命令手动创建节点,事实上有一组函数支持自动创建设备节点。内核中定义了struct class结构体,一个struct class结构体变量对应一个类,内核提供了class_create宏来创建一个类。调用class_create会在/sys/class目录下生成一个目录,接着再调用device_create来创建设备节点,创建的设备节点位于/dev目录下。定义在<li...

2019-07-26 17:46:00 1648

原创 字符设备的注册 -废弃

前面提到,内核内部使用struct cdev结构来表示字符设备。在内核调用设备的操作之前,必须分配并注册一个或者多个上述结构。在<linux/cdev.h>中定义了这个结构以及与其相关的一些辅助函数。如果需要动态的初始化,应该编写如下代码:struct cdev *my_cdev = cdev_alloc();my_cdev->ops = &my_ops;这时,...

2019-07-26 10:47:19 356

原创 file_operations、file、inode结构释义

file_operations、file、inode结构释义

2019-07-25 18:17:19 573

原创 设备号-废弃

1

2019-07-25 15:16:51 310

原创 函数语法快速参考(构造和运行模块、字符设备驱动程序)

insmodmodprobermmod用来装载到正运行的内核和移除模块的用户空间工具__init__initdata__exit__exitdata仅用于模块初始化或者清除阶段的函数(__init和__exit)和数据(__initdata和__exitdata)标记。标记为初始化的项目会在初始化结束之后丢弃;而退出项目在内核未被配置为可卸载模块的情况下被丢弃。内核通过将相遇的目标...

2019-07-25 11:28:21 182

原创 快速排序

基本逻辑以从小到大排序为例:找到一个基准值,然后把比基准值大的放左边,比基准值小的放右边,直至基准值左边全部比基准值小,右边全部比基准值大为止。然后以现基准值为分界线,左右两边分别重复此过程。 代码步骤调用排序函数的函数中1、定义数组头和数组尾排序函数中1、定义基准值和基准下标2、定义从数组头移动的下标和数组尾部移动的下标3、比较数组尾部和基准值,如果比基准值小,则双方...

2019-07-19 15:35:57 57

原创 获取和改变当前工作目录

获取当前工作目录:char *getcwd(char *buf, size_t size);改变工作目录:int chdir ( const char *path );实例#include <stdio.h>#include <unistd.h>#include <string.h>int main(int argc, char const...

2019-07-01 17:35:33 856

cura设置项详细说明

cura官方说明的中文翻译版本

2022-03-01

typora-setup-x64.zip

typora 0.11.18版本,最后一个免费版本

2021-12-30

SwitchControl.js

Three.js做的旋钮开关,可以点击开关展现开关开启或者关闭的旋转

2021-09-15

linux_fpbigtool.zip

Linux和android下递归转换8bit raw data为png图片,执行文档中的build_android.sh编译android可执行文件,执行文档中的build_linux.sh编译Ubuntu下可执行文件

2021-03-03

ndk-build.zip

Windows下使用git bash通过配置该ndk-build可以实现在git bash中执行ndk-build功能

2021-02-01

ndk-build.exe

通过ndk-build.exe转接,可以直接在git bash中使用ndk-build功能。配合cmder使用git bash可以做到类似Linux的体验

2020-07-02

logfilter_2.1.zip

Android log筛选器logfilter的增强版,相较之前的版本增加了如下功能: 1、F4一键清除所有标记行 2、高亮支持选中大小写敏感 3、log文件存放到以日为单位的目录中 4、增加logcat -c清除按钮 5、适配更多的LOG格式

2020-06-11

Total.Uninstall.6.27.0.CHS.Pro.x64.7z

精确分析已安装程序、监视新程序的安装过程、安全清理系统、管理 Windows 启动过程。控制随系统自启动的程序,服务和计划任务

2020-03-24

cmder.tar.gz

替代windows的cmd,支持大部分的linux命令,支持ssh连接Linux。功能强大,配置简单。配置说明连接:https://blog.csdn.net/qq_33242956/article/details/104966631

2020-03-19

Xshell_5.zip

Xshell 5安装包。安全终端模拟软件,它支持SSH1, SSH2, 以及Microsoft Windows 平台的TELNET 协议。

2020-03-16

星号密码查看器.zip

将那个像放大镜似的东东忘你保存过密码的地方拖,一会儿这边窗口上就会出现密码了。查看星号密码,查看窗口类名和句柄!!

2020-01-08

Exynos_4412_Datasheet_V1.0.pdf.zip

三星Exynos-4412的芯片手册,高清英文版本。内容非常详细,用于ARM 嵌入式学习非常好用

2019-08-07

csdn_dev.c

《创建一个简单的字符设备》博客一文的源代码,直接编译可用

2019-08-02

微信大礼包图书PDF(10本).rar

包含《Android系统下Java编程详解》《Android系统移植和驱动开发》《Android应用程序开发与典型案例》《从实践中学ARM体系结构与接口技术》《从实践中学嵌入式Linux C编程》《从实践中学嵌入式Linux操作系统》《从实践中学嵌入式Linux应用程序开发》《单片机C语言入门》《物联网技术与实践:基于ARM Cortex-M0技术》

2019-07-29

scull_examples.zip

《linux设备驱动程序》中的scull源码,可以搭配https://blog.csdn.net/yusiguyuan/article/details/10963621来学习

2019-06-27

Linux设备驱动程序设计入门.pdf.tar.gz

秉承《Linux Device Drivers》一书以实例为主的风格,但是实例的背景将非常简单,以求使读者能将集中精力于 Linux 设备驱动本身,理解 Linux 内核模块、Linux 设备驱动的结构、Linux 设备驱动中的并发控制等内容

2019-06-14

Linux设备驱动程序中文版第三版.pdf.tar.gz

高清版本Linux设备驱动程序中文版第三版,详细介绍Linux驱动开发攻略,驱动开发必读

2019-06-14

Linuxnhsjysxdsb.pdf.tar.gz

《Linux内核设计与实现》(第三版)PDF版本,详细介绍了Linux驱动的相关知识,推荐学习Linux驱动必读

2019-05-28

linuxsbqdcx.zip

LINUX设备驱动程序(第三版) PDF版本,详细介绍了Linux设备驱动的基础知识

2019-05-28

logfilter.zip

android log抓取和过滤工具,支持Windows/Linux下运行。可以非常方便的筛选关键词

2019-05-24

threadpool.tar.gz

Linux C线程池实现,有代码和调用参考。线程池代码有详细注释,对于互斥锁使用情况有详细说明

2019-05-17

cJSON-master

C语言中将文本格式转换为json格式进行保存,也可以利用该代码进行提取.json格式文件

2019-04-26

Linux驱动开发入门与实战

第二版Linux驱动开发入门与实战pdf,内容带标签和目录

2019-04-26

FL2440开发板内核移植笔记

FL2440内核移植过程笔记,描述了具体的过程和代码的书写

2019-04-26

空空如也

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

TA关注的人

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