自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

修成真的博客

嵌入式方向的修行者

  • 博客(129)
  • 资源 (17)
  • 收藏
  • 关注

原创 【Linux】内核驱动篇七--设备树

内核驱动篇七--设备树一、起源二、基本组成三、基本语法四、特殊节点4.1 根节点4.2 /memory4.3 /chosen4.4 /cpus 多核CPU支持五、常用属性5.1 phandle5.2 地址--------------- 重要5.3 compatible --------------- 重要5.4 中断 --------------- 重要5.5 gpio --------------- 重要5.6 属性设置套路六、常用接口6.1 of_find_node_by_path6.2 of.

2022-05-21 21:30:00 1286

原创 【Linux】内核驱动篇六--内核定时器与内存管理

内核驱动篇六--内核定时器与内存管理一、时钟中断二、延时函数三、定时器四、内核内存管理框架五、内核中常用动态分配5.1 kmalloc5.2 vmalloc5.3 kmalloc & vmalloc 的比较六、IO访问-------访问外设控制器的寄存器七、led驱动一、时钟中断硬件有一个时钟装置,该装置每隔一定时间发出一个时钟中断(称为一次时钟嘀嗒-tick),对应的中断处理程序就将全局变量jiffies_64加1jiffies_64 : 是一个全局64位整型, jiffies全局.

2022-05-21 11:07:25 855

原创 【Linux】内核驱动篇五--资源共享与同步

内核驱动篇五--资源共享与同步一、上下文和并发场合二、中断屏蔽(了解)三、原子变量(掌握)四、自旋锁:基于忙等待的并发控制机制五、信号量:基于阻塞的并发控制机制六、互斥锁:基于阻塞的互斥机制七、选择并发控制机制的原则一、上下文和并发场合执行流:有开始有结束总体顺序执行的一段代码, 又称上下文应用编程:任务上下文内核编程:任务上下文:五状态 可阻塞a. 应用进程或线程运行在用户空间b. 应用进程或线程运行在内核空间(通过调用syscall来间接使用内核空间)c. 内核线程始终在内核空间.

2022-05-18 20:28:33 919

原创 【Linux】内核驱动篇四--IO模型

内核驱动篇四--IO模型一、五种IO模型------读写外设数据的方式二、阻塞与非阻塞三、多路复用3.1 应用层:三套接口select、poll、epoll3.2 驱动层:实现poll函数四、信号驱动4.1 应用层:信号注册+fcntl4.2 驱动层:实现fasync函数一、五种IO模型------读写外设数据的方式阻塞: 不能操作就睡觉非阻塞:不能操作就返回错误多路复用:委托中介监控信号驱动:让内核如果能操作时发信号,在信号处理函数中操作异步IO:向内核注册操作请求,内核完成操作.

2022-05-17 21:25:53 1245

原创 【Linux】内核驱动篇三--字符设备驱动基础

内核驱动篇三--字符设备驱动基础一、Linux内核对设备的分类二、设备号------内核中同类设备的区分三、申请和注销设备号四、注册字符设备五、字符设备驱动框架解析5.1 两个操作函数中常用的结构体说明5.2 字符设备驱动程序框架分析5.3 参考原理图5.4 常用操作函数说明六、读操作实现七、写操作实现八、ioctl操作实现九、printk十、多个次设备的支持一、Linux内核对设备的分类linux的文件种类:-:普通文件d:目录文件p:管道文件s:本地socket文件l:链接文件c:.

2022-05-16 13:13:43 1382

原创 【Linux】内核驱动篇二--参数与依赖

内核驱动篇二--参数与依赖一、模块传参二、模块依赖三、内核空间和用户空间四、执行流五、模块编程与应用编程的比较六、内核接口头文件查询一、模块传参module_param(name,type,perm);//将指定的全局变量设置成模块参数/*name:全局变量名type: 使用符号 实际类型 传参方式 bool bool insmod xxx.ko 变量名=0 或 1 invbool bool .

2022-05-12 10:57:21 1206

