![](https://img-blog.csdnimg.cn/20190918140129601.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Linux系统编程
文章平均质量分 59
linux系统编程和操作
Siveens
不积跬步无以至千里,不积小流无以成江海!
展开
-
Linux系统编程之条件变量
介绍linux系统编程中的条件变量基本使用方式原创 2023-09-19 14:24:34 · 457 阅读 · 0 评论 -
Linux线程之信号量(semaphore)
介绍linux系统编程线程中的信号量常用接口和使用方式原创 2023-09-19 09:41:25 · 511 阅读 · 0 评论 -
Linux线程之互斥锁(Mutex)
介绍linux系统编程中互斥锁的接口和简单使用方法原创 2023-09-18 13:28:53 · 1249 阅读 · 0 评论 -
SQLite3在ubuntu16.04中的安装和SQLite3在mini2440中的移植
SQLite3在ubuntu16.04中的安装和mini2440上移植SQLite简介SQLite是一款轻型数据库,包含在一个相对较小的C库中。是一个完全独立、不需要服务器、不需要配置、支持SQL的、开源的文件数据库引擎。SQLite3下载源代码下载地址:https://www.sqlite.org/download.html可在此地址下载最新版本的SQLite3源代码如下图所...原创 2018-07-23 21:26:29 · 3109 阅读 · 0 评论 -
Linux驱动USB学习笔记(二)
USB驱动描述在linux内核中,使用struct usb_driver结构描述一个USB驱动。struct usb_driver{const char *name;//驱动程序名/*当USB核心发现了该驱动能够处理的USB接口时,调用该函数*/int (*probe)(structusb_interface *intf,const struct usb_device_id *id);/*当相应的...原创 2018-07-03 19:02:48 · 288 阅读 · 0 评论 -
Linux驱动USB学习笔记(一)
USB简介USB(Universal Serial Bus)通用串行总线,是一种外部总线标准,用于规范电脑与外部设备的连接和通讯。USB系统架构usb系统拓扑结构:USB主控制器:USB主控制器负责处理主机与设备之间的电气和协议层的互联。创建的USB主控制器规格有:OHCI:主要是非PC系统啥花姑娘的USB芯片UHCI:大多是非Intel和Via主板上的USB控制器芯片,它们都是由USB1.1规格...原创 2018-07-03 19:00:01 · 1102 阅读 · 0 评论 -
Linux驱动学习笔记(四)
终端控制台相关概念在Linux中,TTY(终端)是一类字符设备的统称,包括三类:控制台、串口、伪终端。控制台是一个虚拟的终端,必须映射到真正的终端上;可以简单的理解为printk输出的地方;只输出不输入,中能在内核中访问。伪终端由主从两个成对的设备构成。输入到主设备的数据成为从设备的输出,输入到从设备的数据成为主设备的输出,形成双向管道。Linux内核中使用uart_driver描述串口驱动,它包...原创 2018-07-03 18:53:09 · 268 阅读 · 0 评论 -
Linux驱动学习笔记(三)
中断快速中断具有原子性,不允许嵌套;普通中断不具有原子性且允许嵌套中断共享是指将不同的设备挂在同一条中断线上。中断注册:int request_irq(unsignedint irq,void (*handler)(int,void*,struct pt_regs*),unsigned long flags,constchar *devname,void *dev_id)返回0成功,失败返回一个错...原创 2018-07-03 18:49:31 · 1013 阅读 · 0 评论 -
Linux驱动学习笔记(二)
Kobject相关kobject描述结构体:struct kobject { const char *name; struct list_head entry; struct kobject *parent;//指向父对象 struct kset *kset; struct kobj_type *ktyp...原创 2018-07-03 18:45:31 · 220 阅读 · 0 评论 -
Linux驱动学习笔记(一)
内存管理子系统逻辑地址(逻辑地址=段基地址+偏移量)通过段式管理单元转换为线性地址,线性地址通过页式管理单元转换为物理地址(物理地址=段寄存器*16+逻辑地址)。段的起始地址是16的倍数,其最大长度不能超过64K。在/proc/<pid>/maps文件中可以查看进程的地址信息 内核异常Oops可以看成是内核级的SegmentationFault(段错误)。应用程序如果进行了非法内存访问...原创 2018-07-03 18:42:43 · 299 阅读 · 1 评论