自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(48)
  • 资源 (3)
  • 收藏
  • 关注

转载 进程与线程及调度

转:https://blog.csdn.net/forgotaboutgirl/article/details/67750151、系统调用         在程序状态字(Program Status Word, PSW)寄存器中有一个二进制位控制CPU的两种工作模式(内核态和用户态)。在内核态运行时,CPU可以执行指令集中的每一条指令,操作系统在内核态下运行,从而可以访问整个硬件。用户程序...

2018-12-28 19:11:14 2001

转载 可重入函数与与线程安全与volatile

引子:单线程程序只有一个控制流。不需要考虑静态或全局变量被同时访问或并发访问,但是多线程程序必须考虑并发访问一个资源。为了保证资源的完整性,为多线程程序写的代码必须是可重入的和线程安全的。1.0 定义:           线程安全的(Thread-Safe):如果一个函数在同一时刻可以被多个线程安全地调用,就称该函数是线程安全的。线程安全函数解决多个线程调用函数时访问共享资源的冲突问题。...

2018-12-28 17:39:19 166

转载 volatile 应用

1)并行设备的硬件寄存器(如:状态寄存器)2)一个中断服务子程序中会访问到的非自动变量(Non-automatic variables)3)多线程应用中被几个任务共享的变量1)一个参数既可以是const还可以是volatile吗?解释为什么。2)一个指针可以是volatile 吗?解释为什么。3)下面的函数被用来计算某个整数的平方,它能实现预期设计目标吗?如果不能,试回答...

2018-12-28 11:10:40 101

转载 如何查看linux下的结构体

 先按装sudo apt-get install exuberant-ctags在/usr/include/目录下1. 生成tags文件  命令:sudo ctags -R2. 搜索(宏、结构体)命令: vi -t    名称   //如vi -t device3.然后就看见它们的定义了  ctrl + ] (进入) ctrl + t (返回)...

2018-12-27 11:38:25 1581

转载 用户空间与内核空间 进程上下文与中断上下文

转:http://www.cnblogs.com/Anker/p/3269106.html多线程缺点,并解释什么叫上下文切换1.设计更加复杂;2.上下文切换的开销:当CPU从执行一个线程切换到另一个时,它需要先存储当前线程的本地数据、程序指针等,然后载入另一个线程的本地数据、程序指针等,最后才开始执行。这种切换称为“上下文切换”。3.增加资源消耗:线程在运行时除了使用CPU,还需要...

2018-12-26 17:44:42 159

原创 最初Unix IPC包括:管道、FIFO、信号 ,

管道打开,都要同时打开写端与读端,不然会在open函数产生阻塞!!!无名管道pipe•创建–int pipe (int fd[2]) –返回0表示成功;fd[0]带回管道出口,fd[1]带回管道入口; –fd[0], fd[1]通过文件描述符来表示pipe的出口与入口,进程可以从fd[0]读,并向fd[1]写。 –     -1,出错•销毁–close(fd[0]) 关闭读...

2018-12-26 16:22:19 126

原创 linux线程相关函数

 1.0   int pthread_create(pthread_t *thread, const pthread_attr_t *attr,            void *(*start_routine) (void *), void *arg);#include <pthread.h>int pthread_create(pthread_t *thread, co...

2018-12-25 19:59:51 206