原创 【Linux】内核驱动篇一--编译方法

内核驱动篇一--编译方法一、向内核添加新功能1.1 静态加载法1.2 动态加载法1.2.1 文件制作方法1.2.2 文件使用二、内核模块基础代码解析三、内核模块的多源文件编程四、 内核模块信息宏注:关于驱动的编译环境,在系统移植篇已详细讲解与安装一、向内核添加新功能1.1 静态加载法即新功能源码与内核其它代码一起编译进uImage文件内,下面举例说明。新功能源码与Linux内核源码在同一目录结构下,在linux-3.14/drivers/char/目录下编写myhello.c,文件.

2022-05-11 16:19:34 4622 4

原创 【Linux】系统移植篇五--内核、设备、根文件系统移植

系统移植篇五--内核、设备、根文件系统移植一、Linux内核概述1、内核与操作系统2、内核的特点二、Linux内核源码结构1、Linux内核源码获取2、Linux内核源码结构三、Linux内核的配置与编译1、Linux内核源码配置2、图形化界面配置3、Linux内核源码编译四、设备树1、概念2、设备树语法概述3、驱动移植过程五、根文件系统移植1、概念与内容2、Busybox前言:关于linux内核、设备驱动、根文件系统的移植教程在我上传的linux内核、设备驱动、根文件系统移植资源中已有详细讲解,.

2022-05-10 15:24:58 1990

原创 【Linux】系统移植篇四--uboot移植

系统移植篇四--uboot移植一、uboot源码结构1、uboot源码获取2、uboot特点3、uboot源码结构二、uboot的配置与编译1、uboot配置2、uboot编译前言:本篇主要介绍uboot的一些结构与相关配置,uboot是一款免费开源的芯片启动软件,代码完全开源,由于需要支持不同的芯片,导致代码内容庞大,因此对于初学者我们只需要知道其怎么配置移植就行了,不用关心具体实现,在往后工作中也会有芯片公司直接提供配置好的uboot文件。关于华清远见的FS4412开发板uboot的配置下载.

2022-05-08 14:48:34 3240 1

原创 【Linux】系统移植篇三--内核安装加载与交叉编译工具链

系统移植篇三--内核安装加载与交叉编译工具链一、linux内核的安装与加载1、uboot内核启动命令2、uboot自启动参数环境变量二、交叉编译工具链1、编译原理2、GCC的编译过程3、交叉编译与工具获取4、ELF文件格式与BIN文件格式4.1 ELF文件格式4.2 ELF文件相关命令4.3 BIN文件格式5、交叉编译工具链常用工具一、linux内核的安装与加载安装方法与步骤在linux内核的安装与加载教程中以详细讲解,请自行下载,这里讲解安装中遇到的知识。1、uboot内核启动命令bootm.

2022-05-07 19:25:16 2251 2

原创 【Linux】系统移植篇二--uboot烧写与使用

系统移植篇二--uboot烧写与使用一、交叉环境的搭建1、tftp简介2、tftp简介二、uboot三、SD卡启动盘制作SD卡存储结构四、uboot的使用1、uboot模式2、uboot帮助命令3、uboot环境变量命令4、uboot常用环境变量5、uboot网络传输命令6、uboot存储器访问命令7、uboot自启动环境变量一、交叉环境的搭建交叉环境搭建教程免费下载:https://download.csdn.net/download/qq_51447215/853027211、tftp简介.

2022-05-06 20:06:54 3476 2

原创 【Linux】系统移植篇一--linux系统移植导学

系统移植篇一--linux系统移植导学一、系统移植课程导学二、系统移植过程三、开发板启动过程一、系统移植课程导学本个篇章讲解在基于ARM处理器的开发板上安装Linux系统如果是单纯的装个系统,或许一个小时内就搞定了,但本个篇章想通过讲解系统的移植过程来深入了解linux,为后面的嵌入式驱动课程做基础。移植的目的不同架构的处理器指令集不兼容,即便是相同的处理器架构,板卡不同驱动代码也不兼容。  Linux是一个通用的内核并不是为某一个特定的处理器架构或板卡设计的,所以从官方获取Linux源.

