上一篇文章写了《input子系统的的概念》。今天这篇文章主要分析input子系统的代码,input子系统作为一个字符设备存在kernel中,我们从input这个模块的入口函数开始讲起。...其中 ① INPUT_MAJOR:主设备号:13(如图1-2,定义在include\linux\major.h下)。 ② &input_fops:file_operations结构体(如图1-3)。...③ 将新的new_fops赋值给file->f_op,此时的input子系统的file_operations为新挂载的input设备的file_operations。...其实input子系统也一样,驱动跟handle的注册也是没有优先顺序的。...图8-1 下一篇:Linux input子系统的驱动开发
为什么有大小端: 在计算机系统中,我们是以字节为单位的,每个地址单元都对应着一个字节,一个字节为 8bit。...shutdown(tcp_client_fd,SHUT_WR); //TCP半关闭,保证缓冲区内的数据全部写完 直接强制关闭连接示例: int close(int fd); 1.9 查看Linux系统当前的网络连接...在/proc/net/tcp目录下面保存了当前系统所有TCP链接的状态信息。...linux提供了ioctl(fd, SIOCOUTQ, &count)方法来查询一个tcp socket的write buffer是否清空。发送方一般可以用这个方法来判断对端是否收到报文。...当底层网卡将缓冲区的数据全部发送成功时,获取的count=0 #include #include int value; ioctl(
Linux input子系统,分为三篇文章,第一篇:Linux input子系统的概念,第二篇:Linux input子系统的代码分析(input core),第三篇:Linux input子系统的驱动程序编写...linux系统输入设备繁多,例如按键、键盘、触摸屏、鼠标。这些输入设备都属于字符设备。不过这些输入设备不同类型,不同原理,不同的输入输出信息。那么是如何统一这些输入设备的呢?...答案:linux中将所有的输入设备抽象出input子系统这套软件体系,提供了统一的接口函数,实现了大统一。 input子系统分为三层: 1.输入子系统设备驱动层。...综上所述:在linux中,输入子系统作为一个内核模块存在,向上为用户层提供接口函数,向下为驱动程序提供统一的接口函数。...这样就能够将输入设备的事件通过输入子系统发送给应用层的应用程序,应用程序也可以通过输入子系统通知驱动程序完成某些任务。 下一篇:Linux input子系统的代码分析(input core)
前面两篇文章写了《input子系统的的概念》和《分析input子系统的代码》。这一篇文章来说说input子系统的驱动程序编写。...从这句话中,可以看出input子系统的驱动部分会变得简单。 input子系统的驱动还是比较简单的,因为大部分工作,都在input核心层,input handler做完了。...input驱动代码,我是在之前文章《linux 中断机制》和input子系统的驱动编写要点结合进行修改的。你会发现代码很简单。 上面说到,input设备是使用input_dev结构体来描述。...其它代码含义请参看include/linux/input.h文件。 事件值(value):事件的值。如果事件的类型是EV_KEY,当按键按下时值为1,松开时值为0。...#include #include #include #include #include <linux
一、Linux系统介绍 Linux是一套免费使用和自由传播的Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。...支持32位和64位硬件,Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统;Linux存在着许多不同的版本,但它们都使用了Linux内核。.../boot 该目录下存放的都是系统启动时要用到的程序,当用lilo引导Linux时,会用到这里的一些信息。.../usr/X11R6:X-Window目录; /usr/src:Linux源代码; /usr/include:系统头文件; /usr/lib:存放常用动态链接共享库、静态档案库; 二、Linux基本命令介绍...语法:su [用户名] [ ]表示可选 linux下有两种帐号: 1.root--超级用户帐号(系统管理员),使用这个帐号可以在系统中做任何事情。
Linux编译C++程序必须安装g++编译器。这里使用yum方式安装。首先切换到root账号,su - root 然后输入密码。 ?...配置yum源的配置文件在/etc/yum.repos.d/目录下,可以看到系统自带了两个文件。 ? cat 文件名称,会打印文件全部内容。可以看到两个文件要么没配置,要么地址是无法访问通的。...ftp将冒泡排序的代码文件create_bubblesort.cc上传到Linux,代码如下 #include#includeusing namespace std;...Linux调试C++代码需要gdb。安装。 ? gdb调试过程如下 ? 最后(gdb)环境输入quit,按回车,离开gdb返回shell。 ?...ssh工具,ftp工具,以及Linux环境是哪里来的请参考我的其他文章。
Linux系统开发会用到什么?...C语言基础 Linux系统内核是C语言编写的,所以,Linux系统开发可能会和很多系统API打交道,需要掌握C语言基础,C语言是Linux最基础的开发语言,当然也可以用C++。...一般做与系统交互的模块时,用C语言多一些,做上层业务应用时,为了开发效率,会使用C++来开发,毕竟C++是面向对象的开发语言,适合大型项目的开发,方便模块化,代码复用率高。...做Linux下开发,免不了要与脚本打交道(比如测试、分析数据等)。...常用Linux系统编程知识 文件IO Linux系统下,所有的资源都是以文件的形式访问的,设备被抽象为设备文件,放于/dev目录下。
前言: 最近在用OK6410开发板跑linux系统,经常在终端上敲一些指令,无奈开发板屏幕太小用起来非常不方便,所以使用终端一款能运行在windows上的软件与开发板连接,直接在电脑上操作开发板了...开发板中,查看系统的编码方式,如果是UTF-8则不用修改,否则用root用户登陆,然后找到关于编码的配置文件。...如果安装系统为中文系统,则修改LANG=“zh_CN.UTF-8”;如果安装系统为英文系统,则修改LANG=“en_US.UTF-8”。...3、windows与开发板互传文件 互传文件的方式有好几种,这里只写出我认为操作最容易的一种ZMODEM方式。 (1)Windows到开发板的linux传输文件命令:rz,回车后会弹出对话框 ?...传输结束后文件在linux的当前目录下面 ? (2)开发板linux系统到windows传输文件命令:sz 文件名 ?
如果想体验Linux环境下开发和运行.NET Core应用,我们有多种选择。...一、启用Linux子系统 接下来我们来简单介绍一下如何启用Linux子系统。...当针对Linux的Windows子系统特性其中之后,系统赋予了我们一个名为lxrun的命令来管理这个子系统,我们可以利用它来安装、卸载和更新Linux系统。...作为主系统的Windows和Linux子系统可以共享网络系统和文件系统。...二、安装开发环境 如果我们想在Linux下运行.NET Core应用,我们也只需要安装.NET Core SDK就可以了。
通过定义的这些特殊符号的辅助,系统管理员就可以快速过滤,替换或输出需要的字符串。 Linux正则表达式一般以行为单位处理。...现在学的是Linux中的正则表达式,最常应用正则表达式的命令是linux三剑客:grep(egrep),sed,awk。...Linux系统开发: 学习linux三剑客(awk、sed、grep)(上) Linux系统开发: 学习linux三剑客(awk、sed、grep)(下) 正则表达式是一个模版,这个模版是由一些普通字符和一些元字符组成...1.2 区分通配符与正则表达式 这里一定要弄清楚正则表达式和linux下使用的通配符有本质区别。 正则表达式用来找:【文件】内容,文本,字符串。一般只有三剑客支持。
、安装Apache2.2.22 1、到官网下载 http://httpd.apache.org/download.cgi ,选择相应的版本 这里,我选择的是最新的版本 可以先下载到windows系统中...,上传到linux, 也可以直接下载到linux : wget http://mirrors.tuna.tsinghua.edu.cn/apache//httpd/httpd-2.4.20.tar.gz
gpio 和 pinctrl 子系统在内核里的使用率非常高,和嵌入式产品的关联非常大。从这两个子系统开始学习驱动开发是个不错的入门选择。...本文目录: 一、gpio 与 pinctrl 二、内核里如何引用 gpio 三、gpio 子系统框架 四、应用层如何访问 gpio 一、gpio 与 pinctrl 本文主要关注 gpio 子系统,但是老吴认为必要先说明一下...pinctrl 子系统和 gpio 子系统的之间关系。...,例如 leds-gpio.c、gpio_keys.c 等 legacy.rst 描述 legacy gpio 接口 注:本文基于 Linux-4.19。...完整的接口定义位于 linux/gpio/consumer.h,大约共有 70个 API。
Tina_Linux_图形系统_开发指南 1 概述 本文档将介绍 Allwinner Tina Linux 中已经移植好的窗口系统,以及怎么使用,包括 MiniGUI、QT5、EFL、GTK+(WebkitGtk...相关人员:UI程序开发相关人员。 2 MiniGUI 2.1 MiniGUI说明....更多GTK应用编程可参考:示例 Gtk+(GIMP Tool Kit,GIMP工具包)是一个用于创造图形用户接口的图形库,下面是GIMP on GNU/Linux的截图: Tina系统移植了GTK+3...X图形系统。...开发体验:在工程中可以使用插件、自动化测试、开发者工具以及任何可以用来帮助构建高质量应用的工具。
4.将内存中字节的编号称为地址(Address)或指针(Pointer),一般认为变量名表示的是数据本身,而函数名、字符串名和数组名表示的是代码块或数据块的首地...
Linux上的tar是GNU版本的。...-fstype: 查找位于某一类型文件系统中的文件,这些文件系统类型通常可以在配置文件/etc/fstab中找到,该配置文件中包含了本系统中有关文件系统的信息。...-amin n 查找系统中最后N分钟访问的文件 -atime n 查找系统中最后n*24小时访问的文件 -cmin n 查找系统中最后N分钟被改变文件状态的文件...脚本文件中的代码示例: echo $1 1.3.2 grep命令:文本搜索工具 Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。...在一张网卡上绑定多个IP地址 在Linux下,可以使用ifconfig方便地绑定多个IP地址到一张网卡。
文章目录 Tina_Linux_系统裁剪_开发指南 1 概述 2 Tina系统裁剪简介 2.1 boot0裁剪 2.2 uboot裁剪 2.3 内核裁剪 2.3.1 删除不使用的功能 2.3.2...Tina_Linux_系统裁剪_开发指南 1 概述 编写目的: 嵌入式产品往往为了压缩成本而使用较小的flash存储器,因此可能需要对系统进行裁剪来减少对flash的占用。...系统经过裁剪过后,通常也会提升启动速度以及减少内存占用。 本文介绍TinaLinux中系统裁剪的方法,为有裁剪需求的使用者提供参考。...2.4.4 文件系统压缩. 有些文件系统支持压缩,有些不支持。...、ext4、jfss2三种文件系统。
对于初学者来说,如何搭建FFmpeg的开发环境是个不小的拦路虎,因为FFmpeg用到了许多第三方开发包,所以要先编译这些第三方源码,之后才能给FFmpeg集成编译好的第三方库。...不过考虑到刚开始仅仅调用FFmpeg的API,不会马上去改FFmpeg的源码,因此只要给系统安装编译好的FFmpeg动态库,即可着手编写简单的FFmpeg程序。...比如这个网站https://github.com/BtbN/FFmpeg-Builds/releases提供了已经编译通过的FFmpeg开发包,囊括Linux、Windows等系统环境的开发版本。...下面介绍在Linux系统安装已编译的FFmpeg详细步骤。 一、安装glibc 1、到这个网址下载2.23版本的glibc源码包http://ftp.gnu.org/gnu/glibc/。.../hello 发现控制台回显日志信息“hello world”,表示测试程序运行正常,说明FFmpeg开发环境已经成功搭建。
文章目录 kali-linux-docker docker tools install kali 虚拟机 环境配置 中文乱码 kali-linux-docker 如果是仅仅学习,那么推荐docker...容器化的kali开发环境 https://hub.docker.com/r/kalilinux/kali-linux-docker $ sudo docker pull kalilinux/kali-linux-docker...docker tools install 说明 查看可以安装的kali tools 列表 $ apt-get update && apt-cache search kali-linux 安装具体包 $...apt install --fix-missing kali-linux-full # 可以安装其他的kali-linux kali-linux-all kali-linux-forensic kali-linux-full
文章目录 3 输入系统应用开发 3.1 什么是输入系统?...百问网imx6ul开发板触摸屏事件读取 3 输入系统应用开发 3.1 什么是输入系统? ...常见的输入设备有键盘、鼠标、遥控杆、书写板、触摸屏等等,用户通过这些输入设备与Linux系统进行数据交换,Linux系统为了统一管控和处理这些设备,于是就实现了一套固定的与硬件无关的输入系统框架,供用户空间程序使用...3.2 输入系统应用框架描述 在Linux输入系统中,主要分三层进行管理,分别是input core(输入系统核心层)、drivers(输入系统驱动层)以及event handlers(输入系统事件层...),如下图所示,这就是Linux输入系统的基本框架: 举个非常简单的例子,比如用户按下键盘里的其中一个按键,它遵循流程是这样的: 按键按下–>输入系统驱动层–>输入系统核心层–>输入系统事件层
文章目录 Linux嵌入式开发——文件系统结构 一、根目录“/” 二、Ubuntu文件系统结构 三、绝对路径和相对路径 Linux嵌入式开发——文件系统结构 一、根目录“/” Linux下“/”就是根目录...gurb是一个来自GNU项目的多操作系统启动程序。 /cdrom 关于光盘的一些信息。 /dev 设备驱动文件 /etc 存放一些系统配置文件,比如用户账号和密码文件,各种服务的起始地址。.../home 系统默认的用户主文件夹,一般创建用户账户的时候,默认的用户主文件夹都会放到此目录下。.../proc 虚拟文件系统,数据放置到内存中,存放系统运行信息。 /root root用户目录,也就是系统管理员目录。 /run 跟运行有关的一些信息。...sbin下面的一般是系统开机过程中所需要的命令。 /snap 引入的一种包管理工具。 /srv 服务相关目录。比如网络服务。 /sys 记录内核信息,虚拟文件系统。
领取专属 10元无门槛券
手把手带您无忧上云