- 博客(22)
- 收藏
- 关注
原创 Qt工具之时间累加器
Qt工具之时间累加器 又到了一年年终总结的时候,虽然过往的一年依旧是被安排的满满当当的。但是想细分析过往一年所做的事情以及取得的成绩时,又总觉得缺少可以衡量业余时间绩效的数据。 新的一年里我想清楚的掌握时间的流向! 于是我就自己写了这么一个小工具,并将其命名为“时间都去哪了”。其主要功能就是非常方便的帮我累计一年内我花在不同事情上的时间。 目前支持的功能: 1、支持任意数量的自定义事件,即你想统计时间的事情; 2、切换不同的事件,自动显示当前事件的累计时间; 3
2021-02-16 21:18:24
1448
2
原创 Android添加驱动
Android添加驱动 该文在以添加触摸屏驱动为例,介绍添加驱动的方法。1、添加驱动文件 将驱动文件添加到touchscreen文件夹下(此次要添加的驱动是只是将.c .h文件直接放在touchscreen文件夹中,要添加的驱动本身不包含文件夹)android\device\renesas\kernel\drivers\input\touchscreen2、Kconfig...
2020-04-02 14:53:19
1891
原创 Linux内核printk的打印级别
Linux内核printk的打印级别 1、查看打印等级方法如下:cat /proc/sys/kernel/printk//默认值为 7 4 1 72、这4个数字代表的含义kernel/printk.c 中被定义的,如下:int console_printk[4] = { DEFAULT_CONSOLE_LOGLEVEL, /* console_loglevel *////控...
2020-03-02 17:25:45
990
原创 Linux中断处理API介绍
Linux中断处理API介绍 一、注册中断 Linux内核提供注册中断的方法有requese_irq和request_threaded_irq两个函数。 1.1、request_threaded_irq函数内核源码分析/** * request_threaded_irq - allocate an interrupt line * @irq: Interrupt line to ...
2020-03-02 11:57:39
359
原创 container_of介绍
container_of介绍 一、container_of功能介绍 给定结构体中某个成员的地址、该结构体类型和该成员的名字从而获取这个成员所在的结构体变量的首地址。二、源码分析/** * container_of - cast a member of a structure out to the containing structure * * @ptr: the...
2020-03-01 22:49:24
303
原创 Linux内核定时器
Linux内核定时器 一、内核定时器介绍 内核定时器是内核用来控制在未某个时间点(基于jiffies(节拍总数))调度执行某个函数的一种机制,相关函数位于<linux/timer.h> 和 kernel/timer.c 文件中。 当内核定时器定时时间到达时,会进入用户指定的函数,相当于软中断。内核定时器注册开启后,运行一次就不会再运行(相当于自动注销),我们可以重新设置定时...
2020-02-29 18:42:15
246
原创 Linux内核工作队列
Linux内核工作队列 一、工作队列介绍 在linux中断编程中,需要中断程序分成中断顶部和中断底部两部分,顶部负责做中断标志,然后耗时的事情在中断底部执行。那么底部分代码实现可以通过内核工作队列实现。我们就必须先知道什么是内核工作对列。 工作队列(work queue)是另外一种将工作推后执行的形式,它和内核定时器推后的情况有所不同。工作队列可以把工作推后, 交由一个内核线程去执行,...
2020-02-29 09:45:37
193
转载 Linux 中断处理的核心:顶半部和底半部
Linux中断处理的核心:顶半部和底半部 原文链接:https://blog.youkuaiyun.com/yuesichiu/article/details/8286469 设备的中断会打断内核中进程的正常调度和运行,系统对更高吞吐率的追求势必要求中断服务程序尽可能地短小精悍。但是,这个良好的愿望往往与现实并不吻合。在大多数真实的系统中,当中断到来时,要完成的工作往往并不会是短小的,它可能要进行较大...
2020-02-28 21:30:19
213
原创 内核崩溃
内核崩溃 1、问题描述 当屏幕接在机器上时,主动安装、卸载驱动都是一切正常。但是当上电时没有接上屏幕,然后主动去卸载驱动会导致内核崩溃。2、log截选[ 135.779814] Unable to handle kernel paging request at virtual address ffff000000dd36a8[ 135.780842] Mem abort inf...
2020-02-28 19:35:05
1598
原创 虚函数
虚函数 一、使用场景 当在项目中我们不确定外部模块是否提供一个函数func,但是我们不得不用这个函数,为了代码能够正常编译、运行则自己模块代码中定义一个弱函数即可。二、weak关键字介绍int attribute((weak)) func(…){return 0;} ...
2020-02-25 22:07:34
252
原创 定时器输出PWM波
定时器输出PWM波 一、STM32专栏目录二、Linux专栏目录三、Android专栏目录注意:该文是以配置寄存器的方式,从寄存器层面讲解如何配置定时器输出PWM波形。概述: 该文主要介绍了PWM的基本概念、PWM名词介绍、定时器为何能够输出PWM波、官方手册对定时器PWM模式介绍、PWM配置代码、以及生成的波形。1、PWM简介 PWM(Pulse Width...
2020-02-06 16:11:30
2778
原创 AT24C02模块
AT24C02模块 概述: 该文主要描述了,AT24C02简介、AT24C02特性、硬件原理图、管脚描述、从器件地址、写周期限制、读写操作时序。1、AT24C02简介 AT24C01/02/04/08/16是一个1K/2K/4K/8K/16K位(AT24C02大小为256字节)串行CMOS E2PROM内部含有128/256/512/1024/2048个8位字节,CATALYST公...
2020-02-05 20:19:17
5375
原创 I2C协议(模拟时序含代码)
I2C协议 概述:1、I2C 总线的概念 I2C总线是PHLIPS公司在20世纪80年代推出的一种串行总线。具有引脚少,硬件实现简单,可扩展性强的优点。2、I2C协议术语介绍术语 描述发送器发送数据到总线的器件接收器接收器从总线接收数据的器件 主机 初始化发送 产生时钟信号和终止发送的器件 从机 被主机寻址的器件 多主机...
2020-02-04 17:41:39
1316
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人