
ARM Linux
bbzz2
这个作者很懒,什么都没留下…
展开
-
IPC通信:Posix消息队列的属性设置
IPC通信:Posix消息队列的属性设置Posix消息队列的属性使用如下结构存放:struct mq_attr { long mq_flags; /*阻塞标志位,0为非阻塞(O_NONBLOCK)*/ long mq_maxmsg; /*队列所允许的最大消息条数*/ long mq_msgsize; /*每条消息的最大字节数转载 2016-02-01 14:22:39 · 664 阅读 · 0 评论 -
linux minicom usb串口
http://www.cnblogs.com/xiaotlili/archive/2011/08/03/2126081.htmllinux下查看串口信息查看串口是否可用,可以对串口发送数据比如对com1口,echo helloworld >/dev/ttyS0查看串口名称使用 ls -l /dev/ttyS*一般情况下串口的名称全部在dev下面,如果你没有外插串口卡的话默认是dev转载 2016-08-10 19:46:45 · 1043 阅读 · 0 评论 -
APM_for_PX4_NAVIO+_Erle-Brain AC3.3rc8
原帖转自DIYdrones,特别感谢Randy对多旋翼源码的不断努力和支持,附上原帖地址。http://diydrones.com/forum/topics/copter-3-3-beta-testing警告:有不少于三架飞机使用-rc6因为错误的姿态估算回应坠毁,我们相信这个问题会在-rc7得到解决并推荐升级到-rc7.多旋翼 3.3-rc8正在进行测试。从AC3.2.1版本转载 2016-02-03 09:24:24 · 3602 阅读 · 0 评论 -
Linux之make的用法讲解
Linux之make的用法讲解原文参考地址http://blog.sina.com.cn/s/blog_986c99d60100yoek.html在 Linux环境下使用 GNU 的 make工具能够比较容易的构建一个属于你自己的工程,整个工程的编译只需要一个命令就可以完成编译、连接以至于最后的执行。不过这需要我们投入一些时间去完成一个或者多个称之为 Makefile 文件的编转载 2016-02-02 10:35:58 · 659 阅读 · 0 评论 -
(10)魔兽文件打包器里的传奇哈希表
关于哈希表C实现,前面两个小节已分别介绍了不同的方法,不过似乎网上流传最具传奇色彩的莫过于暴雪公司的魔兽文件打包管理器里的hashTable的实现了;在冲突方面的处理方面,采用线性探测再散列。在添加和查找过程中进行了三次哈希,第一个哈希值用来查找,后两个哈希值用来校验,这样可以大大减少冲突的几率。在网上找了相关代码,但不知道其来源是否地道:StringHash.h转载 2016-02-01 17:59:50 · 927 阅读 · 0 评论 -
(9)引入哈希桶的概念来实现一个哈希表
前面的讲述了如何用链地址法实现一个哈希表,那么今天来分析一下另一种解决哈希冲突的做法,即为每个Hash值,建立一个Hash桶(Bucket),桶的容量是固定的,也就是只能处理固定次数的冲突,如1048576个Hash桶,每个桶中有4个表项(Entry),总计4M个表项。其实这两种的实现思路雷同,就是对Hash表中每个Hash值建立一个冲突表,即将冲突的几个记录以表的形式存储在其中。转载 2016-02-01 17:57:48 · 661 阅读 · 0 评论 -
(8)Linux内核中的hash与bucket
哈希表哈希表(Hashtable)又称为“散列”,Hashtable是会根据索引键的哈希程序代码组织成的索引键(Key)和值(Value)配对的集合。Hashtable 对象是由包含集合中元素的哈希桶(Bucket)所组成的。而Bucket是Hashtable内元素的虚拟子群组,可以让大部分集合中的搜寻和获取工作更容易、更快速。 哈希函数(Hash Function)为根转载 2016-02-01 17:56:12 · 777 阅读 · 0 评论 -
linux多线程学习(七)——实现“生产者和消费者”
在上一篇文章中,利用信号量实现了线程间的互斥,这一篇将要利用信号量的互斥同步机制来实现一个经典实例,就是“生产者和消费者”。1、简单描述生产者和消费者的问题。有一个缓冲区和两个线程:生产者和消费者。生产者把产品放入缓冲区,而消费者从缓冲区中拿走。当缓冲区满时,生产者必须等待;另外,当缓冲区空时,消费者必须等待,并且缓冲区不能同时进行生产者和消费者的操作。转载 2016-02-01 17:44:01 · 517 阅读 · 0 评论 -
linux多线程学习(六)——信号量实现同步
在上一篇文章中已经用信号量来实现线程间的互斥,达到了互斥锁的效果,今天这篇文章将讲述怎样用信号量去实现同步。信号量的互斥同步都是通过PV原语来操作的,我们可以通过注册两个信号量,让它们在互斥的问题上互动,从而达到同步。通过下面实例就可以很容易理解: [cpp] view plaincopy#include转载 2016-02-01 17:42:34 · 518 阅读 · 0 评论 -
linux多线程学习(五)——信号量线程控制
在上一篇文章中,讲述了线程中互斥锁的使用,达到对共享资源互斥使用。除了使用互斥锁,信号量,也就是操作系统中所提到的PV原语,能达到互斥和同步的效果,这就是今天我们所要讲述的信号量线程控制。PV原语是对整数计数器信号量sem的操作,一次P操作可使sem减一,而一次V操作可是sem加一。进程(或线程)根据信号量的值来判断是否对公共资源具有访问权限。当信号量的值大于零或等于零的时候,该进转载 2016-02-01 17:41:46 · 401 阅读 · 0 评论 -
linux多线程学习(四)——互斥锁线程控制
在前面的文章中提及到,一个进程中的多个线程是共享同一段资源的,由于线程对资源的竞争引出了锁。其中mutex是一种简单的加锁方法,这个互斥锁只有两种状态,那就是上锁和解锁,可以把互斥锁看作是某种意义上的全局变量。在某一时刻,只能有一个线程取得这个互斥上的锁,拥有上锁状态的线程可以对共享资源进行操作,而其他线程在该线程未解锁之前,够会被挂起,直到上锁的线程解开锁。可以这么说,互斥锁使得共享资源转载 2016-02-01 17:40:41 · 375 阅读 · 0 评论 -
Pixhawk---基于NSH的Firmware开发与调试
Pixhawk---基于NSH的Firmware开发与调试转载 2016-01-14 17:13:32 · 2647 阅读 · 0 评论 -
linux多线程学习(三)——线程属性设置
在上一篇文章中,介绍了线程的创建和退出,以及相关函数的使用。其中pthread_create函数的第二个参数,是关于线程属性的设置,这也是今天所有讲述的。这些属性主要包括邦定属性、分离属性、堆栈地址、堆栈大小、优先级。其中系统默认的是非邦定、非分离、缺省1M的堆栈、与父进程同样级别的优先级。在pthread_create中,把第二个参数设置为NULL的话,将采用默认的属性配置。(1转载 2016-02-01 14:27:17 · 473 阅读 · 0 评论 -
linux多线程学习(二)——线程的创建和退出
在上一篇文章中对线程进行了简单的概述,它在系统中和编程的应用中,扮演的角色是不言而喻的。学习它、掌握它、吃透它是作为一个程序员的必须作为。在接下来的讲述中,所有线程的操作都是用户级的操作。在LINUX中,一般pthread线程库是一套通用的线程库,是由POSIX提出的,因此他的移植性是非常好的。 创建线程实际上就是确定调用该线程函数的入口点,这里通常使用的函数是pthre转载 2016-02-01 14:24:44 · 478 阅读 · 0 评论 -
linux多线程学习(一)
进程是系统中程序执行和资源分配的基本单位。每个进程都有自己的数据段,代码段和堆栈段,这就导致了进程在进行切换等操作起到了现场保护作用。但是为了进一步减少处理机的空转时间支持多处理器和减少上下文切换开销,进程演化中出现了另外一个概念,这就是线程,也被人称为轻量级的进程。它是一个进程内的基本调度单位。线程是在共享的内存空间中并发的多道执行路径,它们共享一个进程的资源,比如文件描述符和信号处理等转载 2016-02-01 14:23:47 · 558 阅读 · 0 评论