NTSTATUS functionName(PDEVICE_OBJECT pDeviceObject, PIRP pIrp) { //业务代码区 //设置返回状态 pIrp->IoStatus.Status = STATUS_SUCCESS;//getLastError()得到的值 pIrp->Io ...
2020-02-15 关键字: Linux 中输入设备大致可分以下几种: 1、按键/键盘(keyboard) 2、鼠标(mouse) 3、触摸屏(touchscreen) 4、游戏杆(joystick) 输入子系统的目的是为了屏蔽众多输入设备在硬件上的差异化,使得在开发输入设备的程序时能更简单统一。 ...
分类:
系统相关 时间:
2020-02-15 18:32:04
阅读次数:
111
2020-02-14 关键字:Linux驱动中的probe函数是如何执行的 1、设备驱动模型 嵌入式 Linux 驱动开发往往都是按照如下的步骤来进行的: 1、实现入口函数 xxx_init() 和卸载函数 xxx_exit() 2、申请设备号 register_chrdev() 3、创建设备文件节 ...
分类:
系统相关 时间:
2020-02-14 18:51:21
阅读次数:
81
前面的队列以及锁都是基于阻塞是的操作。要实现同步,还可以通过信号也就是异步的方式来进行。例如在往文件的写入字符后,发送一个信号。捕捉到信号后执行动作。这样就不会造成阻塞,之前的阻塞性IO和POLL,是调用函数进去检查,条件不满足是造成阻塞。 应用层启动异步通知机制就三个步骤: 1 调用signal函 ...
分类:
系统相关 时间:
2020-02-09 11:51:12
阅读次数:
100
组件注册 1、@Configuration&@Bean给容器中注册组件 2、@ComponentScan-自动扫描组件&指定扫描规则 3、自定义TypeFilter指定过滤规则 4、@Scope-设置组件作用域 5、@Lazy-bean懒加载 6、@Conditional-按照条件注册bean 7、 ...
分类:
编程语言 时间:
2020-02-02 23:37:25
阅读次数:
95
设备:树莓派 3b+操作系统:Raspbian远程访问:SSH舵机型号:MG90S使用语言:C,使用wiringPi库。 遇到的难点:1. PWM频率计算2. 命令行参数传入C代码时,char向int转换 舵机控制主要用到的函数介绍: wiringPiSetup(); pinMode(1,PWM_O ...
分类:
其他好文 时间:
2020-01-27 15:36:13
阅读次数:
88
在做驱动开发时,经常会使用到的kmalloc函数进行内存的分配,下面对kmalloc在内核上的语言集进行相关的解释。 一、kmalloc 函数的原型: include void kmalloc(size_t size, int flags); 参数: kmalloc 的第一个参数是要分配的块的大小, ...
分类:
其他好文 时间:
2020-01-20 19:12:07
阅读次数:
85
我使用了两种驱动开发的模型来写了smart210上的按键驱动程序,这里做一下总结以及提供他人参考以及建议和改进,最后一个原因是自己很久没有写过博客了,现在想分享一下linux驱动开发程序的编写。 首先是Linux的中断处理机制。裸机开发中,通过中断标识一个函数指明该函数是中断处理函数,在编译器处理时 ...
分类:
系统相关 时间:
2020-01-17 22:44:26
阅读次数:
120
一般我们不管是做前端还是后端,为了提高代码的质量,会选择一种测试驱动开发(TDD)的办法来写代码进行单元测试。Jest 是 Facebook 团队开发的一款测试框架,为的是提高开发者的“开发体验”。我们做单元测试的时候需要分解出一个个独立的模块,但是这样做要写很多的 mock 代码(模拟的辅助函数) ...
分类:
编程语言 时间:
2020-01-14 20:52:43
阅读次数:
206
一、什么是单元测试 单元测试并不只是为了验证你当前所写的代码是否存在问题,更为重要的是它可以很大程度的保障日后因业务变更、修复Bug或重构等引起的代码变更而导致(或新增)的风险。 同时将单元测试提前到编写正式代码进行(测试驱动开发),可以很好的提高对代码结构的设计。通过优先编写测试用例,可以很好的从 ...
分类:
其他好文 时间:
2020-01-13 22:08:52
阅读次数:
111