自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(27)
  • 收藏
  • 关注

原创 Android Init Language

Android Init Language---------------------The Android Init Language consists of four broad classes of statements,which are Actions, Commands, Services, and Options.All of these are lin

2012-10-26 14:34:49 419

原创 1. 一个界面xml布局文件应仅inflate一次即可

一个界面xml布局文件仅仅inflate一次即可,然后将这个实例保存起来,如果inflate两次,在发现问题根源之前,可能会出现一些极为怪异的问题。比如:LayoutInflater inflater = getLayoutInflater();viewList.add(inflater.inflate(R.layout.default_view, null));viewList.

2012-05-11 12:32:23 1528

原创 关于listview获取内部checkbox状态的解决办法

首先说问题所在:关键问题是按下checkbox的时候不能知道这个checkbox究竟是哪个checkbox,即不能获取其具体的位置,不能获得其对应的ListView Item。也就是关键是要把item跟checkbox一一对应起来。我想到了两种解决办法:第一种办法:.继承checkbox,添加一个表示自身position的成员。在adapter初始化的时候,在getView这个函数里面

2012-05-09 10:22:10 1612

转载 Activityd的初始化过程

Activityd的创建要经过一堆的初始化过程,我们平时在开发中只需要使用Intent就行了,至于如何让创建,以及如何加载apk里面的类资源以及文件资源都给屏蔽掉了,Intent到底是什么?为什么可以跨进程?为什么可以发广播又可以启动服务,还可以传参?Activity到底是什么,既可以显示空间又可以窗口管理,又可以路由消息?到底是什么机制在支撑着Activity运行?这篇只简单的谈论下Ac

2012-01-21 17:07:05 978 1

原创 极限了

- -!这几天看USB驱动的代码看得我头都晕了……我发现如果我再看下去,那下一秒钟我就会崩溃……好吧,看点别的东西~~回头继续分析~

2011-10-02 18:31:18 441

原创 移植linux2.6.38.8内核到Mini2440 ---- 记录

直接使用2.6.38.8的Mini2440的板文件,啥都不用改,直接make mini2440_defconfig,然后make zImage编译内核……完成,下载测试……出现问题……友善的文档说出现这种问题往往是因为bootloader传给内核的machine_

2011-09-07 10:45:35 949

原创 貌似有点眉目了……

上午移植好LCD驱动,本来说想换个杉原杏璃的图做开机画面的,我了个擦,用友善的logomaker转换了居然不行~~我在想是不是图片长宽不合要求啊~于是用PS裁剪成320*240.重新编译内核~~还TM不行~~中午休息了一下~爬下床来开机,无意中看到一行信息~fbcon

2011-09-04 15:14:49 591

原创 移植yaffs2文件系统到mini2440

哥终于有点时间和心情写blog了!突然发现想学的东西太多~~真恨不得一天能有个48小时…………^_^!记得上高一时当时的语文老师告诉过我们:如果每个人都把高一当高三读,绝对没有读不好的可能.时至今日,我几乎对高一的生活没有多少印象了……但对这句话却一直印象深刻。

2011-09-04 12:56:17 916

原创 移植 linux-2.6.32.2 到 mini2440

作为一个嵌入式专业的学生,想想自己都大四了,还在搞这些基础东西,真丢人…………先介绍一下此次移植的主要目标对象:平台:window 7 旗舰版 and Fedora 9目标板:mini2440目标系统: linux-2.6.32.2交叉编译链: arm-liu

2011-09-01 23:28:14 2155 1

转载 《肖申克的救赎》的创业启示

<br /><br />刚开始票房纪录让人大失所望,但后来通过有线电视迅速蹿红,以至于几乎我认识的每个人都认为这是所有时代最出色的电影之一。我说的是《肖申克的救赎》。这是一部发人深思的电影,而前两天在跟一个朋友聊天时,我才意识到这部电影所包括的教训对于一个创业的人来说是多么得重要。<br />教训1-成功的间断性(为什么一夜成名都源于实在的长期奋斗)<br />  一夜成名并非真能在一个晚上出名。那只是表面现象。我在介绍Elton John和《如何在30分钟或者更短的时间内赚到数百万》的帖子中捎带提过一些相

2011-04-22 16:57:00 1292

转载 对 Windows 窗体控件进行线程安全调用

<br /><br /> <br /> <br />今天在编写一个windows应用程序的时候碰到了一个小问题,程序需求是这样的,创建多个线程调用执行某个方法,Windows Form中有个Progress Bar控件用于显示已经执行完毕的进程数,即当所有的线程都运行完毕后,Progress Bar的进度也到头了。先给出初步的实现方式:<br />  1         private const int MAXTHREAD = 100; //最大线程数<br /> 2         private in

