woshishui918的博客

来自小白日常学习的笔记记录

排序:
默认
按更新时间
按访问量

SPI总线 通俗易懂讲解

转自:http://bbs.mydigit.cn/read.php?tid=726343SPI总线  MOTOROLA公司的SPI总线的基本信号线为3根传输线,即SI、SO、SCK。传输的速率由时钟信号SCK决定,SI为数据输入、SO为数据输出。采用SPI总线的系统如图8-27所示,它包含了一个主...

2018-05-21 15:31:12

阅读数:46

评论数:0

c语言中realloc()函数解析

realloc(void *__ptr, size_t __size):更改已经配置的内存空间,即更改由malloc()函数分配的内存空间的大小。 如果将分配的内存减少,realloc仅仅是改变索引的信息。 如果是将分配的内存扩大,则有以下情况: 1)如果当前内存段后面有需要的内存空...

2018-03-13 10:20:59

阅读数:29

评论数:0

linux系统下的/etc/init.d文件夹

一、简单说明   /etc/init.d 是 /etc/rc.d/init.d 的软链接(soft link)。可以通过 ll 命令查看。 ls -ld /etc/init.d lrwxrwxrwx. 1 root root 11 Aug 30 2015 /etc/init.d -&g...

2018-03-09 09:57:08

阅读数:64

评论数:0

platform总线、设备、驱动