2022-05-05 18:41:07 4524

原创 【STM32】标准库与HAL库对照学习教程零--开发环境的搭建

【STM32】标准库与HAL库对照学习教程零--开发环境的搭建一、keil5的下载与安装1、keil5的下载2、keil5的安装3、keil5的破译4、keil5的软件包安装二、STM32Cube 的下载与安装1、JAVA 运行环境安装2、cubemx安装3、安装相关芯片HAL库一、keil5的下载与安装1、keil5的下载下载 Keil5 方法:进入 https://www.keil.com/网址1.1 点击 Downloads,如图所示:1.2 然后点击 MDK-Arm,如图所示:1.

2022-05-03 19:05:54 4085 3

原创 【Linux】ARM篇十一--PWM实验

RAM篇11-PWM实验一、前言二、准备工作三、蜂鸣器四、PWM控制有源蜂鸣器五、电路原理图六、开发板PWM介绍1、PWM设置过程举例2、PWM外设示意图3、PWM具备的功能七、开发板PWM寄存器介绍1、TCFG0寄存器2、TCFG1寄存器3、TCON寄存器4、TCNTB0寄存器5、TCMPB0寄存器八、开发板编程1、PWM程序2、程序烧入一、前言本篇使用华清远见的FS4412开发板,进行PWM实验,本次实验使用PWM电平控制有源蜂鸣器,知识包括蜂鸣器知识、PWM知识原理、开发板PWM功能介绍与寄存.

2022-04-26 11:47:37 3266 1

原创 【Linux】ARM篇十--RTC实验

RAM篇10--RTC实验一、前言二、准备工作一、前言本篇使用华清远见的FS4412开发板,进行RTC实验,知识包括RTC知识原理、开发板RTC介绍与寄存器介绍、RTC编程,并通过开发板实验现象验证RTC实验。二、准备工作FS4412开发板,我用的是华清远见的FS4412开发板ubuntu下linux操作系统(包含交叉编译工具)serial-com8程序烧入执行工具开发板电路原理图、芯片手册开发程序模板开发板资料、交叉编译工具、程序烧入工具下载(包含教程)开发板可选择到华清远见.

2022-04-25 19:29:52 3616 4

原创 【Linux】ARM篇九--ADC实验

