自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Ryze的博客

无极之道

  • 博客(118)
  • 资源 (11)
  • 收藏
  • 关注

原创 Linux下清理内存和Cache方法

Linux下清理内存和Cache方法2015年07月01日 08:58:01Cullenyy阅读数 1312Linux下清理内存和Cache方法 /proc/sys/vm/drop_caches频繁的文件访问会导致系统的Cache使用量大增$ free -mtotal used free shared buffers cachedMem: 3955 3926 28 0 55...

2019-08-03 23:01:20 470

转载 STM32中挂载SDRAM内存说明

SDRAM使用总结2018-7-9 08:57213844分类:MCU/ 嵌入式文集:stm32最近stm32学到使用SDRAM了,板载SDRAM为IS42S16400J。SDRAM为一种可以运行存储在存储器上的代码的存储器,stm32内部有2M的代码运行空间,一般都是够用的,如果不够用的时候就可以用SDRAM扩大代码运行空间。SDRAM是通过FM...

2019-07-23 10:03:06 9562 2

转载 LTDC/DMA2D——液晶显示

1.显示器的基本参数(1) 像素像素是组成图像的最基本单元要素,显示器的像素指它成像最小的点。(2) 分辨率一些嵌入式设备的显示器常常以“行像素值 x列像素值”表示屏幕的分辨率。如分辨率 800x480表示该显示器的每一行有 800 个像素点,每一列有 480 个像素点,也可理解为有 800列,480 行。(3) 色彩深度色彩深度指显示器的每个像素点能表示多少种颜色,...

2019-07-22 18:34:01 4950

转载 ARM处理器寄存器

2016-04-26 15:301.1.1 不同模式下 CPU的模式不同,在其对应模式下可以使用的寄存器也不相同,如表3-2所示:表3-2 ARM处理器模式下寄存器寄存器类别 寄存器在汇编中的名称 各模式下实际访问的寄存器用户 系统 管理 终止 未定义 中断 快中断通用寄存器和程序计数器 R0(a1) R0R1(a2) R1R2(a3) R2R3(a4) R3R4(v1) R4...

2019-07-13 13:21:33 1033

原创 树莓派+motion安装摄像头实现远程监控

树莓派+motion安装摄像头实现远程监控2016年9月1日 Spoony 未分类 22bd4f72371919fd32d4f6043a76867e19-0下面我们介绍如何来给树莓派装个USB摄像头,然后远程访问摄像头拍摄的即时画面。首先你需要一个树莓派能兼容的USB摄像头,笔者用的是罗技(Logitech)C270 高清网络摄像头,插上即可。软件方面非常简单只需要一个软件:motion...

2019-07-02 19:13:36 2070

转载 STM32 中断应用概览

本章参考资料《 STM32F4xx 中文参考手册》第十章-中断和事件、《ARM Cortex™-M4F 技术参考手册》 -4.3 章节: NVIC 和 4.4 章节: SCB—4.4.5 的 AIRCR。STM32 中断非常强大,每个外设都可以产生中断,所以中断的讲解放在哪一个外设里面去讲都不合适,这里单独抽出一章来做一个总结性的介绍,这样在其他章节涉及到中断部分的知识我们就不用费很大的篇...

2019-05-29 13:44:45 629

转载 中断控制器

以下转载自安富莱电子: http://forum.armfly.com/forum.phpNVIC 的全称是 Nested vectored interrupt controller,即嵌套向量中断控制器。对于 M3 和 M4 内核的 MCU,每个中断的优先级都是用寄存器中的 8 位来设置的。 8 位的话就可以设置 2^8 = 256 级中断,实际中用不了这么多,所以芯片厂商根据自己生产的芯...

2019-05-29 13:41:18 2255

转载 使用树莓派3B+开发智能音乐播放器

使用树莓派3B+开发智能音乐播放器2018年07月03日 21:25:13 qq_42044484 阅读数:2397一、功能描述对麦克风说出歌名后,树莓派自动下载对应歌曲的MP3,默认播放搜索到的第一首歌曲。二、硬件设备1、树莓派3B+2、sony的ps3 eye麦克风一个(淘宝20块一个,带摄像头和4个麦克风阵列,USB连接)3、蓝牙音箱三、需要的python库1、pyaudi...

2019-05-14 18:18:11 3520

转载 高级Bash脚本编程指南(2):Shell特殊字符

高级Bash脚本编程指南(2):Shell特殊字符成于坚持,败于止步注释表示注释在引号中间和#等表示#本身3.echo ${PATH#*:} # 参数替换,不是一个注释4.echo $(( 2#101011 )) # 数制转换,不是一个注释; 分隔1.命令分隔,在一行中写多个命令 echo “aa” ; echo “bb”2.在条件中的if和then如果放在同一行,也...