2011-04-22 16:53:00 622

转载 Builder与Factory,殊途同归!

<br /><br />在设计模式的学习过程中,Builder与Factory是创建模式中两个经典的教程,给与了我们很多值得汲取的宝贵设计思想,然而Builder与Factory模式也是初学者容易混淆的两个模式,经常看到有人问及两者的区别与适用的场景,我在近一段设计模式的学习过程中同样碰到了这个问题,在两种模式的区别与联系间我看到的更多是后者,在这里愿意与大家分享一些我对Builder与Factory模式的感悟,有说的不对的地方,还请各位多加提点、指教。<br />写在前面<br />本文旨在两种模式间的对

2011-04-22 16:51:00 637 1

转载 持续改进,抽象工厂也反射

<br /><br />在我的上一篇文章(疑惑?改良?从简单工厂到工厂方法)中,详细论述了创建模式中简单工厂到工厂方法的演变过程,并试图结合工厂方法的设计以及.net中的反射机制之所长,改良出一种新型的工厂—反射工厂,这当然不是我的首创,经典的PetShop 中便有此工厂的身影。本文尝试按照前篇文章的思路,借着工厂方法到抽象工厂的演变过程而继续对抽象工厂进行改良,文章中的思想仅代表了作者当时的观点,有欠妥的地方,还请各位不吝赐教。<br />工厂模式<br />前面的文章提到了简单工厂和工厂方法其实是一码事

2011-04-22 16:49:00 663

转载 疑惑?改良? 从简单工厂到工厂方法

<br /><br />写在前面<br />最近一段时间在研究有关设计模式方面的文章,拜读了TerryLee以及吕震宇两位老师所写的设计模式方面的系列文章,收获颇丰,也让我对OOP,OOD有了新的理解和认识,不过在看到工厂方面的几篇文章时,却总有个地方想不通,望各位老师专家能替在下答疑解惑,以下是自己对工厂模式的一些理解以及提出的一种改良方案,不知道是否有人提出过类似的方案,如有雷同纯属巧合。有说得不对的地方还请批评指正。 <br />从简单工厂说起<br />严格来讲简单工厂并不属于GOF的23个设计模式

2011-04-22 16:46:00 504

转载 C# 反射入门知识

<br /><br />1、 什么是反射<br />2、 命名空间与装配件的关系<br />3、 运行期得到类型信息有什么用<br />4、 如何使用反射获取类型<br />5、 如何根据类型来动态创建对象<br />6、 如何获取方法以及动态调用方法<br />7、 动态创建委托<br /> 1、什么是反射<br />        Reflection,中文翻译为反射。<br />        这是.Net中获取运行时类型信息的方式,.Net的应用程序由几个部分:‘程序集(Assembly)’、‘模块

2011-04-22 16:36:00 428

转载 在驱动模块初始化函数中实现设备节点的自动创建

<br /><br />我们在刚开始写Linux设备驱动程序的时候,很多时候都是利用mknod命令手动创建设备节点,实际上Linux内核为我们提供了一组函数,可以用来在模块加载的时候自动在/dev目录下创建相应设备节点,并在卸载模块时删除该节点,当然前提条件是用户空间移植了udev。<br />内核中定义了struct class结构体,顾名思义,一个struct class结构体类型变量对应一个类,内核同时提供了class_create(…)函数,可以用它来创建一个类,这个类存放于sysfs下面,一旦创建

2011-04-19 12:29:00 495

转载 module编译和insmod invalid format问题解决方法

<br />insmod: error inserting 'hello.ko': -1 Invalid module format<br />       <br />一些不那么神秘的信息被纪录在文件/var/log/messages中;<br /><br />Jun  4 22:07:54 localhost kernel: hello: version magic '2.6.5-1.358custom 686<br />REGPARM 4KSTACKS gcc-3.3' should be '2.6.

2011-04-18 20:46:00 952

原创 在Fedora9中搭建驱动开发环境

<br />    小菜刚刚开始学习驱动开发,啥都不会,就知道hello world……<br />本来以为写个helloworld很容易吧~的确容易~你要是懒的话直接抄书本上就可以了~<br />于是helloworld写出来了,在写makefile的时候才发现,fedora 9本身没安装源码~好吧,那就安装源码吧。于是到fedora官网下了个源码的rpm包~<br />按照网上说明的方法安装了一下~过程顺利,没啥问题<br />把配置文件从boot那里cp过来改名成.config,这样做是为了确保这个内

2011-04-18 20:27:00 1125

转载 安装fedora 9的内核源码

