自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(24)
  • 资源 (7)
  • 收藏
  • 关注

原创 Qt打包文档(windows平台)

1 添加程序图标1.1 设置主窗口图标主窗口调用:setWindowIcon(QIcon(QStringLiteral(":/logo/resourse/logo.png")));上面路径根据自己情况配置,可以使用资源文件路径。 1.2 设置运行程序的图标1.到http://www.bitbug.net/转换一个icon文件,作为桌面快捷方式图标,例如logo.ico

2017-09-28 10:21:17 407

转载 libpcap使用

libpcap是一个网络数据包捕获函数库,功能非常强大,Linux下著名的tcpdump就是以它为基础的。今天我们利用它来完成一个我们自己的网络嗅探器(sniffer)首先先介绍一下本次实验的环境:Ubuntu 11.04,IP:192.168.1.1,广播地址:192.168.1.255,子网掩码:255.255.255.0可以使用下面的命令设置:sudo ifc

2017-03-28 16:34:04 594

原创 内核经典的实现--container_of

这个宏在驱动和内核代码中用的非常广泛,下面我们来具体分析下。container_of作用是通过结构体某个成员地址从而拿到整个结构体地址。 原型:container_of(ptr, type, member) 示例:现有一个student结构体变量并初始化。struct student stu;stu.num = 1;stu.score = 100;strcpy(stu.name, "zhan

2016-11-18 16:57:54 561

原创 基于wpa_supplicant库的WIFI连接功能实现--wpa_cli命令代码改写

上一篇博客我们一起看了怎样使用wpas的命令后,接下来就利用这些命令来实现我们的代码。这些命令的实现都在wpa_cli.c文件中,以status命令为例,发生如下调用:static int wpa_cli_cmd_status(struct wpa_ctrl *ctrl, int argc, char *argv[]){ int verbose = argc > 0 && os_strcm

2016-05-03 14:48:08 6965 1

原创 基于wpa_supplicant库的WIFI连接功能实现--wpa_cli命令解析

从这里开始,就正式进入到主题了,笔者分几节来介绍如何一点点实现基于wpa_supplicant库的WIFI连接功能。最终实现的就是类似于智能手机上的wifi连接界面功能。开发平台是linux3.2.0+qt4.5.2,硬件平台不再说明,假定读者已经做好了硬件的驱动适配和wpa_supplicant库移植,这部分笔者先不做记录,主要是wifi驱动笔者还没研究好,作为以后的研究点吧。下面笔者先对wpa

2016-04-19 16:44:01 27092

转载 C++封装继承多态总结(转)

转自:http://blog.csdn.net/ruyue_ruyue/article/details/8211809面向对象的三个基本特征面向对象的三个基本特征是:封装、继承、多态。其中,封装可以隐藏实现细节,使得代码模块化;继承可以扩展已存在的代码模块(类);它们的目的都是为了——代码重用。而多态则是为了实现另一个目的——接口重用!封装         

2016-04-12 10:56:31 891

原创 基于wpa_supplicant库的WIFI连接功能实现--wifi扫描功能实现

上一篇介绍了如何改写WPAS库原C函数,让我们直接拿到每个命令的执行结果。这一篇就正式开始实现各个功能,首先是最基本的扫描功能。在wpa_cli命令解析一节我们知道,要想得到附近AP,需要使用scan和scan_results命令,scan是让硬件执行扫描操作,它会扫描附近所有的AP并把扫描结果存入内存。如果我们要查看扫描结果,需要用scan_results。wifi整个连接过程中可分为下

2016-04-11 20:28:51 6818

原创 基于wpa_supplicant库的WIFI连接功能实现--应用层碎片式对象内存管理算法

最近笔者在开发一个基于wpa_supplicant库和QT的WIFI连接界面,就像现在智能手机中wifi的连接界面。到现在基本上算是开发完成了,遇到不少问题,发现网上关于wpa_supplicant命令的介绍不少,但是关于怎么应用它做出一个完整的程序的文章却不多。所以笔者决定把这段时间开发的思路包括遇到各种问题拿出来分享。首先本文介绍的算法是笔者在做扫描功能时候优化想出的小算法,因为它具有通用性,所

2016-03-30 15:14:17 1324

原创 linux+QT实现文件夹拷贝并附带进度功能

linux QT 文件夹 拷贝 进度

2016-03-10 11:04:27 4429

原创 小米设计模式系列--proxy模式

好久没更博了,因为最近忙着学h5和安卓,驱动只看了看wifi,这个就路漫漫其修远兮了,不知道得看到何年何月。决定把前段时间学的设计模式整理下,我是个米粉,曾一直想着去小米公司工作,不过最近买了一款红米note2后,感觉很失望,不断死机,一天两充,无爱了...不过,设计模式还是要继续,小米公司还是要接着利用,因为我发现用小米公司来当设计模式写代码的例子还是不错的,容易理解。

2015-09-05 20:55:53 1595

原创 用户层模拟slab算法

在用户空间模拟内核的slab算法,帮助快速理解slab算法思想

2015-08-11 14:39:35 936

原创 3.2.0内核rtc框架分析

linux3.2.0内核中RTC子系统简单分析

2015-08-11 14:12:36 829

原创 linux3.2.0块设备及nandflash驱动框架

块设备框架:app: open,read,write "1.txt"--------------------------------------------- 文件的读写文件系统: vfat, ext2, ext3, yaffs2, jffs2 (把文件的读写转换为扇区的读写)-----------------ll_rw_block----------------- 扇区的读写 1. 把"读写"放入队列

2015-08-10 17:11:54 1755

原创 am335x cotex-A8 数据手册触摸屏章节翻译

am335x cotex-A8 数据手册触摸屏章节翻译

2015-07-28 20:36:54 1542

原创 sysfs--初窥门径

本文以led子系统为例,分析了sysfs怎样在驱动中使用,最后给出了使用实例

2015-07-15 21:28:56 818

原创 互斥问题总结

线程互斥问题总结,帮助猿猿们快速理解

2015-06-16 21:40:14 3147

原创 一个U盘引发的血案

问题背景:用户插入U盘后需要自动打开U盘目录,但是发现U盘每次挂载点都不一样,测试两个U盘的挂载点分别是/media/sda1和/media/sda4,所以就需要了解一下linux的udev机制了。我们知道,每个设备注册后会自动产生设备节点,以字符设备为例,不管是misc_register还是配合cdev_add接口注册驱动,都需要调用device_create来创建设备节点,就从这个函数入手,看

2015-04-13 19:57:56 923

原创 QT同时实现通信、界面交互总结

很长时间没写总结了,最近事情太多,加上错估了slab算法的难度,导致一直没搞定这个内存的核心分配算法,只能一拖再拖了。前段时间一直在用QT做一个单片机升级任务,其中遇到问题比较多,现在完成后正好可以总结下两个和QT有关的。基本流程:上位机是ARM,下位机是CAN128单片机,两者利用CAN作为通信接口。ARM端把单片机的bin升级文件发送给单片机端,单片机进行自升级操作。ARM端在升级过程中除

2015-03-21 10:16:50 5297

原创 内存管理算法--伙伴算法

本来想年前就把内存管理这部分结束,可是计划赶不上变化啊,回家事情太多,只能一拖再拖了,今天终于把伙伴算法机制写完了。这一节不再像前面似的只给出理论框架,毕竟linux内存管理的两个算法--伙伴算法和slab网上资料太多了,在家时间比起上班毕竟是多一些,所以想直接用代码实现算了,这样不仅可以理解更深一些,或许哪天还能直接用的上。

2015-02-22 23:36:19 3224 1

原创 内存管理第二谈:内存分配机制

(本帖不适合手机用户)上次我们讨论了内存寻址相关内容--段式管理和页式管理机制,只有搞懂了线性地址和物理地址两者关系,才能再去学习真正的内存管理机制。这一节我们简单的来了解linux内核的内存分配机制,工作中我使用的内核版本是linux-3.2.0,我也尝试着跟这个版本的代码来解析这块知识,但是水平确实不够,现代版本内核关于操作系统的几个大体系太过庞大,我往往是跟着跟着就陷到另一个体系中去回不

2015-02-11 19:15:01 947

原创 内存管理第一谈:段式管理和页式管理

对于内存管理这个操作系统中庞大的体系,实在是容易让人望而止步,市面上介绍这块知识的书籍其实很多,但是由于书面语言的缘故,总感觉有些东西晦涩难懂,下面内容只是想把一些书面语言转换为比较容易理解的内容,希望能对其他人有所帮助吧。

2015-02-07 20:45:56 6049 1

原创 wireshake抓包分析

最近在看网络协议,顺便温习了下大学的网络知识,这次弄点好玩的东西带给大家。 学校里学过的网络,现在恐怕能记住网络有几层就很牛啦,不过看完这个,相信以后搞网络时候就能多点乐趣了... 记得大学时候鼓捣sniffer pro,费半天劲安装,然后破解,再抓包,那叫一个费劲,前些天在ubuntu下逛软件市场时候,碰巧发现了这个法宝 安装即用,不用破解,不用配置,实在是学习网络必

2015-01-31 20:15:53 3120

原创 linux3.2.0-usb驱动框架分析

/*参考过韦东山老师的usb分析笔记*/1. USB的传输类型:a. 控制传输:可靠,时间有保证,比如:USB设备的识别过程b. 批量传输: 可靠, 时间没有保证, 比如:U盘c. 中断传输:可靠,实时,比如:USB鼠标d. 实时传输:不可靠,实时,比如:USB摄像头2.USB驱动程序框架:app: ------------------------------------

2015-01-26 20:05:07 1155 1

原创 C语言分层设计模式简介

今天给大家带来单片机、嵌入式中比较常用的一种程序设计方法--分层设计模式,内核中就大量采用这种设计方式,一般对于某种硬件体系分为几层,以一个核心层来管理,它会抽象出硬件或者个体的共性操作来进行管理,很像在用C语言实现面向对象的设计。下面就以实际代码来简单说明。假设我们有这么一种需求,需要从某些设备读取一些数据,但是这些设备可能有51体系的,也可能有arm体系的。那么我们应该抽象一个数据

2015-01-24 10:47:53 1988

HofoSetup.exe

这时候大部分的dll文件都自动拷贝过来了,但是如果项目还用了一些其他的SDK,比如OpenCV,Chartdir51等等,就需要手动将所需dll拷贝过来,如果不知道还需要哪些软件,可以用Dependency Walker来查看缺少哪些dll文件。使用工具HofoSetup,一些配置如下,其它按照默认即可

2017-09-28

depends22_x86

打包时候如果项目还用了一些其他的SDK,比如OpenCV,Chartdir51等等,就需要手动将所需dll拷贝过来,如果不知道还需要哪些软件,可以用Dependency Walker来查看缺少哪些dll文件。

2017-09-28

qt各种页面切换动画实现

集成了多种qt页面切换动画,绝对物超所值,使用5.2.1编译,背景图片请放到编译目录下,或者修改源码中宏定义自己定义

2016-04-11

联想硬盘保护系统

联想硬盘保护系统

2013-02-03

经典c++代码

C++代码全集,里面包含了经典的学习代码,有助于学习C++

2012-11-07

基于联想保护系统研究

基于联想启天M7100系列机房上课管理系统组建

2012-09-26

关于matlab在win7下一系列安装问题和汉化文件

关于matlab在win7下一系列安装问题和汉化文件

2012-07-17

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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