2019-04-30 14:03:39 492

转载 高级Bash脚本编程指南(1):从一个简单的script出发

高级Bash脚本编程指南:从一个简单的script出发成于坚持,败于止步开始shell脚本编程学习,路途遍布荆棘啊,O(∩_∩)O~,开始吧,这是“高级Bash脚本编程指南”为我们量身打造的“HelloWorld”,其实也不算,因为这个只是我们无比熟悉的命令的堆叠嘛!O(∩_∩)O清除/var/log下的log文件清除,当然要使用root身份来运行这个脚本.cd /var/logcat...

2019-04-30 13:56:28 245

转载 Linux设备驱动开发详解-Note(19)---Linux 设备驱动中的异步通知与异步 I/O(2)

Linux 设备驱动中的异步通知与异步 I/O(2)成于坚持,败于止步Linux 2.6 异步 I/OAIO 概念与 GNU C 库函数Linux 系统中最常用的输入/输出(I/O)模型是同步 I/O。在这个模型中,当请求发出之后,应用程序就会阻塞,直到请求满足为止。这是很好的一种解决方案,因为调用应用程序在等待 I/O 请求完成时不需要使用任何中央处理单元(CPU)。但是在某些情况下,...

2019-04-30 13:38:28 269

转载 Linux设备驱动开发详解-Note(18)---Linux 设备驱动中的异步通知与异步 I/O(1)

Linux 设备驱动中的异步通知与异步 I/O(1)成于坚持,败于止步异步通知的概念与作用阻塞与非阻塞访问、poll()函数提供了较好的解决设备访问的机制,但是如果有了异步通知整套机制就更加完整了。异步通知的意思是:一旦设备就绪,则主动通知应用程序,这样应用程序根本就不需要查询设备状态,这一点非常类似于硬件上“中断”的概念,比较准确的称谓是“信号驱动的异步 I/O”。信号是在软件层次上对中...

2019-04-30 13:37:40 245

转载 Linux设备驱动开发详解-Note(17)---Linux 设备驱动中的阻塞与非阻塞 I/O(2)

Linux 设备驱动中的阻塞与非阻塞 I/O(2)成于坚持,败于止步轮询操作轮询的概念与作用在用户程序中,select()和 poll()也是与设备阻塞与非阻塞访问息息相关的论题。使用非阻塞 I/O 的应用程序通常会使用 select()和 poll()系统调用查询是否可对设备进行无阻塞的访问。select()和 poll()系统调用最终会引发设备驱动中的 poll()函数被执行,在 2....

2019-04-30 13:37:01 152

转载 Linux设备驱动开发详解-Note(16)---Linux 设备驱动中的阻塞与非阻塞 I/O(1)

Linux 设备驱动中的阻塞与非阻塞 I/O(1)成于坚持,败于止步阻塞与非阻塞 I/O阻塞操作是指在执行设备操作时若不能获得资源则挂起进程,直到满足可操作的条件后再进行操作。被挂起的进程进入休眠状态,被从调度器的运行队列移走,直到等待的条件被满足。而非阻塞操作的进程在不能进行设备操作时并不挂起,它或者放弃,或者不停地查询,直至可以进行操作为止。驱动程序通常需要提供这样的能力:当应用程序...

2019-04-30 13:36:26 177

转载 Linux设备驱动开发详解-Note(15)--- Linux 设备驱动中的并发控制(2)

Linux 设备驱动中的并发控制(2)成于坚持,败于止步信号量信号量的使用信号量(semaphore)是用于保护临界区的一种常用方法,它的使用方式和自旋锁类似。与自旋锁相同,只有得到信号量的进程才能执行临界区代码。但是,与自旋锁不同的是,当获取不到信号量时,进程不会原地打转而是进入休眠等待状态。 Linux 系统中与信号量相关的操作主要有如下 4 种。1.定义信号量下列代码定义名称为 ...

2019-04-30 13:35:39 274

转载 Linux设备驱动开发详解-Note(14)--- Linux 设备驱动中的并发控制(1)

Linux 设备驱动中的并发控制(1)成于坚持,败于止步并发与竞态并发(concurrency)指的是多个执行单元同时、并行被执行,而并发的执行单元对共享资源(硬件资源和软件上的全局变量、静态变量等)的访问则很容易导致竞态(race conditions)。例如,对于 globalmem 设备,假设一个执行单元 A 对其写入 3000个字符“a”,而另一个执行单元 B 对其写入 4000 ...

