![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Linux Environment Programming
文章平均质量分 95
Linux环境下软件开发
猩猩の點燈
这个作者很懒,什么都没留下…
展开
-
Linux环境应用编程(九):Camera
一:V4L2简介1、概念V4L2是Video for linux2的简称,为linux中关于视频设备的内核驱动,为驱动和应用程序提供了一套统一的接口规范。在Linux中,视频设备是设备文件,可以像访问普通文件一样对其进行读写。可以支持多种设备,它可以有以下几种接口:(1)视频采集接口(video capture interface):这种应用的设备可以是高频头或者摄像头.V4L2的最初设计就是应用于这种功能的.(2)视频输出接口(video output interface):可以驱.原创 2020-11-02 09:55:09 · 1253 阅读 · 0 评论 -
Linux环境应用编程(九):串口
一:串口概述 UART的操作主要可分为以下几个部分:数据发送,数据接收,产生中断,设置波特率,Loopback模式,红外模式以及硬软流控模式。在Linux中,所有的设备文件一般都是位于“/dev”下,其中串口1和串口2对应的设备名依次为“/dev/ttyS0”和“/dev/ttyS1”,而且USB转串口的设备名通常为“/dev/ttyUSB0”和“/dev/ttyUSB1”,可以查看在“/dev”下的文件以确认,在Linux下对设备的操作方法与对文件的操作方法是一样的,因此对串口的读写就...原创 2020-12-17 10:37:28 · 846 阅读 · 0 评论 -
Linux环境应用编程(四):多线程编程
一:线程概念 线程,操作系统所能调度的最小单位。典型的UNIX进程可以看成只有一个控制线程:一个进程在某一时刻只能做一件事情,有了多个控制线程以后,某一时刻每个线程都可以独立处理自己的任务。这种方法有许多好处:通过为每种事件类型分配单独的处理线程,可以简化处理异步事件的代码。每个线程在进行事件处理时可以采用同步编程模式,同步编程模式要比异步编程模式简单的多。 与进程不同的是多线程可以自动的访问相同的存储地址空间和文件描述符。 有些问题可以分解为多线程执行从而提高整个程序的吞吐量。...原创 2020-07-22 10:29:02 · 349 阅读 · 0 评论 -
Linux环境应用编程(八):输入系统
一:输入系统输入系统介绍和驱动参考:https://blog.csdn.net/qq_34968572/article/details/89875957输入系统事件的读取和分析:1、获取与事件对应相关的设备信息指令:cat /proc/bus/input/devices参数对应含义:I:设备IDstruct input_id { __u16 bustype; //总线类型 __u16 vendor; //与厂商相关的ID __u16 product; //与产品相原创 2020-07-17 15:16:23 · 422 阅读 · 0 评论 -
Linux环境应用编程(七):图像处理
一:图像工具安装1、JPEG文件格式转换工具安装(1)下载解压tar xzf libjpeg-turbo-1.2.1.tar.gz(2)交叉编译创建临时安装目录tmp:mkdir tmpjun@zero:~/work/file/application/02_picture/lib/libjpeg-turbo-1.2.1$ ./configure --host=arm-linux-gnueabihf --prefix=/home/jun/work/file/application/02_p原创 2020-07-17 09:53:02 · 1082 阅读 · 0 评论 -
Linux环境应用编程(六):Framebuffer
一:Framebuffer API1、int open(const char *pathname, int flags)示例:int fd_fb;fd_fb = open("/dev/fb0", O_RDWR);2、int ioctl(int fd, unsigned long request, ...)示例:struct fb_var_screeninfo var;ioctl(fd_fb, FBIOGET_VSCREENINFO, &var)根据request命原创 2020-07-09 16:50:06 · 779 阅读 · 0 评论 -
Linux环境应用编程(三):进程间通讯
一:进程介绍1、进程概念 进程是具有一定独立功能的程序在一个数据集合上的一次动态执行过程。它是动态的,包括创建、调度、执行和消亡(由操作系统完成的)。2、进程的操作a.创建进程头文件: #include <unistd.h>函数原型: pid_t fork(void);返回值: 成功时,父进程返回子进程的进程号(>0的非零整数),子进程中返回0;通过fork函数的返回值区分父子进程。父进程: 执行fork函数的进程。子进程: 父进程调用f...原创 2020-07-21 14:37:31 · 499 阅读 · 0 评论 -
Linux环境应用编程(二):内存分配
一:概述 许多系统程序需要为动态数据结构(链表和二叉树)分配额外内存,此类数据结构的大小由运行时获取的信息决定。 进程可以通过增加堆的大小来分配内存,所谓堆是一段长度可变的连续虚拟内存,始于进程的未初始化数据段末尾,随着内存的分配和释放而增减,通常将堆的当前内存边界称为“program break”。二:在堆上分配内存1、调整program break#include <unistd.h>int brk(void *addr);voi...原创 2020-11-05 16:07:46 · 214 阅读 · 0 评论 -
Linux环境应用编程(五):网络编程
一:引言 Linux系统提供的经典进程间通讯机制(IPC):管道,共享内存,消息队列以及信号量,这些机制允许在同一台计算机上运行的进程可以互相通信,而对于不同计算机(通过网络相连)上的进程间通讯则引入了新的机制:网络进程间通信,进程可以通过套接字网络进程间通信接口互相通信,对于套接字接口可以采用许多不同的网络协议进行通信。1、五层网络协议栈:应用层协议:FTP、HTTP、SMTP传输层协议:TCP协议、UDP协议网络层协议:IP协议本章讲述的TCP协议和UDP协议就属...原创 2020-07-22 19:44:22 · 415 阅读 · 0 评论 -
Linux环境应用编程(一):通用I/O模型
一:概述 所有执行I/O操作的系统调用都以文件描述符,一个非负整数来指代打开的文件。文件描述符用以表示所有类型的已打开文件,包括管道,FIFO,socket,终端,设备和普通文件。大多数程序都期望能够使用如下3种标准的文件描述符,在程序中指代这些文件描述符时,可以使用数字(0,1,2)表示。 二:系统调用1、打开一个文件:open当open创建新文件时,mode指定文件的访问权限。如果open并未指定O_CREAT标志,则可以省略mode参数。...原创 2020-11-03 15:45:32 · 238 阅读 · 2 评论