转载 SCHED_OTHER/SCHED_FIFO/SCHED_RR

 调度算法要求:高资源利用率、高吞吐量、用户满意等原则。进程调度所采用的算法是与整个系统的设计目标相一致的:1.批处理系统:增加系统吞吐量和提高系统资源的利用率;2.分时系统:保证每个分时用户能容忍的响应时间。3.实时系统:保证对随机发生的外部事件做出实时响应int pthread_setschedparam(pthread_t target_thread, int pol...

2018-12-25 18:36:50 1003

转载 线程取消(pthread_cancel)

基本概念pthread_cancel调用并不等待线程终止,它只提出请求。线程在取消请求(pthread_cancel)发出后会继续运行,直到到达某个取消点(CancellationPoint)。取消点是线程检查是否被取消并按照请求进行动作的一个位置.        线程取消的方法是向目标线程发Cancel信号,但如何处理Cancel信号则由目标线程自己决定,或者忽略、或者立即终止、或者继续...

2018-12-25 18:02:28 844

转载 Posix IPC (信号量,消息队列,共享内存)

   上表是打开或者创建Posix IPC对象所用的各种oflag的值前3行指定怎么打开对象:只读只写或者是读写,消息队列能够以任何一种模式打开,信号量的打开不指定模式( 任何信号量的读写都需要读写访问权限 ),共享内存区对象则不能以只写模式打开以下4行是可选的:O_CREAT:若不存在则创建由函数的第一个参数所指明的消息队列,信号量或者共享内存区对象O_EXCL:...

2018-12-25 10:08:00 642

转载 System V IPC概述(信号信,消息队列,共享内存)

转:https://blog.csdn.net/qq_38211852/article/details/804758181.System  V引入了三种高级进程间的通信机制:消息队列、共享内寸和信号量   IPC对象(消息队列、共享内存和信号量)存在于内核中而不是文件系统中,由用户控制释放,不像管道的释放由内核控制   IPC对象通过其标识符来引用和访问,所有IPC对象在内核空间有唯一...

2018-12-25 09:30:20 430

转载 进程的挂起、阻塞和睡眠

转:https://www.cnblogs.com/ck1020/p/6669661.html要说挂起、阻塞、睡眠难免让人想到进程生命周期中的阻塞态或者等待状态,而挂起和睡眠却没有出现在进程生命周期中,说明这三个其实在本质上区别并不那么大,但是既然称呼不同,应该就有不同的道理。先说阻塞,既然它能出现在进程生命周期,必然是每个进程都会经历的一个阶段,众所周知,进程在运行过程中必然要获取资源,...

2018-12-24 11:43:14 477

转载 tasklet / 工作队列 / 软中断

         只有中枢的内核代码才使用软中断,而如果用户想要使用这种方式,直接使用软中断并不是一个好的选择,内核为用户提供了另外一种方便的方式即tasklet,tasklet本质上也是一种软中断,准确来说是系统从软中断类型中拿出一种来支持tasklet,所以tasklet就是一种软中断,不过在软中断的基础上,tasklet进行了更细的划分。每个CPU维护一个tasklet链表,其中保存当前CP...

2018-12-24 10:21:26 267

转载 临界区、互斥、同步、信号量

转:https://www.cnblogs.com/jan5/articles/3351186.html一、需要了解的概念知识概念1:临界区(1)维基百科对临界区的定义:  在同步的程序设计中,临界区段(Critical section)指的是一个访问共用资源(例如:共用设备或是共用存储器)的程序片段,而这些共用资源又无法同时被多个线程访问的特性。  当有线程进入临界区段时,其...

2018-12-24 10:03:47 1259

转载 linux文件系统的四大对象

    本来想看驱动的,但发现要对驱动有底,那还得全方位的了解文件系统。1   inode 简介            inode 是 UNIX/Linux 操作系统中的一种数据结构,其本质是结构体,它包含了与文件系统中各个文件相关的一些重要信息,例如文件及目录的基本信息,包含时间、档名、使用者及群组等。在 UNIX/Linux中创建文件系统时,同时将会创建大量的 inode 。通常,...

2018-12-22 16:03:33 1506

转载 sysfs与普通文件系统的关系

转:https://blog.csdn.net/chqsy/article/details/81001600 基础:VFS inode 包含文件访问权限、属主、组、大小、生成时间、访问时间、最后修改时间等信息。它是Linux 管理文件系统的最基本单位,也是文件系统连接任何子目录、文件的桥梁。        内核使用inode结构体在内核内部表示一个文件。因此,它与表示一个已经打开的文件...

2018-12-22 10:20:46 914 1

转载 koject、kset、ktype驱动基础结构体

随着技术的不断进步,系统的拓扑结构也越来越复杂,对智能电源管理、热插拔的支持要求也越来越高,2.4内核已经难以满足这些需求。为适应这种形势的需要,Linux 2.6内核提供了全新的内核设备模型。Kobject的核心功能是:保持一个引用计数,当该计数减为0时,自动释放(由本文所讲的kobject模块负责) Kobject所占用的meomry空间。这就决定了Kobject必须是动态分配的(只有这样...

2018-12-22 10:13:43 464

转载 信号在目标进程中注册

发送信号的主要函数有:kill()、raise()、 sigqueue()、alarm()、setitimer()以及abort()。实时信号      非实时信号 信号在目标进程中注册在进程表的表项中有一个软中断信号域,该域中每一位对应一个信号。内核给一个进程发送软中断信号的方法,是在进程所在的进程表项的信号域设置对应于该信号的位。如果信号发送给一个正在睡眠的进程,如果进程睡眠在可被...

2018-12-21 15:45:02 196

转载 Linux C 信号 pause、sigsuspend 的相同与区别

转https://www.cnblogs.com/mrethan/p/5612839.htmlpause函数:       功能:让进程暂停直到信号出现       #include<unistd.h>       intpause();       函数说明:pause()会令目前的进程暂停(进入睡眠状态),直至信号(signal)所中断。       返回值:...

2018-12-20 17:26:47 447

转载 linux信号处理 (信号产生 信号阻塞 信号集)

1.0 定义信号(signal)是Linux进程间通信的一种机制,全称为软中断信号,也被称为软中断。信号本质上是在软件层次上对硬件中断机制的一种模拟。它提供了一种处理异步事件的方法,也是进程间惟一的异步通信方式。体现为操作系统修改了目标进程的PCB内容,即为对其发送了信号。2.0 信号的产生(1)硬件方式        a.当用户在终端上按下某键时,将产生信号。如按下<Ctr...

2018-12-20 16:16:16 1111

转载 Linux--进程组、会话、守护进程

转:http://www.cnblogs.com/forstudy/archive/2012/04/03/2427683.htmlint setpgid(pid_t pid, pid_t pgid);pid_t getpgid(pid_t pid)pid_t getpgrp(void)//用来取得目前进程所属的组识别码。此函数相当于调用getpgid(0);返回目前进程所属的组识别码。...

2018-12-19 14:57:16 284

转载 守护进程

进程组:是一个或多个进程的集合。进程组有进程组ID来唯一标识。除了进程号(PID)之外,进程组ID也是一个进程的必备属性。每个进程组都有一个组长进程,其组长进程的进程号等于进程组ID。且该进程组ID不会因组长进程的退出而受到影响。会话周期:会话期是一个或多个进程组的集合。通常,一个会话开始于用户登录,终止于用户退出,在此期间该用户运行的所有进程都属于这个会话期。接下来就可以具体介绍sets...

2018-12-19 11:34:41 136

原创 umask 使用

例如,umask值002 所对应的文件和目录创建缺省权限分别为6 6 4(666 减 2)和7 7 5(777 减 2)。还有另外一种计算umask值的方法。我们只要记住umask是从权限中“拿走”相应的位即可 文件和目录创建缺省权限  分别为 666     775 (创建的最大权限  这里不知道为什么最大权限是666 775而 不是 777    777)umask就是拿走的权...

2018-12-18 19:26:27 915 2

转载 进程的终止方式和进程的状态

进程的终止方式:有8种方式使进程终止,其中前5种为正常终止,它们是1:从 main 返回2:调用 exit3:调用 _exit 或 _Exit4:最后一个线程从其启动例程返回5:最后一个线程调用pthread_exit异常终止有3种,它们是6:调用 abort7:接到一个信号并终止8:最后一个线程对取消请求做出响应Linux进程状态:R (TASK_RU...

2018-12-18 11:51:27 6135 1

转载 exit()与_exit()函数wait与waitpid及孤儿僵尸

注:exit()就是退出,传入的参数是程序退出时的状态码,0表示正常退出,其他表示非正常退出,一般都用-1或者1,标准C里有EXIT_SUCCESS和EXIT_FAILURE两个宏,用exit(EXIT_SUCCESS);可读性比较好一点。作为系统调用而言,_exit和exit是一对孪生兄弟,它们究竟相似到什么程度,我们可以从Linux的源码中找到答案:#define __...

2018-12-18 11:37:27 582

转载 终端、控制台、shell、bash的区别联系

     通常我们在使用 Linux 时,并不是直接与系统打交道,而是通过一个叫做 Shell 的中间程序来完成的,在图形界面下为了实现让我们在一个窗口中完成用户输入和显示输出,Linux 系统还提供了一个叫做终端模拟器的程序(Terminal),下面是几个比较常见的终端模拟器: gnome-terminal,Konsole,xterm,rxvt,kvt,nxterm 和 eterm 。终端本质上...

2018-12-18 10:28:26 3357

转载 linux串口编程(控制流与终端)

流控制数据在两个串口之间传输时,常常会出现丢失数据的现象,或者两台计算机的处理速度不同,如台式机与单片机之间的通讯,接收端数据缓冲区已满,则此时继续发送来的数据就会丢失。流控制能解决这个问题,当接收端数据处理不过来时,就发出“不再接收”的信号,发送端就停止发送,直到收到“可以继续发送”的信号再发送数据。因此流控制可以控制数据传输的进程,防止数据的丢失。PC中有两种流控制方法:软件”流控...

2018-12-17 16:00:03 915

转载 linux串口编程(termios结构体说明)

termios结构体说明转https://www.cnblogs.com/li-hao/archive/2012/02/19/2358158.htmltermios结构体中,该结构体一般包括如下的成员:tcflag_t       c_iflag;      tcflag_t       c_oflag;      tcflag_t       c_cflag;      tcfla...

2018-12-17 12:01:30 5429 2

原创 AutoTool使用

1.0  简介–Makefile而且常常会受到自己的开发环境的限制,只要环境参数不同或者路径更改,可能 Makefile 就得跟着修改修改。虽然有 GNU Makefile Conventions (GNU Makefile惯例)订出一些使用 GNU 程式设计时撰写 Makefile 的一些标准和规范,但是内容很长而且很复杂,并且经常作一些调整,为了减轻程序开发人员维护Makefile 的负担...

2018-12-17 09:44:25 1258

原创 linux系统编程(二)--文件操作

1.0    文件描述符        每个进程启动后会自动打开三个文件描述符 0、1、2            分别对应于宏 STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO    2.0   标准IO的缓冲类型       缓冲类型可以分为:无缓冲,行缓冲,与全缓冲        标准输出是"行缓冲",即遇到换行符或进程结束才会真正执行 ...

2018-12-13 19:43:51 230

转载 STM32时钟

RCC 时钟控制寄存器(RCC CR)RCC PLL配置寄存器(RCC PLLCFGR)RCC 时钟配置寄存器(RCC CFGR)RCC 时钟中断寄存器 (RCC CIR)RCC AHB1 外设复位寄存器 (RCC_AHB1RSTR)RCC AHB2 外设复位寄存器 (RCC_AHB2RSTR)RCC AHB3 外设复位寄存器 (RCC_AHB3RST...

2018-12-13 15:19:30 567

原创 关于省电模式

每种单片机都有省电模式,各自细节不同,但总休思想是一样的。第一个问题:如何实现省电的?第二个问题:如何操作?1.0  要省电,首先得了解系统时钟,因为要驱动任何电子模块,都得有时钟驱动。其次得模块思想,即把一个MCU分成不同模块。1.1 时钟系统,在STM32时钟一文可以了解。1.2 关于模块           内核   (省电模式下,一般内核都停止)        ...

2018-12-13 14:59:29 2796

转载 ADC

a/d转换器或adc,           analog to digital converter1.0 简述A/D转换的作用是将时间连续、幅值也连续的模拟量转换为时间离散、幅值也离散的数字信号,因此,A/D转换一般要经过取样、保持、量化及编码4个过程。在实际电路中,这些过程有的是合并进行的,例如,取样和保持,量化和编码往往都是在转换过程中同时实现的。种类   并联比较型ADC...

2018-12-13 09:43:13 2031

转载 定时计数器

1 工作方式0当TMOD中的M1,M2设置成0,0时,定时器/计数器就工作在方式0,工作方式0是一种13位定时器/计数器方式。可用来测量外信号的脉冲宽度所持续的时间。2 工作方式1工作方式1为16位定时器/计数其结构和操作与工作方式0基本相同,唯一的区别是工作方式1的计数器由TL0的8位和TH0的8位共同组成16位的计数器,其定时时间为:t=(2^16-T0初值)×时钟周期×123 工作...

2018-12-12 17:50:52 1734

转载 I/O口

1.0 关于I/O  口发现在Cortex-M3里,对于GPIO的配置种类有8种之多:(1)GPIO_Mode_AIN 模拟输入                            //一般用用ad输入(2)GPIO_Mode_IN_FLOATING 浮空输入        (3)GPIO_Mode_IPD 下拉输入(4)GPIO_Mode_IPU 上拉输入(5)GPIO_Mod...

2018-12-12 17:15:54 860

原创 UART(Universal Asynchronous Receiver Transmitter:通用异步收发器)

UART(Universal Asynchronous Receiver Transmitter:通用异步收发器)UART协议虽然速率较低,但协议简单,实现起来很便捷。     UART有4个pin(VCC, GND, RX, TX), 用的TTL电平,  低电平为0(0V),高电平为1(3.3V或以上)。                                      ...

2018-12-12 16:36:00 1011

转载 CAN与RS485比较

来源:CSDN 原文:https://blog.csdn.net/reille/article/details/6135546 最近一个项目总体方案设计为分布式系统,于是在通讯上纠结于CAN总线还是RS485。因此在网上搜索一些了一些关于RS485和CAN总线的资料,除进一步认识RS485通讯特点外,认识了CAN总线的特点及其与RS485的比较,总结如下: 注:以下是从网上搜索总结的...

2018-12-12 15:23:58 1786

转载 CAN总线协议

CAN报文的四种消息类型: 数据帧:数据帧将数据从发送器传输到接收器。 远程帧:总线单元发出远程帧,请求发送具有同一标识符的数据帧。 错误帧:任何单元检测到总线错误就发出错误帧。 过载帧:过载帧用在相邻数据帧或远程帧之间的提供附加的延时。 序号 名称 位 描述 1 SOF 1 起始位,逻辑0使能,告诉其他ECU,消息即...

2018-12-12 15:05:04 198

转载 如何实现一个malloc

转:https://kb.cnblogs.com/page/512454/任何一个用过或学过C的人对malloc都不会陌生。大家都知道malloc可以分配一段连续的内存空间,并且在不再使用时可以通过free释放掉。但是,许多程序员对malloc背后的事情并不熟悉,许多人甚至把malloc当做操作系统所提供的系统调用或C的关键字。实际上,malloc只是C的标准库中提供的一个普通函数,而且实现m...

2018-12-12 11:09:08 196 1

转载 关于文件结构

转:https://blog.csdn.net/yuzhihui_no1/article/details/51272563file结构在include\linux\fs.h中定义如下:struct files_struct {atomic_t count; /* 共享该表的进程数 */rwlock_t file_lock; /* 保护以下的所有域,以免在tsk->alloc_...

2018-12-12 10:30:58 145

内核链表航班系统

应用linux内核链表制作航班系统,有添加和删除功能,查询等功能。

2018-11-14

中文ATmega128_cn.pdf

。。。。。。。。。。。。。。。。。。。。。ATmega128_cn.pdf

2009-11-05

ads7843用法编程说明书

.....................如题

2009-11-05

空空如也

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

TA关注的人

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