2019-04-30 13:34:57 284

转载 Linux设备驱动开发详解-Note(13)--- 字符设备驱动(2)

字符设备驱动(2)成于坚持,败于止步globalmem程序源码#include <linux/module.h>#include <linux/types.h>#include <linux/fs.h>#include <linux/errno.h>#include <linux/mm.h>#include <lin...

2019-04-30 13:32:40 251

转载 字符设备驱动(1)

字符设备驱动(1)成于坚持,败于止步Linux 字符设备驱动结构cdev 结构体在 Linux 2.6 内核中使用 cdev 结构体描述字符设备,cdev 结构体的定义如代码所示。1 struct cdev2 {3 struct kobject kobj; /* 内嵌的 kobject 对象 */4 struct module *owner; /所属模块/5 ...

2019-04-28 10:11:08 188

转载 Linux 文件系统与设备文件系统(3)

Linux 文件系统与设备文件系统(3)成于坚持,败于止步sysfs 文件系统与 Linux 设备模型1.sysfs 文件系统Linux 2.6 内核引入了 sysfs 文件系统,sysfs 被看成是与 proc、devfs 和 devpty 同类别的文件系统,该文件系统是一个虚拟的文件系统,它可以产生一个包括所有系统硬件的层级视图,与提供进程和状态信息的 proc 文件系统十分类似。s...

2019-04-28 10:10:21 430

转载 Linux 文件系统与设备文件系统(2)

Linux 文件系统与设备文件系统(2)成于坚持,败于止步Linux 文件系统目录结构进入 Linux 根目录(即“/”,Linux 文件系统的入口,也是处于最高一级的目录),运行“ls –l”命令,可以看到 Linux 系统包含以下目录。1./bin包含基本命令,如 ls、cp、mkdir 等,这个目录中的文件都是可执行的。2./bootLinux 系统的内核及引导系统程序所需要的...

2019-04-28 10:09:27 248

转载 Linux 文件系统与设备文件系统(1)

Linux 文件系统与设备文件系统(1)成于坚持,败于止步文件操作的相关系统调用Linux 的文件操作系统调用(在 Windows 编程领域,习惯称操作系统提供的接口为 API)涉及创建、打开、读写和关闭文件。1.创建int creat(const char *filename, mode_t mode);参数 mode 指定新建文件的存取权限,它同 umask 一起决定文件的最终权限...

2019-04-28 10:08:38 188

转载 Linux 内核模块(2)

Linux 内核模块(2)成于坚持,败于止步模块加载函数Linux 内核模块加载函数一般以_ _init 标识声明,典型的模块加载函数的形式如代码所示:1 static int _ _init initialization_function(void)2 {3 /* 初始化代码 */4 }5 module_init(initialization_function...

2019-04-28 10:07:52 256

转载 Linux 内核模块(1)

Linux 内核模块(1)成于坚持,败于止步Linux 内核模块简介Linux 内核的整体结构非常庞大,其包含的组件也非常多。我们怎样把需要的部分都包含在内核中呢?一种方法是把所有需要的功能都编译到 Linux 内核。这会导致两个问题,一是生成的内核会很大,二是如果我们要在现有的内核中新增或删除功能,将不得不重新编译内核。有没有一种机制使得编译出的内核本身并不需要包含所有功能,而在这些功...

2019-04-28 10:07:08 150

转载 Linux 内核及内核编程(2)

Linux 内核及内核编程(2)成于坚持,败于止步Linux 下的C编程举例零长度数组GNU C 允许使用零长度数组,在定义变长对象的头结构时,这个特性非常有用。例如:struct var_data{int len;char data[0];};char data[0]仅仅意味着程序中通过 var_data 结构体实例的 data[index]成员可以访问 len 之后的第 i...

2019-04-28 10:06:28 192

转载 Linux 内核及内核编程(1)

Linux 内核及内核编程(1)成于坚持,败于止步Linux 2.6 内核的特点Linux 2.6 相对于 Linux 2.4 有相当大的改进,主要体现在如下几个方面。1.新的调度器2.6 版本的 Linux 内核使用了新的进程调度算法,它在高负载的情况下执行得极其出色,并且当有很多处理器时也可以很好地扩展。2.内核抢占在 2.6 版本的 Linux 内核中,内核任务可以被抢占,从而...

2019-04-28 10:05:00 111

转载 驱动设计的硬件基础(2)

驱动设计的硬件基础(2)成于坚持,败于止步接口与总线串口RS-232、RS-422 与 RS-485 都是串行数据接口标准,最初都是由电子工业协会(EIA)制定并发布的。 RS-232 在 1962 年发布,命名为 EIA-232-E。之后发布的 RS-422 定义了一种平衡通信接口,它是一种单机发送、多机接收的单向、平衡传输规范,被命名为TIA/EIA-422-A 标准。RS-422 改...

2019-04-28 10:03:25 158

转载 驱动设计的硬件基础(1)

成于坚持,败于止步处理器分类不做过多说明,处理器类型很多,大同小异存储器存储器可分为只读储存器(ROM)、闪存(Flash)、随机存取存储器(RAM)、光介质存储器和磁介质存储器。ROM 还可再细分为不可编程 ROM、可编程 ROM(PROM)、可擦除可编程 ROM(EPROM)和电可擦除可编程 ROM(E2PROM),E2PROM 完全可以用软件来擦写,已经非常方便了。目前 ROM ...

2019-04-28 10:02:24 213

转载 驱动设计的硬件基础(2)

驱动设计的硬件基础(2)成于坚持,败于止步接口与总线串口RS-232、RS-422 与 RS-485 都是串行数据接口标准,最初都是由电子工业协会(EIA)制定并发布的。 RS-232 在 1962 年发布,命名为 EIA-232-E。之后发布的 RS-422 定义了一种平衡通信接口,它是一种单机发送、多机接收的单向、平衡传输规范,被命名为TIA/EIA-422-A 标准。RS-422 改...

2019-04-26 11:26:48 310

转载 驱动设计的硬件基础(1)

驱动设计的硬件基础(1)成于坚持,败于止步处理器分类不做过多说明,处理器类型很多,大同小异存储器存储器可分为只读储存器(ROM)、闪存(Flash)、随机存取存储器(RAM)、光介质存储器和磁介质存储器。ROM 还可再细分为不可编程 ROM、可编程 ROM(PROM)、可擦除可编程 ROM(EPROM)和电可擦除可编程 ROM(E2PROM),E2PROM 完全可以用软件来擦写,已经非...

2019-04-26 11:23:41 236

转载 设备驱动概述(2)

设备驱动概述(2)成于坚持,败于止步Linux 设备驱动设备的分类及特点计算机系统的硬件主要由 CPU、存储器和外设组成。随着 IC 制造工艺的发展,目前,芯片的集成度越来越高,往往在 CPU 内部就集成了存储器和外设适配器。ARM、PowerPC、MIPS 等处理器都集成了 UART、I2C 控制器、USB 控制器、SDRAM 控制器等,有的处理器还集成了片内 RAM 和 Flash。...

2019-04-26 11:22:59 215

转载 设备驱动概述(1)

设备驱动概述(1)成于坚持,败于止步设备驱动的作用任何一个计算机系统的运行都是系统中软硬件协作的结果,没有硬件的软件是空中楼阁,而没有软件的硬件则只是一堆废铁。硬件是底层基础,是所有软件得以运行的平台,代码最终会落实为硬件上的组合逻辑与时序逻辑;软件则实现了具体应用,它按照各种不同的业务需求而设计,满足了用户的需求。硬件较固定,软件则很灵活,可以适应各种复杂多变的应用。可以说,计算机系统的软...

2019-04-26 11:21:40 336

转载 Daily-C-Study(24):C语言内存管理

Daily-C-Study(24):C语言内存管理成于坚持,败于止步欢迎您进入这片雷区。我欣赏能活着走出这片雷区的高手,但更欣赏“粉身碎骨浑不怕,不留地雷在人间”的勇者。请您不要把这当作一个扫雷游戏,因为没有人能以游戏的心态取胜。把它称作雷区,赞一个,O(∩_∩)O~那到底什么是野指针呢?怎么去理解这个“野”呢?我们先看别的两个关于“野”的词:野孩子:没人要,没人管的孩子;行为动作不守规...

2019-04-26 10:56:27 184

转载 Daily-C-Study(23):C语言数组应用

Daily-C-Study(23):C语言数组应用成于坚持,败于止步一、数组的内存布局先看下面的例子:int a[5];所有人都明白这里定义了一个数组,其包含了5 个int 型的数据。我们可以用a[0],a[1]等来访问数组里面的每一个元素,那么这些元素的名字就是a[0],a[1]…吗?看下面的示意图:如上图所示,当我们定义一个数组a 时,编译器根据指定的元素个数和元素的类型分配确定大...

2019-04-26 10:55:30 134

转载 Daily-C-Study(22):C语言指针

Daily-C-Study(22):C语言指针成于坚持,败于止步一、指针的内存布局先看下面的例子:int *p;大家都知道这里定义了一个指针p。但是p 到底是什么东西呢?还记得第一章里说过,“任何一种数据类型我们都可以把它当一个模子”吗?p,毫无疑问,是某个模子咔出来的。我们也讨论过,任何模子都必须有其特定的大小,这样才能用来“咔咔咔”。那咔出p 的这个模子到底是什么样子呢?它占多大的...

2019-04-26 10:54:51 156

转载 Daily-C-Study(21):C语言#和##运算符

Daily-C-Study(21):C语言#和##运算符成于坚持,败于止步#也是预处理?是的,你可以这么认为。那怎么用它呢? 别急,先看下面例子:#define SQR(x) printf(“The square of x is %d.\n”, ((x)*(x)));如果这样使用宏:SQR(8);则输出为:The square of x is 64.注意到没有,引号中的字符x 被当...

2019-04-26 10:54:01 126

转载 Daily-C-Study(20):C语言#pragma预处理

Daily-C-Study(20):C语言#pragma预处理成于坚持,败于止步在所有的预处理指令中,#pragma 指令可能是最复杂的了,它的作用是设定编译器的状态或者是指示编译器完成一些特定的动作。#pragma 指令对每个编译器给出了一个方法,在保持与C 和C ++语言完全兼容的情况下,给出主机或操作系统专有的特征。依据定义,编译指示是机器或操作系统专有的,且对于每个编译器都是不同的。...

2019-04-26 10:53:23 126

转载 Daily-C-Study(19):C语言#line预处理

Daily-C-Study(19):C语言#line预处理成于坚持,败于止步#line 的作用是改变当前行数和文件名称,它们是在编译程序中预先定义的标识符命令的基本形式如下:#line number[“filename”]其中[]内的文件名可以省略。例如:#line 30 a.h(其中,文件名a.h 可以省略不写)#line指令改变__LINE__和__FILE__的内容。__LINE...

2019-04-26 10:52:34 267

转载 Daily-C-Study(19):C语言#line预处理

Daily-C-Study(19):C语言#line预处理成于坚持,败于止步#line 的作用是改变当前行数和文件名称,它们是在编译程序中预先定义的标识符命令的基本形式如下:#line number[“filename”]其中[]内的文件名可以省略。例如:#line 30 a.h(其中,文件名a.h 可以省略不写)#line指令改变__LINE__和__FILE__的内容。__LINE...

2019-04-25 13:25:50 111

转载 Daily-C-Study(18):C语言#error预处理

Daily-C-Study(18):C语言#error预处理成于坚持,败于止步#error 预处理指令的作用是,编译程序时,只要遇到#error 就会生成一个编译错误提示消息,并停止编译。其语法格式为:#error error-message注意,宏串error-message 不用双引号包围。遇到#error 指令时,错误信息被显示,可能同时还显示编译程序作者预先定义的其他内容。该预处...

2019-04-25 13:25:10 149

转载 Daily-C-Study(17):C语言文件包含#include

Daily-C-Study(17):C语言文件包含#include成于坚持,败于止步文件包含是预处理的一个重要功能,它可用来把多个源文件连接成一个源文件进行编译,结果将生成一个目标文件。C语言提供#include 命令来实现文件包含的操作,它实际是宏替换的延伸,有两种格式:一、#include 其中,filename 为要包含的文件名称,用尖括号括起来,也称为头文件,表示预处理到系统规定的...

2019-04-25 13:24:40 352

python的核心编程

里面讲述了python应用中的核心开发教程。

2017-09-23

Python高手之路(法Danjou 2015)清晰完整中文扫描版

Python高手之路(法Danjou 2015)清晰完整中文扫描版

2017-09-23

QuadRS232_hs驱动

RS232驱动,里面有各种平台的usb转多串口驱动

2016-01-24

gif图片分离工具

很好用的图片分离工具,软件小好操作,不用photoshop就可以实现!

2016-01-24

指纹识别书籍

里面介绍了指纹识别的原理从粗到细,从代码例程到应用程序 都有涉及!

2016-01-24

rt_thread实时系统

国内开源的 硬实时系统 例程代码 方法 都在 !

2016-01-24

0.96OLED资料大全

里面是OLED的全部开发资料,很全

2016-01-24

notepad+代码查看工具

很好用的 代码查看工具!C代码关键字和一些与发会高亮显示!

2016-01-24

docklight+license

很好用的串口检测功能 可以设置 双串口的 发送和接受 单串口的发送和接收!

2016-01-24

空空如也

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

TA关注的人

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