
嵌入式
文章平均质量分 74
写了程序换酒钱
Want to be a geek!!!
展开
-
如何交叉编译 移植 QT
QT简介就不多说了,是诺基亚的东东,需求:将QT移植到ARM开发环境首先的准备工作:Linux环境: Linux 2.6.32-24-generic Ubuntu10.04交叉编译工具:arm-linux- g++-4.4.3Qt安装包: qt-everywhere-opensource-src-4.6.2.tar.gztslib库: tslib-1.4.ta转载 2012-07-22 14:49:52 · 11955 阅读 · 2 评论 -
CC2530+74HC164矩阵键盘的设计
最近个大网盘都发出通知,用户的数据将会被清楚,其中就有金山快盘,上大学的时候用的金山,很多重要的资料在其中都保存了一份。现在将其全部下载了下来,然后发现了我的毕业论文,看了一遍,就有了这系类文章。今天将矩阵键盘的设计和编程。背景我的毕业设计是基于ZigBee网络的一个hub系统,协调器节点作为中枢,控制器和被控制器都连接在这个中枢上。控制器上使用矩阵键盘那就很平常了。CC2530的端口数比较小,这原创 2016-05-07 11:32:14 · 13998 阅读 · 0 评论 -
I2C总线协议
毕业设计中使用到了AT24C04器件,其是Ateml公司出品的,是一种低功耗CMOS串行EEPROM,其使用两线串行的总线和控制器进行通讯。其内部保存的数据在掉电的情况下可以有40年以上的有效期。其采用8 脚的DIP 封装,易于使用。简单来说,AT24C02是一款能在断电的情况下依然能够长时间存储数据的芯片。可以使用I2C协议总线与AT24C04进行交互。I2CI2C总线协议概论I2C总线是一种由数原创 2016-05-15 11:45:13 · 5295 阅读 · 0 评论 -
基于C++11的事件驱动框架
闲来无事,系统捣鼓C++。之前在signal-slot中提到事件循环,不过那个实在写的太挫。现在写了一个说的过去的。项目地址: https://github.com/ZhouBox/moos.git下面简单的说明下。 task完成实现对事件循环的一个任务的封装。 task_policy实现了各种task的策略。 task_queue是事件队列 looper是一个事件循环。 moos_原创 2016-04-06 21:05:20 · 12396 阅读 · 2 评论 -
使用内存快照来加速嵌入式系统的启动
用过virtual box和vm的人都知道一个休眠功能,关机之后,从新开始使用时,还会加载到休眠时的状态,这个很方便人们的使用,可以你开启你的工作环境需要很多的时间。这其中就使用到了内存快照的技术,将当前运行的虚拟机的内存状态保存到一个文件中,在启动的时候加载这个文件,然后就可以恢复到当前的现场,从而缩短了启动到可用的时间。在嵌入式系统的开发中,有很多场景对启动有很多要求,从上电到嵌入式应用显示需要原创 2016-04-06 20:58:49 · 3368 阅读 · 0 评论 -
Yotoc Project快速指南
原文路径:http://www.yoctoproject.org/docs/1.8/mega-manual/mega-manual.html1.欢迎欢迎来到Yocto项目!Yocto项目是一个专注于嵌入式Linux开发者的开源协作项目。在其他方面,Yocto项目使用一个基于OpenEmbedded项目的编译系统,这个编译系统使用BitBake工具来构造完整的linux系统镜像。BitBake和OE的翻译 2015-10-19 14:47:45 · 7213 阅读 · 2 评论 -
ZigBee组网
组网方案设计:组建一个完整的zigbee网状网络包括两个步骤:网络初始化、节点加入网络,其中节点加入网络又包括两个步骤:通过与协调器连接入网和通过已有父节点入网。网络初始化:Zigbee网络的建立是由网络协调器发起的,任何一个zigbee节点要组建一个网络必须要满足以下两点要求:1.节点是FFD节点,具备zigbee协调器的能力;2.节点还没有与其他网络连接,当节点已经与其转载 2012-06-19 16:59:32 · 12747 阅读 · 2 评论 -
epoll和input子系统实现input事件分发
前言在嵌入式开发中,按键和触摸板等输入系统很常见,其驱动文件位于/dev/input下,以event开头,后接数字。epoll是2.6内核引入的I/O多路复用的新的高效的接口,我在以前的博客中,使用其实现了一个聊天室服务器程序。这里我们使用其来监控input子系统事件。 在嵌入式软件开发中,小的程序,我们可以直接使用I/O接口来获得外部的时间输入,而如果对于一个大型的嵌入式软件系统,其会被很多地方原创 2015-05-21 23:16:54 · 2386 阅读 · 0 评论 -
QML怎么适配不同的设备
前言做嵌入式和移动开发,不同的设备,不同的分辨率需要UI能够适配,这是一个很现实的问题。QML作为Qt中为UI而生的,使用QML一定要解决适配的问题。分辨率现在同一尺寸的屏幕,其分辨率也是不同,在QML中使用 anchors 进行相对的布局时,其是以像素为单位。现在有一个概念,叫做每英寸像素数目。当设备的PPI不同时,控件的大小不同,这可能导致,如果设计是在一个尺寸小PPI低的屏幕上设计,将程序放到原创 2015-03-10 20:59:03 · 6355 阅读 · 2 评论 -
在Qt5的QML中使用QZXing识别二维码
前言ZXing库是一个用来识别二维码的库,QZXing是一个基于Qt的Qt wrapper library,在本文我们使用它和qml开发一个android小应用。添加QZXing项目QZXing最常用是作为一个子项目包含在我们的项目中,在我们的项目的pro文件中添加如下的一句:include(./QZXing/QZXing.pri)QZXing和我们的pro文件在同一个目录。qml程序import原创 2015-03-11 18:48:16 · 9496 阅读 · 13 评论 -
基于ZigBee和GSM模块的环境监控系统
这是我大二时的一个项目,原创 2014-09-28 21:39:00 · 3072 阅读 · 3 评论 -
移植qt5.3.1到arm
最近刚入手一款开发板(比较低端,刚毕业工作还没一个月,穷屌丝一个)。在学校以前都是用的是Friendly Arm的6410,使用的qt版本是使用的最多的4.7.0版本,入手的板子是4.7.4。qt5出来也有好长的时间了,其中提供了很多的特性,所以这次移植的是qt5的最新版本5.3.1。第一步准备好源码包,这里需要qt的源码包,和tslib包,tslib我使用的是开发板提供的包。设置交叉编译原创 2014-08-04 20:24:48 · 28730 阅读 · 26 评论 -
linux字符设备驱动程序的编写
在此涉及到两个重要的结构体cdev和file_operations,前者为描述字符设备,后者为设备驱动程序的入口点。对与file_operations的成员描述请看 file_operations中各项解析我用图表示下在内核2.6版本后新版本的字符设备注册上图这是驱动程序应该做的,但是要真正地使用它,我们还必须还要创建设备节点(linux的设备操作都是标准的文件操作,就是当作文原创 2013-06-29 23:09:40 · 3475 阅读 · 0 评论 -
项目总结
前前后后,断断续续,途中经过了指导老师妈妈住院几个月,组里成员作为换校生到南京等等的事件,还是在结题期限之前完成了预期项目要求。这次的项目就是一个嵌入式网关,联通zigbee和GSM(还是短信,比价落后)先来几张运行的图zigbee使用的TI的cc2430,协议是Z-Stack,说实话,协议栈太庞大,现在只是能够采集数据,对节点的控制还是不行。听教无线网的老师说,zigbe原创 2013-06-17 09:33:41 · 1161 阅读 · 0 评论 -
基于最长间隔时间的ZigBee节点丢失算法的研究
引言 随着无线网络在各个应用领域的快速发展,所以对于作为系统基础组成部分的网络拓扑结构的研究也就成为无线网络研究方面的一个重要研究方面。国内外也有许多研究机构在对这方面做了大量的研究工作。安徽财经大学的赵涛,发表了《基于数据聚合的无线传感器网络拓扑发现算法》,TI(德州仪器)也给出了一种获取网络拓扑结构的方法。本文以领先的Z-stack协议栈为研究基础,基于父节点和子节点有效通讯的最原创 2013-02-03 15:34:00 · 1589 阅读 · 0 评论 -
MQTT协议与mosquitto的安装使用
MQTT (Message Queuing Telemetry Transport,消息队列遥测传输) 是一种标准化的发布/订阅消息传输协议。它是一种非常轻量级的协议,由于对带宽需求很低,从而成为了 M2M 通信或物联网应用的理想选择,现在已经成为这类场景最常见的协议之一。发布/订阅发布订阅模式比轮询的效率高很多。发布订阅是MQTT协议的核心,除了基于同一个消息代理的发布者和订阅者之外,还有一些其原创 2016-06-11 13:04:51 · 14937 阅读 · 0 评论