<br />1、下载source rpm<br />    http://download.fedora.redhat.com/pub/fedora/linux/releases/9/Fedora/source/SRPMS/kernel-2.6.25-14.fc9.src.rpm<br /><br />2、安装rpm<br />   rpm -ivh kernel-2.6.25-14.fc9.src.rpm<br /><br />3、build rpm<br />   rpmbuild -bp --targ

2011-04-18 16:43:00 1004

转载 加载模块出现的问题

<br /><br />insmod: error inserting 'hello.ko': -1 Invalid module format<br />       <br />一些不那么神秘的信息被纪录在文件/var/log/messages中;<br />Jun  4 22:07:54 localhost kernel: hello: version magic '2.6.5-1.358custom 686<br />REGPARM 4KSTACKS gcc-3.3' should be '2.6.

2011-04-18 16:34:00 968

转载 linux的启动配置文件inittab文件详解

<br />linux的启动配置文件inittab文件详解<br />linux inittab详解<br />一、什么是init<br />  init是Linux系统操作中不可缺少的程序之一。 是一个由内核启动的用户级进程。<br />  内核启动(已经被载入内存,开始运行,并已初始化所有的设备驱动程序和数据结构等)之后,就通过启动一个用户级程序init的方式来启动其他用户级的进程或服务。所以,init始终是第一个进程(其PID始终为1)。<br />  内核会在过去曾使用过init的几个地方查找它,它

2011-04-17 10:35:00 730

转载 驱动模块Makefile解析

<br /><br />先看一下代码<br />ifeq ($(KERNELRELEASE),)<br />        KERNELDIR ?= /home/linux/linux-2.6.22.6<br />        PWD := $(shell pwd)<br />        modules:<br />                $(MAKE) -C $(KERNELDIR) M=$(PWD) modules<br />        modules_install:<br />  

2011-04-16 23:23:00 715

转载 模块驱动 Makefile 模板

<br /><br />TARGET=test_demo<br />#CROSS_COMPILE=arm-linux-     不用交叉环境       <br />CC=$(CROSS_COMPILE)gcc<br />STRIP=$(CROSS_COMPILE)strip<br />#CFLAGS=-O2<br />ifeq ($(KERNELRELEASE),)           #若KERNELRELEASE没有定义<br />   <br />     KERNELDIR ?=/lib/modu

2011-04-16 23:08:00 797

转载 嵌入式驱动Makefile编写

编写嵌入式的Makefile有几个地方需要注意的:一般我们在x86下编译驱动1.首先编写一个Makefile,内容如下//////////////////////////////obj-m    :=drv.odrv.objs +=file1.o file2.o/////////////////////////////2.再执行make -C /内核源码路径/ M=/驱动所在的目录/ modules这是编写x86驱动一种简单的方法与此同理编写arm的驱动只需要把Makefile需改一下就可以了。Makefi

2011-04-12 21:07:00 1122

转载 驱动Makefile-示例

<br /><br />首先给出文件的目录结构如下:<br /> <br />|-- A<br />|   |-- Makefile         <-----1<br />|   |-- file2<br />|   |   |-- Makefile     <-----2<br />|   |   `-- file2.c<br />|   `-- file4.c<br />|-- B<br />|   |-- Makefile         <-----3<br />|   `-- file3.c<

2011-04-12 20:54:00 583

转载 如何计算结构体的大小

运算符sizeof可以计算出给定类型的大小,对于32位系统来说,sizeof(char) = 1; sizeof(int) = 4。基本数据类型的大小很好计算,我们来看一下如何计算构造数据类型的大小。C语言中的构造数据类型有三种:数组、结构体和共用体。数组是相同类型的元素的集合,只要会计算单个元素的大小,整个数组所占空间等于基础元素大小乘上元素的个数。结构体中的成员可以是不同的数据类型,成员按照定义时的顺序依次存储在连续的内存空间。和数组不一样的是,结构体的大小不是所有成员大小简单的相加,需要考虑到系统在存

2011-04-12 16:03:00 744

转载 printk()函数的使用

printk()函数的总结我们在使用printk()函数中使用日志级别为的是使编程人员在编程过程中自定义地进行信息的输出,更加容易地掌握系统当前的状况。对程序的调试起到了很重要的作用。(下文中的日志级别和控制台日志控制级别是一个意思)printk(日志级别 "消息文本");这里的日志级别通俗的说指的是对文本信息的一种输出范围上的指定。日志级别一共有8个级别,printk的日志级别定义如下(在linux26/includelinux/kernel.h中):#defineKERN_EMERG""#defineK

2011-04-12 15:45:00 2216 1

空空如也

空空如也

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

TA关注的人

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