ARM篇9--ADC实验一、前言二、准备工作三、ADC原理ADC分辨率四、开发板ADC实验电路五、ADC配置寄存器1、ADCCON寄存器2、ADCDAT寄存器3、ADCMUX寄存器六、ADC编程七、程序烧入与实验现象1、程序烧入2、实验现象一、前言本篇使用华清远见的FS4412开发板,进行ADC实验,ADC知识原理、开发板ADC寄存器介绍、ADC编程,并通过开发板实验现象验证ADC。二、准备工作FS4412开发板,我用的是华清远见的FS4412开发板ubuntu下linux操作系统(包含交.

2022-04-23 14:47:50 2545

原创 【Linux】ARM篇八--中断实验

ARM篇8--中断实验一、前言二、准备工作三、CPU与硬件的交互方式四、轮询方式实现按键实验1、电路原图2、按键的实现五、RAM中断实现原理六、GPIO中断1、GPX1CON2、EXT_INT41CON寄存器3、EXT_INT41_MASK寄存器七、中断控制器1、ICDDCR寄存器2、ICDISER寄存器3、ICDIPTR寄存器八、中断的实现1、ICCIAR寄存器2、EXT_INT41_PEND寄存器3、ICCEOIR寄存器九、完整代码与烧入1、中断完整代码2、程序烧入步骤十、实验现象1、轮询按键实验现象.

2022-04-22 21:34:40 2644

原创 【Linux】ARM篇七--WDT看门狗实验

ARM篇7--WDT开门狗实验一、前言二、准备工作三、看门狗简介四、看门狗寄存器介绍1、看门狗结构2、看门狗寄存器3、WTCON寄存器4、WTCNT寄存器五、看门狗代码编写1、程序2、程序烧入步骤六、实验现象一、前言本篇使用华清远见的FS4412开发板,进行WDT开门狗实验,知识包含看门狗介绍,开门狗使用原理,看门狗代码编写、看门狗实验。二、准备工作FS4412开发板,我用的是华清远见的FS4412开发板ubuntu下linux操作系统(包含交叉编译工具)serial-com8程序烧入执.

2022-04-21 12:00:00 3362 2

原创 【Linux】ARM篇六--UART串口通信实验

ARM篇四--简单使用汇编点亮LED一、前言二、准备工作三、串口简介1、UART帧格式2、UART硬件四、串口寄存器介绍1、UART示意图2、UART的寄存器3、 ULCONn (n = 0 to 4)寄存器4、 UCONn (n = 0 to 4)寄存器5、 UTRSTATn (n = 0 to 4)寄存器6、 UBRDIVn与UFRACVALn (n = 0 to 4)寄存器五、串口编程1、 实验程序2、 程序下载六、实验结果一、前言本篇使用华清远见的FS4412开发板,进行串口通信实验,知识包.

2022-04-20 16:18:01 4259

原创 【Linux】ARM篇五--C语言寄存器封装与流水灯实验

ARM篇五--C语言寄存器封装与流水灯实验一、前言二、准备工作三、寄存器封装四、电路原理图五、实验程序六、实验效果一、前言本篇使用华清远见的FS4412开发板,首先使用C语言对寄存器进行封装,在进行流水灯实验,通过本次实验来认识ARM开发板的封装原理。阅读本篇前需要上一节的基础:ARM篇四–简单使用汇编点亮LED二、准备工作FS4412开发板,我用的是华清远见的FS4412开发板ubuntu下linux操作系统(包含交叉编译工具)serial-com8程序烧入执行工具开发板电路原理.

2022-04-19 19:15:20 2463

原创 【Linux】ARM篇四--简单使用汇编点亮LED灯

ARM篇四--简单使用汇编点亮LED一、前言二、准备工作三、GPIO寄存器介绍1、LED电路原理图2、GPIO寄存器介绍2.1 GPX1PUD寄存器2.2 GPX1DAT寄存器四、Makefile编写五、汇编代码编写六、程序烧入七、实验现象一、前言本篇使用华清远见的FS4412开发板,对开发板的LED进行亮灭操作,知识包含GPIO寄存器介绍、与ubuntu下linux操作系统通过进行交叉编译生成开发板可执行代码,通过本次实验来认识ARM开发板的GPIO知识。二、准备工作FS4412开发板,我.

2022-04-18 21:21:27 4436 2

原创 【Linux】ARM篇三--汇编基础

ARM篇三--汇编基础一、ARM指令集导学1 指令与指令集1.1 指令1.2 指令集2 汇编的本质3 准备工作4 ARM汇编的组成二、ARM 指令1 数据处理指令1.1 数据搬移指令1.2 数据运算指令2 跳转指令2.1 数据跳转的三种方式2.2 条件码3 Load/Srore指令3.1 读写内存3.2 寻址方式3.3 多寄存器内存访问3.4 栈的使用4 状态寄存器传送指令4.1 读CPSR4.2 写CPSR5 软中断指令6 协处理器指令三、ARM 伪指令四、ARM 伪操作五、ARM混合编程六、ATPCS.

2022-04-15 21:09:57 1579

原创 【Linux】ARM篇二--寄存器组织与异常处理

ARM篇二--寄存器组织与异常处理一、ARM寄存器组织1 寄存器2 ARM寄存器3 专用寄存器4 CPSR寄存器二、ARM异常处理1 异常1.1 异常处理机制1.2 ARM异常源1.3 ARM异常模式2 ARM异常响应2.1 产生异常的动作(自动)2.2 异常向量表3 异常返回4 异常优先级与速度4.1 异常优先级4.2 异常向量表三、ARM微架构1 指令流水线2 多核处理器一、ARM寄存器组织1 寄存器概念寄存器是处理器内部的存储器,没有地址作用一般用于暂时存放参与运算的数据和运算结果.

2022-04-13 12:00:00 2169 2

原创 【Linux】ARM篇一--计算机基础与RAM处理器概论

ARM篇一--计算机基础与ARM处理器概论一、计算机基础1、Linux嵌入式底层导学1.1 Linux学习过程1.2 操作系统的分层作用2、计算机基础知识2.1 计算机的进制2.2 计算机的组成2.3 总线3、储存结构与地址空间3.1 储存结构3.2 地址空间4、CPU工作原理简述二、RAM处理器概论1、ARM处理器概述1.1 ARM公司概述(了解)1.2 ARM产品系列1.3 RISC处理器1.4 SOC(片上系统)2、ARM指令集概述2.1 指令集2.2 ARM指令集2.3 编译原理3、ARM存储模型.

2022-04-12 15:46:59 3454

原创 【Linux】特别篇--sqlite3数据库的使用

特别篇--sqlite3数据库的使用一、数据库基本概念(了解)二、基于嵌入式的数据库(了解)三、SQLite 基础(了解)四、创建数据库1、sqlite3数据库的安装2、sqlite3数据库的使用五、数据库常用命令介绍六、SQLite编程接口一、数据库基本概念(了解)数据库基本概念数据(Data)能够输入计算机并能被计算机程序识别和处理的信息集合。数据库 (Database)数据库是在数据库管理系统管理和控制之下,存放在存储介质上的数据集合常用的数据库大型数据库Oracle公司是.

2022-04-06 20:45:22 4084 4

原创 【Linux】网络篇五--编程扩展

网络篇五--编程扩展一、网络分析1、网络分析测试工具2、网络封包格式(了解)(1)以太网头(2)IP头(3)TCP头(4)UDP头3、TCP三次握手过程二、扩展的库函数1、网络信息检索2、网络属性设置3、超时检查三、广播和组播1、广播2、组播四、UNIX域套接字一、网络分析1、网络分析测试工具常用调试测试工具:使用telnet测试TCP服务器端使用lsof使用tcpdump使用netstat使用sniffer使用wiresharkChariot…SmartBit—硬件wir.

2022-04-04 20:20:32 1033

原创 【Linux】网络篇四--IO多路复用

网络篇四--IO多路复用一、阻塞I/O模型1、阻塞I/O 模式(1)读阻塞(2)写阻塞2、非阻塞模式I/O二、多路复用I/O1、select()函数2、epoll()函数一、阻塞I/O模型在UNIX/Linux下主要有4种 I/O 模型:阻塞I/O :最常用非阻塞I/O :可防止进程阻塞在I/O操作上,需要轮询I/O 多路复用 :允许同时对多个I/O进行控制信号驱动I/O : 一种异步通信模型1、阻塞I/O 模式阻塞I/O 模式是最普遍使用的I/O 模式,大部分程序使用的都是阻塞模.

2022-04-02 13:32:12 1752 3

原创 【Linux】网络篇三--UDP编程

网络篇三--UDP编程一、编程思路二、编程实现1、sendto/recvfrom2、程序实现三、实验结果一、编程思路由于是无连接传输,重点使用recvfrom函数与sendto函数实现编程。二、编程实现1、sendto/recvfromssize_t sendto(int socket, void *message, size_t length, int flags, struct sockaddr *dest_addr, socklen_t dest_len);ssize_t re.

2022-04-01 10:02:55 1651 3

原创 【Linux】网络篇二--TCP编程

网络篇二--TCP编程一、TCP编程实现1、编程步骤2、socket函数3、bind函数4、地址转换函数5、listen函数6、accept函数7、connect函数8、send函数9、recv函数10、read()/write()11、套接字的关闭示例二、并发编程1、多线程并发2、多进程并发一、TCP编程实现网络编程相关API网络编程常用函数 socket() 创建套接字 bind() 绑定本机地址和端口 connect() 建立连接 listen() 设置监听端口 accept() .

2022-03-31 15:15:22 4346 2

原创 【Linux】网络篇一--网络基础

网络篇一--网络基础一、网络发展历史和分层1、网络发展历史简介2、网络结构分层OSI开放系统互联模型TCP/IP协议族的体系结构二、TCP/UDP特点1、TCP/IP协议通信模型2、TCP/IP协议下的数据包3、数据的封装与传递过程4、TCP/IP结构5、TCP协议特点6、UDP协议的特点三、TCP/IP网络编程预备知识1、SocketSocket 简介Socket 类型Socket 位置2、IP地址3、端口号4、字节序字节序转换函数IP地址的转换一、网络发展历史和分层1、网络发展历史简介早期的.

2022-03-29 20:00:00 2922 1

原创 【Linux】应用篇十四--消息队列与信号灯

应用篇十四--消息队列与信号灯一、消息队列1、消息队列的概念2、消息队列的使用3、消息队列的创建4、发送消息5、消息接收6、消息队列的控制7、示例程序二、信号灯/信号量1、概念2、信号量-P/V操作3、Posix 信号量三、P/V操作函数信号灯P操作(信号获取)信号灯V操作(信号释放)四、有名信号灯五、无名信号灯六、System V 信号灯1、System V IPC - 信号灯特点2、System V信号灯使用步骤3、信号灯创建/打开 – semget4、信号灯初始化 – semctl5、信号灯P/V.

2022-03-28 16:58:04 1970 5

原创 【嵌入式】学习心路历程与总结

写在前面:博主目前还只是个初入门的嵌入式的新手,但自己学习嵌入式这个方向也有1年半多了,因此在这里写下自己的这些时间的心路历程和学习总结,以及对嵌入式学习的看法,希望对大家学习嵌入式有更好的帮助。文章中的观点只是我个人一些的看法,不一定适合于每个人。对于文章中的任何错误希望大家批评指正如果因为本篇文章的写法风格的问题而引起您的不适,请多多谅解嵌入式--学习心路历程与总结一、经历篇1、梦的开始-C语言2、我与单片机的故事3、Python、java与PCB电路板4、比赛5、Linux6、关于自

2022-03-26 21:18:54 1923 8

原创 【Linux】应用篇十三--信号机制

应用篇十三--信号机制一、信号机制二、常用信号三、信号相关命令四、信号发送无、定时器六、信号捕捉1、信号捕捉过程2、signal捕获函数3、sigaction捕获函数七、信号集和信号屏蔽1、信号集操作函数2、pause/sigsuspend函数一、信号机制概念:信号是在软件层次上对中断机制的一种模拟,是一种异步通信方式 ,所有信号的产生及处理全部都是由内核完成的信号的产生:按键产生系统调用函数产生(比如raise, kill)硬件异常命令行产生 (kill)软件条件(比如被0除,访.

2022-03-26 12:39:54 2804

原创 【Linux】应用篇十二--共享内存

应用篇十一--共享内存一、内存映射二、内存映射使用三、内存映射注意事项四、释放映射五、System V共享内存IPC 的keyftok函数创建步骤一、内存映射使一个磁盘文件与内存中的一个缓冲区相映射,进程可以像访问普通内存一样对文件进行访问,不必再调用read,write。优点:实现了用户空间和内核空间的高效交互方式二、内存映射使用void *mmap(void *addr, size_t length, int prot, int flags, int fd, off_t o.

2022-03-25 16:05:04 3299

原创 【Linux】应用篇十一--进程间的通信

应用篇十--进程间的通信一、概念与方式二、无名管道三、有名管道一、概念与方式概念:就是进程和进程之间交换信息。常用通信方式无名管道(pipe)有名管道 (fifo)信号(signal)共享内存(mmap)套接字(socket)二、无名管道#include <unistd.h>int pipe(int pfd[2]);成功时返回0,失败时返回EOF(-1)pfd 包含两个元素的整形数组,用来保存文件描述符pfd[0]用于读管道;pfd[1]用于.

2022-03-25 08:00:00 2174 2

原创 【LInux】应用篇十--条件变量和线程池

应用篇九--条件变量和线程池一、条件变量二、线程池的概念与使用1、线程池的概念与基本结构2、线程池的实现三、线程的GDB调试一、条件变量int pthread_cond_wait(pthread_cond_t *restrict cond, pthread_mutex_t *restrict mutex); //等待信号达到int pthread_cond_timedwait(pthread_cond_t *restrict cond, pthread.

2022-03-24 15:47:45 3656 2

原创 【Linux】应用篇九--线程的取消与互斥

应用篇八--线程的取消与互斥一、线程的取消二、线程的清理三、线程的互斥和同步四、互斥锁的创建与与销毁1、互斥锁的创建2、互斥锁的销毁3、互斥锁的使用五、读写锁六、死锁一、线程的取消int pthread_cancel(pthread_t thread);注意:线程的取消要有取消点才可以,不是说取消就取消,线程的取消点主要是阻塞的系统调用方法一:通过延时让线程阻塞方法二:使用设置取消点函数void pthread_testcancel(void);设置取消线程的其他函数(1)设.

2022-03-24 08:00:00 2629 1

原创 【Linux】应用篇八--线程的创建与回收

应用篇八--线程的创建与回收一、线程的概念与特点1、线程的概念2、线程的特点二、线程的创建三、线程查看1、获取线程的id2、线程结束四、线程参数的传递五、线程的回收1、使用pthread_join 函数2、使用线程的分离13、使用线程的分离2一、线程的概念与特点1、线程的概念由于进程在切换时系统开销大很多操作系统引入了轻量级进程LWP(线程)同一进程中的线程共享相同地址空间Linux不区分进程、线程Linux的线程库是后来加入的,内核没有它的库,使用时得记得链接线程库2、线程的特点.

2022-03-23 17:00:00 1971

原创 【Linux】应用篇七--exec函数族和守护进程

应用篇七--exec函数族和守护进程一、exec函数族1、exec函数族2、execl / execlp3、execv / execvp4、system二、守护进程1、守护进程特点守护进程的含义守护进程的特点相关概念2、创建守护进程(1)创建子进程,父进程退出(必做)(2)子进程创建新会话(必做)(3)更改当前工作目录(选做)(4)重设文件权限掩码(选做)(5)关闭打开的文件描述符(选做) getsid函数三、gdb调试多进程程序一、exec函数族1、exec函数族进程调用exec函数族执行某个程序

2022-03-23 08:00:00 2383 2

原创 【Linux】应用篇六--进程的创建与回收

进程的创建与回收一、进程的基本概念1、进程的概念2、进程包含的内容3、进程的状态4、进程类型二、进程的常用命令1、查看进程信息2、前后台进程切换3、改变进程优先级三、进程的创建与结束1、创建子进程2、进程退出四、进程的回收1、wait2、进程返回值和结束方式3、waipid一、进程的基本概念1、进程的概念程序存放在磁盘上的指令和数据的有序集合(文件)静态的进程执行一个程序所分配的资源的总称进程是程序的一次执行过程动态的,包括创建、调度、执行和消亡2、进程包含的内容BS.

2022-03-22 14:00:00 2447

模电基础multisim14.0仿真电路

文件包含: 1. 基本元器件电路 2. 基本放大电路 3. 集成运算放大电路 4. 应用电路

2023-08-06

STM32标准库与HAL库开发代码

代码的内容是包括我教程从模板到IIC的内容,代码全部测试可运行,我用的是普中的STM32ZE的Z200开发板,不同的开发运行我的程序可能会有问题,所以这个只能算作参考,具体请根据你自己开发板自行修改。 开发板内容包括: 标准库:寄存器操控LED 、标准库函数模板文件、库函数点亮LED、SysTick定时器延时、外部中断实验、位带操控LED、定时器中断、串口中断通信、PWM呼吸灯、输入捕获实验、ADC单通道转换、DAC输出电压、软件IIC通信_EEPROM实验 HAL库:Template、LED、SysTick、Exit、System、time、usart、PWM、Input、ADC、DAC、AT24C02

2022-09-24

【python】飞机大战小游戏代码

代码运行环境为pycharm,使用的类库是pygame, 代码是博主学习python语言之后的练习,CSDN上关于飞机大战游戏的代码很多,本篇的代码也只是其中一种思路,代码内大量用到了类的创建与使用,希望对大家的学习有所帮助

2022-07-25

【C++】QT小练习代码

1、代码使用Qt creator 编写 2、文件主要包含关于QT的知识点的练习代码

2022-07-06

linux内核、设备驱动、根文件系统移植

资源包含华清远见FS4412嵌入式开发板的linux内核、设备驱动、根文件系统移植,教程与文件全部在压缩包内,教程只适用于华清远见的FS4412开发板

2022-05-10

华清远见嵌入式FS4412开发板uboot移植教程

包含开发板uboot的移植教程

2022-05-08

Ubuntu交叉编译安装教程

内容讲解如何在Ubuntu中安装arm的编译工具

2022-05-07

Linux内核的安装与加载教程

内容包含linux的内核安装与加载教程的PPT、LInux内核镜像、文件系统镜像,该教程基于华清远见的FS4412开发板。

2022-05-07

ARM开发板SD卡启动盘制作教程

内容包括SD卡启动盘制作教程PPT、uboot镜像、测试程序

2022-05-06

Ubuntu交叉环境搭建教程

内容包括:ubuntu网络环境配置、tftp服务器环境搭建、nfs服务器环境搭建

2022-05-06

FS4412开发板工程模板

包含华清远见嵌入式FS4412开发板的工程模板,运行程序写在interface.c内,make编译代码,.bin文件是开发板可执行文件。

2022-04-19

FS4412开发板环境搭建

文件包含FS4412开发板,所需文件的搭建,以及开发板的电路原理图,环境请按照文件步骤依次完成,电路原理图包括核心板原理图与外设硬件原理图。

2022-04-16

linux下FTP服务器项目

项目分为用户与服务器,用户可以登录服务器,输入命令可以查看服务器资源,可以选择资源进行下载,也可以上传资源文件到服务器,包内有程序的框架实现图,第一次画图,画的不好请见谅。

2022-04-11

linux在线词典项目代码

词典项目是以网络上的词典为原型,创建的在线词典缩减版,可以让用户进行服务器数据库储存字典信息,当客机作为用户可以连接服务器进行登录并查询自己想要查询的单词,服务器记录用户的信息以及登录信息并返回单词信息给用户。词典还分管理员与用户登录,两者有不同的权限。

2022-04-11

【数据结构与算法】查找和排序的程序

包含哈希表的实现程序文件与快速排序的实现程序

2022-03-14

【数据结构与算法】二叉树的实现C语言代码

包含二叉树的创建、遍历、程序,可在test.c文件中测试功能

2022-03-12

【数据结构与算法】队列的C程序实现

包含顺序队列、链表队列的实现,还有球钟问题的解决代码。

2022-03-11

【数据结构与算法】栈的实现C程序

包含顺序栈的实现与链表栈的实现程序文件,其中.c文件是函数的实现,.h是头文件申明,test.c文件是测试文件

2022-03-10

【数据结构算法】--单链表的相关程序实现

压缩包包含单链表的listlink.h头文件,linkliist.c函数实现文件,test.c功能测试文件

2022-03-09

【数据结构与算法】顺序表C程序的实现

【数据结构与算法】顺序表C程序的实现,其中sqlist.c文件是顺序表的实现程序,sqlist.h头文件包含类型申明、头文件包含等,test.c是测试文件用于对sqlist.c中的1功能程序进行测试

2022-03-08

空空如也

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

TA关注的人

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