自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 收藏
  • 关注

原创 uboot的配置、编译分析

在这篇文章里将来介绍s3c24x0的uboot的配置和编译的过程,首先,我们知道uboot在编译之前还要有其他的操作,分别是解压缩:拿到手的uboot一般是一个压缩包,第一步需要先解压缩(废话)打补丁:下载的uboot是从官网上下载的,所以它可能不是我们想要的,要想添加适合我们自己的功能,就要有一个自己的补丁文件,然后打补丁(patch -p1 < …/u-boot-1.1.6_jz...

2019-12-24 10:48:24 333

原创 输入子系统(二)

在上一节中介绍了Linux内核中的输入子系统的框架,在对输入子系统框架有了大概的了解之后,这一节来实际的编写代码,加深对输入子系统的理解,在写程序之前先来梳理一下,使用输入子系统编写程序的步骤1、最开始肯定是要注册一个代表物理硬件的input_device,这样的话,在内核成功识别之后才能对我们需要操作 的设备进行操作,2、提供对应的硬件操作函数 可以看出,在使用这个框架来编写程序之后,...

2019-12-14 21:25:52 126

原创 输入子系统(一)

1、框架之前写的驱动程序都是使用自己的框架,也只有我们自己知道在测试时该打开什么设备,那么,内核中提供了一套框架,将这些输入设备都进行了统一和规范化,这就是今天要来介绍的输入子系统打开内核source insight工程,在drivers目录下找到input.c,这是输入子系统的最开始的文件,从这里进行分析从上面这张图可以看到,input.c在它的入口函数里先注册了一个名为inout的类...

2019-12-14 14:37:21 400 1

原创 C函数形参传递

在上大学的时候,C语言的教材上有这么一个经典的案例–编写函数来交换两个数的值。这个案例针对的是C语言函数参数的传递过程,先来复习一下这个过程。上面的函数是第一个版本的交换两个数的代码,看上去没有问题,然后执行的结果却和我们预期的不一样从打印结果来看,在my_swap函数里确实是把a和b的值交换了,但是m和n的值还是原来的值,按道理来说m,n和a,b是对应的,所以,从结果来看,my_swa...

2019-12-11 19:52:14 2334

原创 异步通知

前面分别使用了查询、中断、poll机制编写驱动程序之按键驱动,这一节中来介绍另外一种机制—异步通知。所谓的异步通知就是应用程序不再主动的去查询按键的模式,它可以去做别的事情,一旦有了按键事件发生,驱动程序将主动的通知应用程序来读取按键值,该机制使用的就是Linux下的信号signal来实现的,先来看看应用程序的写法void my_signal_fun(int signum){}int m...

2019-12-10 23:52:30 324

原创 同步互斥

这一节来了解一下字符设备驱动中的同步互斥模式,同步互斥模式就是在一个时刻只能有一个应用程序打开这个字符设备驱动,其他的应用程序要想打开必须要等另一个应用程序关闭之后才能打开这个字符设备,实现同步互斥机制的方法有很多,最简单的方法就是定义一个变量,让这个变量的初始值等于1,在第一个程序打开驱动之后让变量减一变为0,当另一个应用程序到来的时候,首先去判断这个变量的值,读取到变量的值为0,再减一的话就变...

2019-12-10 23:32:13 217

原创 poll机制

1、在之前的按键驱动程序里分别使用了查询和中断的模式,1、使用查询的时候程序需要在一个循环里不停的去,读取按键的状态,这个时候可以看到CPU的使用率是非常高的。2、改进之后使用中断的模式进行查询,虽然在中断里可以让进城休眠,依次来降低CPU的占有率,但是若没有发生中断程序会一直在等待,很显然,这样的情况也不是我们想要的。今天继续对这个程序进行改进,使用的是另一种机制-poll,在进行应用...

2019-12-09 23:06:41 668

原创 按键-中断

1、介绍1、本节来写使用中断的按键程序,使用中断的时候有两个重要的函数,使用"request_irq()"函数来注册一个中断程序,使用"free_irq"函数来卸载注册的中断服务函数。2、既然是使用中断,那么就不能像使用轮询的时候那么消耗CPU资源,使用休眠和唤醒的机制应用程序在读按键引脚状态的时候,如果没有按键按下的使用让程序休眠在这里,使用"wait_event_interruptib...

2019-12-07 23:32:35 387

原创 使用驱动程序点亮LED灯

继第一节第一个驱动程序框架记录之后,本篇文章将会在上一篇驱动程序的框架下编写点亮LED的驱动程序,同样会对上一个框架进行修改,优化。接下来进入正题1、点亮LED程序框架分析在最开始之前先来梳理一下点亮LED程序的框架1、通过对驱动程序的框架分析,我们知道第一步都要从入口函数开始,第一个驱动里我写的入口函数很简单,只是完成了必要操作这里的话就要进行改进。2、要点亮LED首先要对LED使用的...

2019-12-04 23:26:40 961 1

原创 第一个驱动程序

从今天开始就要进入内核驱动程序部分了,在这一节里就通过第一个驱动程序来介绍一下内核驱动模块的编写框架。static int first_drv_open(struct inode *inode, struct file *file){ printk("first_drv_open\n"); return 0;}static ssize_t first_drv_write(struct...

2019-12-02 23:54:22 309

Qt 集成adb工具,excel工具使用,excel数据解析

之前做的一个外包项目,现公布源码和可执行程序 1、使用qt在pc上面创建、解析excel文件,动态导入到手机 2、从手机导出excel文件到pc并在软件上面打开,修改内容,保存,或者导入到手机 3、主要时excel的使用,解析excel数据,需要的可以看看

2023-07-23

空空如也

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

TA关注的人

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