休憩小站

Where there is a will,there is a way.

标准IO库介绍

1、标准IO和文件IO有什么区别(1)看起来使用时都是函数,但是:标准IO是C库函数,而文件IO是linux系统的API(2)C语言库函数是由API封装而来的。库函数内部也是通过调用API来完成操作的,但是库函数因为多了一层封装,所以比API要更加好用一些。(3)库函数比API还有一个优势就是:A...

2018-07-11 09:16:15

阅读数 83

评论数 0

fcntl函数介绍

1、fcntl的原型和作用(1)fcntl函数是一个多功能文件管理的工具箱,接收2个参数+1个变参。第一个参数是fd表示要操作哪个文件,第二个参数是cmd表示要进行哪个命令操作。变参是用来传递参数的,要配合cmd来使用。(2)cmd的样子类似于F_XXX,不同的cmd具有不同的功能。学习时没必要去...

2018-07-11 09:13:15

阅读数 238

评论数 0

文件描述符的复制

1、dup和dup2函数介绍2、使用dup进行文件描述符复制(1)dup系统调用对fd进行复制,会返回一个新的文件描述符(譬如原来的fd是3,返回的就是4)(2)dup系统调用有一个特点,就是自己不能指定复制后得到的fd的数字是多少,而是由操作系统内部自动分配的,分配的原则遵守fd分配的原则。(3...

2018-07-11 09:12:25

阅读数 114

评论数 0

文件共享的实现方式

1、什么是文件共享(1)文件共享就是同一个文件(同一个文件指的是同一个inode,同一个pathname)被多个独立的读写体(几乎可以理解为多个文件描述符)去同时(一个打开尚未关闭的同时另一个去操作)操作。(2)文件共享的意义有很多:譬如我们可以通过文件共享来实现多线程同时操作同一个大文件,以减少...

2018-07-11 09:09:49

阅读数 781

评论数 0

多次打开同一文件与O_APPEND

1、重复打开同一文件读取(1)一个进程中两次打开同一个文件,然后分别读取,看结果会怎么样(2)结果无非2种情况:一种是fd1和fd2分别读,第二种是接续读。经过实验验证,证明了结果是fd1和fd2分别读。(3)分别读说明:我们使用open两次打开同一个文件时,fd1和fd2所对应的文件指针是不同的...

2018-07-11 09:06:34

阅读数 538

评论数 0

lseek详解

1、lseek函数介绍(1)文件指针:当我们要对一个文件进行读写时,一定需要先打开这个文件,所以我们读写的所有文件都是动态文件。动态文件在内存中的形态就是文件流的形式。(2)文件流很长,里面有很多个字节。那我们当前正在操作的是哪个位置?GUI模式下的软件用光标来标识这个当前正在操作的位置,这是给人...

2018-07-11 09:00:27

阅读数 728

评论数 0

linux系统如何管理文件

1、硬盘中的静态文件和inode(i节点)(1)文件平时都在存放在硬盘中的,硬盘中存储的文件以一种固定的形式存放的,我们叫静态文件。(2)一块硬盘中可以分为两大区域:一个是硬盘内容管理表项,另一个是真正存储内容的区域。操作系统访问硬盘时是先去读取硬盘内容管理表,从中找到我们要访问的那个文件的扇区级...

2018-07-11 08:56:46

阅读数 23

评论数 0

文件读写的一些细节

1、errno和perror(1)errno就是error number,意思就是错误号码。linux系统中对各种常见错误做了个编号,当函数执行错误时,函数会返回一个特定的errno编号来告诉我们这个函数到底哪里错了。(2)errno是由OS来维护的一个全局变量,任何OS内部函数都可以通过设置er...

2018-07-06 14:33:51

阅读数 205

评论数 0

open函数的flag详解2

1、打开不存在的文件时:O_CREAT、O_EXCL(1)思考:当我们去打开一个并不存在的文件时会怎样?当我们open打开一个文件时如果这个文件名不存在则会打开文件错误。(2)vi或者windows下的notepad++,都可以直接打开一个尚未存在的文件。(3)open的flag O_CREAT就...

2018-07-06 14:29:37

阅读数 73

评论数 0

open函数的flag详解1

1、读写权限:O_RDONLY O_WRONLY O_RDWR    (1)linux中文件有读写权限,我们在open打开文件时也可以附带一定的权限说明(譬如O_RDONLY就表示以只读方式打开,O_WRONLY表示以只写方式打开,O_RDWR表示以可读可写方式打开)    (2)当我们附带了权限...

2018-07-06 14:19:25

阅读数 182

评论数 0

一个简单的文件读写实例

1.打开文件与关闭文件    (1)linux中的文件描述符fd的合法范围是0或者一个正正数,不可能是一个负数。    (2)open返回的fd程序必须记录好,以后向这个文件的所有操作都要靠这个fd去对应这个文件,最后关闭文件时也需要fd去指定关闭这个文件。如果在我们关闭文件前fd丢掉了那就惨了,...

2018-07-06 14:15:50

阅读数 189

评论数 0

文件操作的主要接口API

(1)文件描述符其实实质是一个数字,这个数字在一个进程中表示一个特定的含义,当我们open打开一个文件时,操作系统在内存中构建了一些数据结构来表示这个动态文件,然后返回给应用程序一个数字作为文件描述符,这个数字就和我们内存中维护这个动态文件的这些数据结构挂钩绑定上了,以后我们应用程序如果要操作这一...

2018-07-06 14:06:24

阅读数 225

评论数 0

在 Beagleboard-x15 上配置 spi 和 GPIO

环境与条件 硬件:Beagleboard-x15内核版本:linux 4.9.69-ti-rt-r85其它:sd 卡、杜邦线、示波器、引脚扩展器Enable SPI and GPIO in BeagleBoard-X15一、准备 u-boot 和 kernel1.下载 u-boot 并编译下载:~...

2018-06-05 15:49:25

阅读数 236

评论数 4

BeagleBoard-x15烧录emmc

主要有两份参考资料:1)https://elinux.org/BeagleBoardUbuntu#eMMC:_BeagleBoard-X152)http://processors.wiki.ti.com/index.php/Sitara_Linux_Program_the_eMMC_on_Beag...

