2018年11月21日

跟着iMX28x开发套件学linux-10

摘要: 十、linux应用编程之八:线程 线程是包含在进程内部的顺序执行流,是进程中的实际运作单位,也是操作系统能够进行调度的最小单位。一个进程中可以并发多条线程,每条线程并行执行不同的任务。 简单来说,进程是由线程组成的,线程是系统调度的最小单位,进程是拥有资源的基本单位而线程共享进程的资源。 线程的内容 阅读全文

posted @ 2018-11-21 00:06 diskiii 阅读(316) 评论(0) 推荐(0) 编辑

2018年11月16日

跟着iMX28x开发套件学linux-09

摘要: 九、linux应用编程之七:信号量 信号量是进程间通信的一种方式,分为有名信号量和基于共享内存的信号量(无名信号量)。这里主要用有名信号量。有名信号量的使用步骤如下: sem_open():打开或创建一个有名信号量 sem_wait():请求信号量,当信号量>0时,信号量值减1,当信号量=0时,进程 阅读全文

posted @ 2018-11-16 23:20 diskiii 阅读(297) 评论(0) 推荐(0) 编辑

从零开始做循迹小车-2-基础篇-51单片机

摘要: 一、了解51单片机 前面有了红外灰度传感器作为小车的眼睛,那现在就考虑一下用什么来充当小车的大脑。本着简单的初衷出发,我选用了51单片机。51单片机其实是一个系列的单片机,是基于MCS-51内核的单片机。MCS-51内核是英特尔公司开发出来的,那时候英特尔公司自己还生产单片机,先后有8031,805 阅读全文

posted @ 2018-11-16 17:12 diskiii 阅读(2365) 评论(0) 推荐(0) 编辑

2018年11月15日

跟着iMX28x开发套件学linux-08

摘要: 八、linux应用编程之六:共享内存 共享内存是进程间通信的一种方法。共享内存实际上是两个进程打开同一段内存,并都映射到进程地址中,这样就类似于malloc了一个内存*ptr,进程A往这个地址中写数据,进程B就可以从这个地址读取到进程A写进去的数据。 使用共享内存有以下步骤: shm_open(): 阅读全文

posted @ 2018-11-15 21:29 diskiii 阅读(255) 评论(0) 推荐(0) 编辑

2018年11月12日

跟着iMX28x开发套件学linux-07

摘要: 七、linux应用编程之五:管道 进程间通信有多种方式,管道是其中一种。管道分为匿名管道和命名管道,匿名管道仅用于父子进程之间通信,没有实际文件。而命名管道可以实现任意进程间的通信,在系统中需要创建一个fifo文件作为管道。 管道的理解:无论是匿名管道还是命名管道,都可以把管道看做一个文件,进程A给 阅读全文

posted @ 2018-11-12 22:36 diskiii 阅读(295) 评论(0) 推荐(0) 编辑

2018年11月5日

跟着iMX28x开发套件学linux-06

摘要: 六、linux应用编程之四:信号 linux同时运行着多个进程,进程通信就显得很有必要。实际上平时使用linux系统的时候也经常利用信号对进程进行通信,比如想要shell里终止一个正在运行的程序的时候,按下Ctrl+c的时候,等于向进程发送了一个SIGINT信号。 信号本身并不复杂,就是int类型的 阅读全文

posted @ 2018-11-05 22:19 diskiii 阅读(504) 评论(0) 推荐(0) 编辑

跟着iMX28x开发套件学linux-05

摘要: 五、linux应用编程之三:进程基本操作 linux是一个多任务多用户的系统,可以同时运行多个程序。进程是正在被运行的程序,一个进程至少由一个或者多个线程组成。程序转变为进程的过程是:shell命令运行程序->系统寻找程序文件->fork()函数创建一个新进程->在新进程中用exec族函数装在mai 阅读全文

posted @ 2018-11-05 20:36 diskiii 阅读(288) 评论(0) 推荐(0) 编辑

2018年11月4日

跟着iMX28x开发套件学linux-04

摘要: 四、linux应用编程之二:文件I/O Linux中一切皆文件,无论是应用编程还是驱动开发,文件IO编程都是必须的。文件I/O编程要掌握几个函数,分别是creat(),open(),write(),read(),lseek(),close(),ioctl(),fsync()。 creat(); 1) 阅读全文

posted @ 2018-11-04 18:19 diskiii 阅读(325) 评论(0) 推荐(0) 编辑

跟着iMX28x开发套件学linux-03

摘要: 三、linux应用编程之一:编译基础知识 像VS这类集成IDE的编译过程已经被简化成ctrl+f5,底层一点的编译过程已经被淡化。而linux应用开发或者驱动开发又要对编译过程有一定的了解,所以学习编译基础知识还是很有必要的。 gcc编译流程 gcc编译流程分为四步,分别是:预处理,编译,汇编,链接 阅读全文

posted @ 2018-11-04 18:14 diskiii 阅读(335) 评论(0) 推荐(0) 编辑

跟着iMX28x开发套件学linux-02

摘要: 二、安装交叉编译环境 NFS配置好了之后就要进行linux应用学习了。要了解到Ubuntu是在x86运行程序的,而开发板却是在arm运行程序的。也就是说在Ubuntu上用gcc编译的程序无法在开发板上运行。而且开发板上资源不足,不能在开发板安装交叉编译环境。那就只能在Ubuntu上安装交叉编译环境, 阅读全文

posted @ 2018-11-04 18:10 diskiii 阅读(378) 评论(0) 推荐(0) 编辑

导航