自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

zhuxw技术博客

从零开始--项目经理

  • 博客(39)
  • 资源 (28)
  • 收藏
  • 关注

转载 Android 编译系统分析

自Android开源以来,引起了嵌入式行业一股热潮,很多嵌入式开发者表示对Android有很强的兴趣,并下载Android源码进行编译和移植。Android源码的巨大(repo下来,大概2G)给人以Android相当复杂的错觉。本文从Android编译系统的角度,让大家了解Android其实也是很纯真的。Android编译系统(build system)集中于Android源码下的buil

2011-12-30 23:01:18 508

转载 Vi命令大全

刚开始学习Linux,从基础开始,学习vi命令vi命令一览表! ex, vi, view - text editors   ◎SYNOPSIS           vi [-eFGlRrSv] [-c cmd] [-t tag] [-w size] [file ...]      ex [-eFGRrSsv] [-c cmd] [-t tag] [-w size] [f

2011-12-30 22:59:51 631

原创 csdn太不给力了

csdn太不给力了,好几天都不能发表日志

2011-12-30 22:53:48 841

转载 老手经验:Linux驱动程序开发学习步骤

1. 学会写简单的makefile 2. 编一应用程序,可以用makefile跑起来 3. 学会写驱动的makefile 4. 写一简单char驱动,makefile编译通过,可以insmod, lsmod, rmmod. 在驱动的init函数里打印hello world, insmod后应该能够通过dmesg看到输出。5. 写一完整驱动, 加上read, write, ioc

2011-12-24 21:34:55 571

转载 我曾经得到的一个最好的编程建议

多年以前(早在1992年),我加入了这个疯狂的skunkworks项目,这个项目使用的是他们叫做Smalltalk的另类程序语言。“面向对象”作为一个“热门”项目才刚刚起步。作为“面向对象”的顾问,报酬非常可观。很多人自以为这就是新的对象派别的全部内容。直到5年前,Alan Kay发表了“我发明了‘面向对象编程’这个术语,但{Java和C++}跟我所知道的有所不同”的言论。(“I invent

2011-12-21 23:02:09 319

转载 Linux内核大讲堂 (二) 传说中的字符设备(4)

经过前面的学习,我们发现有一个东西像恶梦一样挥之不去,无论是讲驱动模型中的sysfs还是讲字符驱动的file,这些文件系统内的概念和模块已经让我们达到了无法忍受的地步,但这从侧面也说明了文件系统在内核中的至高地位。Linux宣称一切皆文件,是不是一切皆文件并不是我们目前讨论的内容,就算偶尔有一些东西没有抽象成文件,但这不重要,也不影响文件这个概念在linux内核中的地位。如果我们把驱动模型的解理看

2011-12-20 22:19:44 462

转载 Linux内核大讲堂 (二) 传说中的字符设备(3)

接下来讲的是字符设备的重点,就是从用户空间调用open最到终调用我们写的字符驱动中的open的整个过程。下面的讨论将会非常有意思,请大家一定要看完所有的描述,否则理解有问题就别怪哥没提醒你了!在这之前我们大概说说大名鼎鼎的系统调用,从字面上理解就是系统(内核)提供的调用(服务),取小括号里面的话就拼成了:内核提供的服务。这个服务是通过一条int 0x80指令来实现的,利用这条指令可以产生一个软

2011-12-19 23:32:05 713

转载 Linux内核大讲堂 (二) 传说中的字符设备(2)

这一节我们先给出一个字符设备的小例子,源码结构如下:|-- wwhs_chardev| |-- Makefile| |-- wwhs_chardrv.c //驱动| `-- wwhs_chardrv_test.c //小测试程序`-- wwhs_public.h请大家养成看Makefile的好习惯,这个Makefile很简单的。先生成字符设备的驱动,字符设备驱动会在/d

2011-12-18 22:12:08 466

转载 Linux内核大讲堂 (二) 传说中的字符设备(1)

就当我还在学校的时候,我就曾在一个装机群里听一位装机圣手说,驱动程序的安装没你想的那么简单,分类型的,分为字符设备驱动和块设备驱动。我当时就纳闷了,我说我装机的时候好像没看到啊,我就把光盘放过去然后就一直点下一步,然后重启就好了啊。后面我在群里被几位高手围攻,败下阵来,时过境迁,哥现在也算是道上混的兄弟了,再也没那么容易被蒙了。就算你DIY再牛,你也不要和我说装驱动要分类。否则我就和你讲内核,讲晕

2011-12-17 22:17:26 428

转载 Linux下PCI设备驱动程序开发

Linux下PCI设备驱动程序开发肖文鹏 ([email protected]), 硕士研究生, 北京理工大学计算机系肖文鹏,北京理工大学计算机系的一名硕士研究生,主要从事操作系统和分布式计算环境的研究,喜爱Linux和Python。你可以通过 [email protected]与他取得联系。 简介: PCI是一种广泛采用的总线标准,它提供了许多优于其它总线标准

2011-12-16 23:51:33 583

转载 如果你喜欢上了一个程序员小伙_献给所有的程序员女友

原始出处:http://jameszou.blog.51cto.com/2173852/741472程序员向来是善于幽默自嘲的群体,但从某种程度上影响了咱程序员在广大女同胞心中的印象啊~~于是写下此篇(有从别处看到的3句加进来的), 就算是为咱程序员做个广告~~要是觉得有点过的程序员们,就把此文当作一个美好的目标吧~~~:)-------------------------------

2011-12-16 23:39:28 624

转载 优秀程序员的十个习惯

在这个世界上,有数百万的人热衷于软件开发,他们有很多名字,如:软件工程师(Software Engineer),程序员(Programmer),编码人(Coder),开发人员(Developer)。经过一段时间后,这些人能够成为一个优秀的编码人员,他们非常熟悉如何用计算机语言来完成自己的工作。但是,如果你要成为一个优秀的程序员,你还可以需要有几件事你需要注意,如果你能让下面十个条目成为你的习惯,那

2011-12-16 23:37:01 385

转载 嵌入式Linux下PCI设备驱动的设计与实现

随着通用处理器和嵌入式技术的迅猛发展,越来越多的电子设备需要由处理器控制。目前大多数CPU和外部设备都会提供PCI总线的接口,PCI总线已成为计算机系统中一种应用广泛、通用的总线标准[1]。Linux因其开放源代码以及稳定的性能,越来越受到广大用户青睐。同时,基于Linux内核的嵌入式操作系统应用势头强劲,开发基于Linux的设备驱动程序,具有很强的实用性和可移植性[2]。  1 PCI总

2011-12-16 23:16:06 1591

转载 Linux内核大讲堂 (一) 设备驱动的基石驱动模型(7)

终于快讲完了,这一节其实就是让上节我们所说的四大天王露下小脸。源码分析请自行完成吧。我建议大家可以试着先看一下代码,如果能看懂,那就把我写的那破玩意删掉,自已实现一遍,如果不能看懂,那马上回过去从第一小节重新看过,耐心,一定要有耐心,没耐心,啥都完了。帖上原码:Makefile:obj-m+=wwhs_bus.oKERNELDIR=/opt/kernel/linux-2.6.38/li

2011-12-16 21:12:28 1470

转载 Linux内核大讲堂 (一) 设备驱动的基石驱动模型(6)

上节我们大概分析了driver_register是怎么工作的。有的细节虽然没有到位,但是记住一句话,贪多嚼不烂,我们首先要建立的是驱动模型在我们脑海中的第一印象。本节将讲述最后两个主角,device和class的创建。讲完这些就会来个大集合。让四大天王(device,class,device_driver,bus)一起登台向各位致敬,表演?想要四大天王表演?没问题,可四大天王不但身份尊贵,最主要的

2011-12-15 23:02:29 705

转载 Linux内核大讲堂 (一) 设备驱动的基石驱动模型(5)

上节我们已经领教了传说中的bus_register,这节我们继续领教同样是神级的driver_register。driver_register如果看懂了,device自行分析应该没太大的问题。照样先给出一个小的例子代码。 typedef struct __wwhs_device_driver{         char *name;         struct devic

2011-12-14 23:36:49 505

转载 Linux内核大讲堂 (一) 设备驱动的基石驱动模型(4)

今天又升级了最新版内核2.6.38.5,编了一下,我之前写的几个模块都可以用,看来这一块没有太大差异。顺便把内核升级写了一个相关的文档。大家如果没升级过内核的可以参考一下:http://blog.csdn.net/z2007b/archive/2011/05/09/6407458.aspx 。好了。上节我们用最直观的方式知道了kobject_create_and_add("wwhs_drvmode

2011-12-13 21:11:40 700

转载 Linux内核大讲堂 (一) 设备驱动的基石驱动模型(3)

实在是让大家久等了,因为最近离职,所以繁锁的事情很多,今天终于把离职手续给办完了,不过还有一堆事情没有做,如果更新的慢的话,请大家多多包涵。言归正传。俗话说的好:光说不练假把式。很明显本帅哥不是假把式。为了让大家一起对驱动模型有直观的认识,小弟花了一点点时间写了几个小例子(目前只有一个)。就是为了让大家领会最神秘的驱动模型,有了这些小例子,结合我前面两篇源码分析的文章,哥可以告诉你,你已经具备

2011-12-12 22:56:12 369

转载 Linux内核大讲堂 (一) 设备驱动的基石驱动模型(2)

上节我们分析到int kset_register(struct kset *k)函数中的kobject_add_internal(&k->kobj),我们接着分析,先唤起来一下大家的记忆,给出kset_register的函数定义:int kset_register(struct kset *k){int err;if (!k)  return -EINVAL;kset_in

2011-12-11 20:57:11 358

转载 Linux内核大讲堂 (一) 设备驱动的基石驱动模型(1)

可能把驱动模型放在第一章讲会会有点难度,但是只要能跨过这道坎,后面就会轻松很多,驱动模型是整个linux设备驱动的基石。大部分人把驱动模型叫做设备模型,但是我查了linux的帮助文档,就是在下载源码路径下的Documentation目录中找到driver-model这个目录,里面包含的文件就是我在本章中所要讲述的东西,也就是我所说的驱动模型。因此本文都会用驱动模型这个术语(如果各位觉得这种叫法是错

2011-12-10 23:58:59 567

转载 Linux-2.6.20的LCD驱动分析(五)

四、s3c2410fb_ops变量详解      在上面的文字中,较为详细的解释了platform device相关的代码,通过上面的代码的执行,一个platform设备(buffer被当作了platform设备)就加载到内核中去了。就像一个PCI的网卡被加入到内核一样,不同的是PCI的网卡占用的是PCI总线,内核会直接支持它。而对于platform设备需要用上面软件的方法加载到内核,同PCI

2011-12-10 23:56:19 347

转载 Linux-2.6.20的LCD驱动分析(四)

三、解剖s3c2410fb_driver变量s3c2410fb_driver变量有什么作用呢?在前面的2.2节提到了它的定义,从它的原型可以看出s3c2410fb_driver是个platform_driver类型的变量,前面的几个小节提到了从platform_driver的名字可以看出它应该是platform_device的驱动类型。为了方便阅读,这里再贴一次s3c2410fb_driver

2011-12-09 22:13:26 334

转载 Linux-2.6.20的LCD驱动分析(三)

2.3 s3c2410fb_probe揭秘对于该函数,我想最好的办法就是跟着程序一步一步的解释。OK,let’s go to ……static int __init s3c2410fb_probe(struct platform_device *pdev){       struct s3c2410 fb_info *info;  //s3c2410fb_info结构在driver

2011-12-08 21:14:07 351

转载 Linux-2.6.20的LCD驱动分析(二)

二、s3c2410fb_probe函数分析2.1驱动的入口点摆在面前的第一个问题相信应该是,这个函数是从那里开始运行的。这里就应该从long long ago开始了,打开drivers/video/s3c2410fb.c文件,然后找到s3c2410fb_init函数,先不管它里面是怎么回事,再把目光下移就会看到这样一串字符串module_init(s3c2410fb_init),郁闷,这和

2011-12-08 11:28:37 326

转载 Linux-2.6.20的LCD驱动分析(一)

一、让LCD显示可爱的小企鹅还是先说说环境吧,处理器为S3C2410,linux的版本当然是2.6.20的。下面先说说怎样让LCD上显示出可爱的小企鹅。最直接的步骤如下(记住不要问为什么哈~_~,一步一步跟着走就行了):1.      添加s3c2410处理器的LCD控制寄存器的初始值,具体做法为在文件arch/arm/mach-s3c2410/mach-smdk2410.c中添加stru

2011-12-08 11:27:02 358

转载 Linux驱动之设备模型(9)-platform

10.Platform10.1  overviewl  一个现实的Linux设备和驱动通常都需要挂接在一种总线上,对于本身依附于PCI、USB、IIC、SPI等的设备而言,这自然不是问题,但是在嵌入式系统中,SoC系统中集成的独立的外设控制器,挂接在SoC内存空间的外设(IIC,RTC,SPI,LCD,看门狗)等却不依附于此类总线。基于这一背景,Linux发明了一种虚拟的总线,称为plat

2011-12-07 23:06:35 320

转载 Linux驱动之设备模型(8)

9.小结9.1  总线,设备,驱动和类之间的关系l  总线相当于一个容器,是device和device_driver的管理机构,它包含了一个device集合(devices_kset)和一个驱动集合(drivers_kset),分别表示挂依附于此总线的所有设备和所有驱动。l  驱动依附在总线上,包含了一个设备链(klist_devices),用来遍历总线上的设备,驱动还包含了一个bus

2011-12-07 23:05:16 309

转载 Linux驱动之设备模型(7)

8.类8.1  classl  Class是对设备按照功能进行的分类,这样做是为了给用户空间提供一个比较友好的界面。Class也是一个kset,对应于/sys/class下的一个目录int __initclasses_init(void){         /* 对应/sys/class目录 */         class_kset =kset_create_and_ad

2011-12-06 21:19:53 323

转载 Linux驱动之设备模型(6)

7.设备驱动7.1  设备驱动l  在Linux设备模型中,设备驱动用device_driver结构来表示structdevice_driver {         const char                  *name;       /*名字*/         struct bus_type                 *bus;      /* 附属的总线

2011-12-05 22:14:25 392

转载 Linux驱动之设备模型(5)

6.设备6.1  设备l  Linux设备模型中每一个设备用device结构来表示struct device {         struct device             *parent;   /* 父设备,通常是某种总线或者是宿主设备 */         struct device_private       *p;   /* 私有数据指针:子设备链表,父设备

2011-12-05 22:13:26 344

转载 Linux驱动之设备模型(4)

5.总线5.1 overview前面我们介绍了设备模型的底层部分,下面我们来看下设备模型的高层部分,总线、设备和驱动5.2 总线l 总线,是处理器与一个或者多个设备之间的通道。在Linux设备模型中,用bus_type结构来表示struct bus_type{const char *name; /* 总线名字 */struct bus_attribute *bus_

2011-12-04 22:33:40 368

转载 Linux驱动之设备模型(3)

4.小结4.1 kobject, kset和ktypekobject, kset和ktype就三个结构体,但是却很容易让人混淆,是由于它们内部相互交织。l kobject,是设备模型中的基本对象,包含了引用计数,父子关系,目录项等,通常会嵌入到其它的数据结构中,使其也具有kobject的特性;l ktype,定义了一些kobjct相关的默认特性:析构函数,sysfs操作以及默认属性

2011-12-04 22:31:26 366

转载 android三种菜单介绍 .

Android的菜单分为三种类型:选项菜单(Option Menu)、上下文菜单(Context Menu)、子菜单(Sub Menu)一.选项菜单当用户单击设备上的菜单按钮(Menu),触发事件弹出的菜单就是选项菜单。选项菜单最多只有六个,超过六个第六个就会自动显示 更多 选项来展示显示。创建方法:1、覆盖Activity的onCreateOptionsMenu(Menu m

2011-12-03 23:54:32 483

转载 Linux驱动之设备模型(2) .

3.ktype& Kset3.1  ktypel  用来描述一组kobject所具有的普通特性,用structkobj_type结构体来表示struct kobj_type{         void (*release)(struct kobject *kobj);         const struct sysfs_ops *sysfs_ops;         st

2011-12-03 23:41:09 380

转载 Linux驱动之设备模型(1) .

1.Overviewl  设备模型是2.6内核引入的新特性,提供了一个一个独立的机制专门来表示设备,并描述其在系统中的拓扑结构,使得系统具有以下优点:n  代码重复最小化n  提供诸如引用计数这样的统一机制n  可以列举系统中所有的设备,观察它们的状态,并查看它们连接的总线n  可以将系统中的全部设备结构以树的形式完整、有效地展现出来n  可以将设备和其对应的驱动联系起来,

2011-12-03 23:39:54 535

转载 Android系统移植全过程

Android开发环境篇一.  安装:Required PackagesAndroid requires the following system packages:flex: This lexical analyzer generator is used to read a given input file for a description of a scanner

2011-12-02 23:51:07 6545

转载 Android四大组件之 Service

一    Service简介        Service是运行在后台的,没有界面的,用来处理耗时比较长的。Service不是一个单独的进程,不是一个单独的线程。        Service有两种类型:本地服务(Local Service):用于应用程序内部远程服务(Remote Sercie):用于android系统内部的应用程序之间             前者用

2011-12-02 23:49:22 705

转载 HTML5之Worker用法

HTML5之Worker用法HTML5提供了Worker类用于多线程处理。Worker是在UI主线程中创建,后台执行的一段js脚本,它通过消息与UI线程传递数据。使用Worker就3步:cheungmine 2011-11-29第1步:创建一个Worker,需要指定一个js文件,作为Worker线程的执行体:var worker = new Worker("worker.js"

2011-12-01 23:43:08 619

转载 Qt事件--数字时钟

实验:1)用Timer显示时间2)用Timer定时3)鼠标左键按下控件可随意在桌面上拖动main.cppview plaincopy to clipboardprint?#include #include "form2.h" int main( int argc,char ** argv ){ QApplication a( argc, argv

2011-12-01 23:31:10 1060

winzip18.5(11111)

winzip18.5(build11111)winzip18.5(build11111)winzip18.5(build11111)winzip18.5(build11111)winzip18.5(build11111)的许可,亲测管用

2017-10-18

DataGridViewDisableButtonColumn自定义控件demo

这是c#中使用winform的datagridview控件添加按钮的demo 1、做自定义控件DataGridViewDisableButtonColumn。比系统自带的控件DatagridviewButtonColumn多了enabled属性 2、添加到程序的datagridview上。 3、根据数据源的标志列,使自定义按钮初始化使能状态。 我最初遇到的情况是用datagridview显示图片时,不想直接显示,想显示查看图标的按钮,但当没有图片时按钮需要变灰。 经过一番查找资料。终于完成。顺带完成这个demo。 我的项目里其实就是判断当前行的图片二进制数组是否为空代替标识列。

2014-07-03

arcgis api for flex教程

arcgis api for flex 教程,api 说明

2013-08-16

ajax链接oracle数据库的实例

ajax链接oracle数据库的实例

2013-08-16

深入理解linux内核

深入理解linux内核

2012-11-30

linux系统pci卡驱动程序设计和实现

linux系统pci卡驱动程序设计和实现

2012-11-30

linux那些事之U盘

linux系统之u盘的驱动讲解

2012-11-30

dsp-agc 算法c语言程序

dsp-agc 算法c语言程序

2012-10-26

Android学习之Socket通信

Android学习之Socket通信

2012-08-08

android socket编程实例

android socket编程实例

2012-08-08

一个PC上的两个android模拟器间的通信

android socket编程——两个模拟器间的通信(一台PC)

2012-08-08

文泉驿字体库 QT字体库

把下载好的字体库解压后的qpf文件放入lib/fonts中(qtX86和arm版本以及移植的文件系统中都放入此字体), 编译运行的时候:在qtcreator中Run Settings --> Edit run configuration:右侧单击Show Details按钮,在打开的下拉菜单中Arguments:文本框中添加参数 “-qws -font wenquanyi". 或者在终端中运行:例如:./hello -qws -font wenquanyi 这样就可以显示中文(文泉驿字体)了。

2012-06-13

linux 文泉驿 字库源码

把下载好的字体库解压后的qpf文件放入lib/fonts中(qtX86和arm版本以及移植的文件系统中都放入此字体), 编译运行的时候:在qtcreator中Run Settings --> Edit run configuration:右侧单击Show Details按钮,在打开的下拉菜单中Arguments:文本框中添加参数 “-qws -font wenquanyi". 或者在终端中运行:例如:./hello -qws -font wenquanyi 这样就可以显示中文(文泉驿字体)了。

2012-06-13

图解USB协议之二:数据包分析

电子产品世界网强力推荐。很有用的一个教程..

2011-12-05

嵌入式linux入门笔记

嵌入式linux入门笔记。电子产品世界网强力推荐。 很有用的一个教程

2011-12-05

嵌入式培训

电子工程、电子产品世界强力推荐的下载资料

2011-12-05

linux一句话精彩问答

电子工程 电子产品世界强力推荐的下载。很好很有用的一个文档

2011-12-05

万年历程序

万年历c程序、写的还行。挺好的 万年历c程序、写的还行。挺好的

2011-12-04

2011年程序员面试试题宝典100题_附程序

2011年程序员面试试题宝典100题附程序

2011-12-03

MCS-51单片机实用子程序库(96年版)

MCS-51单片机使用子程序库: 本子程序库对《单片机应用程序设计技术》一书附录中的子程序库作了重大修订: (1)按当前流行的以 IBM PC 为主机的开发系统对汇编语言的规定,将原子程序库 的标号和位地址进行了调整,读者不必再进行修改,便可直接使用。 (2)对浮点运算子程序库进行了进一步的测试和优化,对十进制浮点数和二进制浮 点数的相互转换子程序进行了彻底改写,提高了运算精度和可靠性。 (3)新增添了若干个浮点子程序(传送、比较、清零、判零等),使编写数据处理 程序的工作变得更简单直观。 在使用说明中开列了最主要的几项:标号、入口条件、出口信息、影响资源、堆栈需求,各项目的意义请参阅《单片机应用程序设计技术》第六章 6.3.7 节的内容。程序清单中开列了四个栏目:标号、指令、操作数、注释。为方便读者理解,注释尽力详细。

2011-12-03

周立功ARM嵌入式系统基础教程

周立功ARM嵌入式系统基础教程 周立功ARM嵌入式系统基础教程

2011-12-02

计算机专业英语词典速查手册

计算机专业英语词典速查手册 计算机专业英语词典速查手册 计算机专业英语词典速查手册 计算机专业英语词典速查手册 计算机专业英语词典速查手册

2010-08-20

Qt嵌入式图形界面开发

Qt图形界面开发,Qt图形界面开发,Qt图形界面开发,Qt图形界面开发

2010-08-13

VMware_7.0汉化补丁

VMware_7.0汉化补丁,VMware_7.0汉化补丁,VMware_7.0汉化补丁,VMware_7.0汉化补丁

2010-01-24

电子器件知识大全.PDF

电子器件知识大全,电子器件知识大全,电子器件知识大全

2009-11-09

linux系统内核注释

linux内核注释,linux系统内核注释

2009-11-09

超速学会C51单片机

十天学会单片机 从不同的角度让你更加清楚地学好单片机c

2009-09-11

struts教程文档

struts教程 详细讲解了struts

2009-09-11

空空如也

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

TA关注的人

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