platform虚拟设备总线,来挂接一些内部资源; 设备:struct platform_device dev; 驱动:struct platform_driver dri; 设备:platform_device struct platform_device  { const char * na...

2018-02-01 15:01:20

阅读数:50

评论数:0

Virtualmen字符设备驱动代码-----虚拟磁盘设备

驱动程序:Virtualmen.c #include #include #include #include #include #include #include #include #include #include #include #define MEM_CLEAR 0...

2018-01-26 15:40:57

阅读数:86

评论数:0

4G模块AT命令调试发送、读取、删除短信

哇,第一次弄这个4G模块,花了一个星期,终于把这个调好了,中间遇到好多问题,这里就不说了,直接总结后发送给你们参考一下: 一、kernel配置 DeviceDrivers---→ USBsupport---→ USB SerialConverter support--→ ...

2018-01-13 15:17:18

阅读数:1003

评论数:0

Linux的USB-Serial驱动(从系统初始化到生成tty设备的全过程)

真正做完了USB驱动,看了《Linux那些事》之后,才知道Linux的USB host驱动有多复杂。我做的还只是USB驱动中的一小部分USB转串口。而且还只是读代码和做小的改动,真正写这些的都是天才。     有关USB驱动的部分在我会在别的文章中逐步的介绍,这里介绍的是从Linux内核初始...

2018-01-04 17:29:02

阅读数:123

评论数:1

ARM开发板上的usb驱动移植及U盘挂载

基于zynq7000芯片的移植: USB驱动移植: 1.在设备树文件中加入USB设备的信息;(每一款的板子不一样,你可以看这个内容和你板子上规范对比去写) ps7_usb1: usb@e0003000 { clocks = ; compatible = "xlnx,ps...

2017-12-26 08:26:33

阅读数:382

评论数:0

内存泄漏----检查方法

一、什么是内存泄漏 在计算机科学中,内存泄漏指由于疏忽或错误造成程序未能释放已经不再使用的内存的情况。内存泄漏并非指内存在物理上的消失,而是应用程序分配某段内存后,由于设计错误,失去了对该段内存的控制,因而造成了内存的浪费。 通常我们所说的内存泄漏是指堆内存的泄漏。堆内存是指程序从堆中分配的,大小...

2017-12-05 20:39:56

阅读数:43

评论数:0

进程、线程的优缺点

进程概念    进程是表示资源分配的基本单位,又是调度运行的基本单位。例如,用户运行自己的程序,系统就创建一个进程,并为它分配资源,包括各种表格、内存空间、磁盘空间、I/O设备等。然后,把该进程放人进程的就绪队列。进程调度程序选中它,为它分配CPU以及其它有关资源,该进程才真正运行。所以,进程是...

2017-11-28 18:46:20

阅读数:104

评论数:0

进程间的通信----socket通信

socket通信是一种双向的进程间通信方式; 主要实现流程是3次握手; 服务端代码: 客户端:

2017-11-19 22:07:56

阅读数:72

评论数:0

进程间的通信---信号灯

信号灯,也叫信号量,它是不同进程间或一个给定进程内部不同线程间同步机制。 信号灯的使用一般配合共享内存使用,用以实现同步和互斥; 编写步骤: 1.使用ftok()函数获取key值; 2.使用semget()函数创建一个信号灯;(注:在这之前必须要把共享内存创建好,具体方法上篇博客有详细方法) 3....

2017-11-17 22:21:47

阅读数:52

评论数:0

进程间的通信---消息队列

消息队列:队列是先进先出,把写入的消息按队列的方式排列,然后读取消息时按队列性质读取,或按指定的类型号读取; 实现消息队列的步骤: 1.获取key值, 2.创建消息队列,取得消息队列的ID; 3.向消息队列里写入消息; 4.读取消息队列的消息; 5.删除消息队列; 读端代码:...

2017-11-16 22:18:07

阅读数:53

评论数:0

进程间的通信---共享内存

共享内存是一种最为高效的进程间通信方式,进程可以直接读写内存,而不需要任何数据的拷贝; 但是在使用共享内存时,可能会出现多个进程共享一段内存,因此要依靠某种同步机制解决,如:互斥锁,信号量; 实现共享内存的四大步骤: 1.创建或打开共享内存; 2.映射共享内存,即把指定的共享内存映射到进程的地址空...

2017-11-15 22:47:24

阅读数:48

评论数:1

进程间的通信----有名管道fifo

write端: #include #include #include #include #include int main(int argc, const char *argv[]) { if(access("./myfifo",F_OK) {...

2017-11-14 22:06:01

阅读数:41

评论数:0

I2C总线

I2C总线:有两根线,一根SCL线,一根SDA线。 、 1.总线上数据的有效性         IIC总线是以串行方式传输数据,从数据字节的最高位开始传送,每一个数据位在SCL上都有一个时钟脉冲相对应。         在时钟线高电平期间数据线上必须保持稳定 的逻辑电平状态...

2017-11-12 10:09:03

阅读数:129

评论数:0

蜂鸣器驱动代码

驱动程序:beep_drv.c [cpp] view plain copy #include    #include    #include    #include       static int beep_major = 0;   ...

2017-11-09 13:08:53

阅读数:740

评论数:0

Linux总线、设备、驱动模型

转自宋宝华老师csdn 公元1951年5月15日的国会听证上,美国陆军五星上将麦克阿瑟建议把朝鲜战争扩大至中国,布莱德利随后发言:“如果我们把战争扩大到共产党中国,那么我们会被卷入到一场错误的时间,错误的地点同错误的对手打的一场错误的战争中。” 写代码,适用于同样的原则,那就是把正...

2017-11-04 09:10:24

阅读数:63

评论数:0

根文件系统的制作

根文件系统的制作: 在制作根文件的时候,首先我们要在虚拟机上解压一个busybox安装包,来制作文件系统下bin和sbin文件夹下的文件,这文件不能拷贝过来,因为我们这个文件要在arm开发板上使用,使用busybox来制作这些文件,为我们节省了好多时间。 步骤: 1.配置源码: 输入命令...

2017-10-29 09:58:54

阅读数:104

评论数:0

linux系统移植(FS4412开发板)

Linux系统移植主要由4大部分组成: 1.交叉编译器的安装; 2.u-boot的移植; 3.kernel的编译与移植; 4.根文件系统的制作与移植; 一.交叉编译器的安装 为什么要安装交叉编译器? 速度:开发板的编译速度比较慢,而在虚拟机上编译速度快,节省时间; 空间:编译一个文件时,需要消...

2017-10-27 09:47:39

阅读数:301

评论数:0

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