2018-04-03 14:43:11

阅读数 196

评论数 0

NFS(共享文件)协议和服务

    NFS协议是一种用于文件共享的协议,它可以使得主机之间进行文件的共享。客户端可以像在本机上的文件一样操作远程主机的文件。NFS协议最初仅支持UDP协议,目前最新版本的NFS可以支持UDP和TCP协议,不过UDP协议的速度会更快。一、安装NFS服务器和客户端    NFS协议是一个十分简单的...

2018-04-03 11:52:37

阅读数 2364

评论数 0

搭建BeagleBoard-x15+linux4.9+ubuntu16.04

1.ARM交叉编译工具链:GCC1)64bit版本的:~/wget -c https://releases.linaro.org/components/toolchain/binaries/6.4-2017.11/arm-linux-gnueabihf/gcc-linaro-6.4.1-2017....

2018-03-28 17:39:35

阅读数 754

评论数 2

对AM572x进行引脚复用使能UART1

前提:因为需要把BeagleBoard-x15这个开发板当做OpenPLC的Server端,与IO板之间是进行UART通信,所以我这里使用的是UART1(ttyS0)这个串口,但是该引脚默认当成GPIO口,故需要修改dts文件使能该串口。另外,UART3(ttyS2)默认是打开的,已当成串口调试口...

2018-03-23 09:51:37

阅读数 578

评论数 0

基于Linux4.9构建OpenPLC运行环境

一、开发环境board:BeagleBoard-X15开发板kernel:linux 4.9.69-ti-rt-r85filesystem:ubuntu 16.04OpenPLC:v2二、安装    之前已经做过OpenPLC的项目,但是后来因为一些事搁置了,现在需要给同事搭个openPLC开发环...

2018-03-22 15:37:29

阅读数 3174

评论数 0

WIN7 +Qt5.6.2+opencv3.1.0+Cmake3.7.0编译环境搭建

前言:今年大三了,所以想毕业设计做基于S5PV210上的人脸识别的项目 看了很多相关的帖子和文章 首先是环境的搭建就花费了我许多的时间,也许是人比较笨也不细心,所以前后花了几天的时间,从cmake编译opencv到qt上测试都遇到不少的问题 所以我现在来总结下我的整个配置过程。 在此 ,首先...

2016-11-23 13:46:51

阅读数 1115

评论数 2

LDR 和MOV 指令区别

转载自: 本文 http://www.cnblogs.com/xmphoenix/p/4370081.html 感谢作者! ARM是RISC结构,数据从内存到CPU之间的移动只能通过L/S指令来完成,也就是ldr/str指令。 比如想把数据从内存中某处读取到寄存器中,只能使用l...

2016-03-19 11:01:19

阅读数 170

评论数 0

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