自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(48)
  • 收藏
  • 关注

原创 Swift vs Objective-c (3)- 范型

支持任意类型的范型交互任意2个func swapTwoValues<T>(inout a: T, inout _ b: T) { let temporaryA = a a = b b = temporaryA}可以对类型加上约束:func someFunction<T: SomeClass, U: SomeProtocol>(someT: T, someU: U) {

2016-03-13 11:44:43 235

原创 Swift vs Objective-c (2)- Enumerations, lazy, closure, protocol

枚举(Enumerations)Swift的枚举比OC的多了很多内容, OC的枚举就2点:普通枚举,不带类型(和c语言一样)带类型枚举 (因为最开始OC出来的时候, c和C++语言还不支持带类型枚举,所以oc打了个补丁来支持这种特性)普通枚举, 有好几种写法,详细见(http://blog.163.com/redhumor@126/blog/static/1955478420114333815

2016-03-11 16:22:11 267

原创 Swift vs Objective-c (1)- Extensions, 函数,override

写在前面用Swift来做项目也有一段时间了,与Objective-c 相比,直观的感觉是用Swift写代码更快,更流畅。但是不包括写要和c连接的代码,如果要写和c相关的,还是用OC比较好,所以现在的代码基本上是用OC来写一层c的转换层。 下面是Swift和OC的知识点对比,算是对这一段时间用到的知识的梳理。Swift Extensions vs OC categoriesSwift 中的扩展可以:

2016-03-09 11:29:50 430

原创 notifier chain分析

<br />notifier chain有4种类型的实现:atomic,blocking,raw,rcu。但是<br />实际上的实体是3个函数:extern int notifier_chain_register(struct notifier_block **list, struct notifier_block *n);extern int notifier_chain_unregister(struct notifier_block **nl, struct notifi

2011-01-07 09:43:00 1341

原创 code depository : procfs

#ifdef CONFIG_PROC_FS<br />214 static void *xxx_clk_start(struct seq_file *seq, loff_t *pos)<br />215 {<br />216 if (*pos == 0) {<br />217 seq_printf(seq, "NAME/t/tPARENT/t/tRATE(HZ)/tENABLE/tUSAGE/n");<br />218 }<br />

2010-06-22 10:35:00 347

原创 soc系统了解:interrupt controller

现在流行的架构是 AMBA system,是 APB和AHB 两个bus的组合,APB(advance peripheral bus), AHB(advance high speed bus).高速的设备会挂到AHB上,比如: USB,memory,ethernet,dmac... 而低速的设备会挂到APB上,比如:uart,rtc,gpio,timer。。。AHB和APB都可以有中断控制

2010-03-17 14:32:00 1199

原创 Spin lock 详解

Normal 0 7.8 磅 0 2 false false false MicrosoftInternetExplorer4 <!-- /* Sty

2009-12-04 11:23:00 1138

原创 gcc编译时的搜索路径顺序-头文件和lib文件

Normal 0 7.8 磅 0 2 false false false MicrosoftInternetExplorer4 <object class

2009-12-03 09:36:00 1481

原创 code depository: 2 week shutdown

#include #include #include #include #define RECORD_DEBUG#define PATH "/root/timer_record"#ifdef RECORD_DEBUG#define TIME 60 #define DEADLINE (2) #else#define TIME 600 /* 10 min

2009-12-01 13:35:00 374

原创 更改vermagic howto

  Normal 0 7.8 磅 0 2 false false false MicrosoftInternetExplorer4 <object cl

2009-11-13 14:34:00 1810

原创 chroot howto

Normal 0 7.8 磅 0 2 false false false MicrosoftInternetExplorer4 <!-- /* Sty

2009-08-21 16:49:00 278

原创 sfdisk

sudo sfdisk -f $device -uM >& /dev/null $rootfs_par_offset,$rootfs_size,83$at6600bin_par_offset,$at6600bin_size,83$at6600data_par_offset,$at6600data_size,83$userdata_par_offset,,83EOF  

2009-07-21 15:25:00 1033

原创 lsmod

through analyse /proc/modulesnfs 170109 0 - Live 0x129b0000lockd 51593 1 nfs, Live 0x128b0000nls_utf8 1729 0 - Live 0x12830000vfat 12097 0 -

2009-07-20 17:11:00 893

转载 zImage内核镜像解压过程详解

在华清远见教学过程中,发现很多学员对内核镜像解压过程比较感兴趣,但网上相关的文章往往不能把关键问题讲清楚,所以写了这篇文章。 本文以linux-2.6.14内核在S3C2410平台上运行为例,讲解内核的解压过程。 内核编译完成后会生成zImage内核镜像文件。关于bootloader加载zImage到内核,并且跳转到zImage开始地址运行zImage的过

2009-04-14 10:05:00 556

原创 用/proc/stat计算cpu的占用率

Normal 0 7.8 磅 0 2 false false false MicrosoftInternetExplorer4 <!-- /* Font

2009-04-09 18:36:00 5817

原创 how to caculate gettimeofday

在mobile linux中的gettimeofday,按照user layer的定义,是micro second(us)的精度。 但是真的精确么?gettimeofday --> sys_gettimeofday -->do_gettimeofdayvoid do_gettimeofday(struct timeval *tv){    unsigned long flags;    unsig

2009-03-24 15:30:00 1156

原创 arm下的udelay

Normal 0 7.8 磅 0 2 false false false MicrosoftInternetExplorer4 <!-- /* Font

2009-03-19 17:34:00 1163

原创 linux中pid gid tgid tid的区别和联系

getpid : 取得process id,对于thread,就是取得线程对应进程的id;对应的system call: asmlinkage long sys_getpid(void)1614 {1615         return current->tgid;1616 }tgid = thread group id ////////////////////////////

2009-02-05 13:07:00 27712

原创 cache memory study--mmap copy scatter-list 比较

生命唯一的乐趣就是学习。IC的arm核是 ARM1176JZ-S ,用armV6的指令集,不过可以先看arm7的,对应的linux kernel中的cache相关代码:/linuxOS/arch/arm/mmproc-v6.c cache-v6## Processor Type#CONFIG_CPU_32=yCONFIG_CPU_V6=yCONFIG_CPU_32v6K=yCONFIG_CPU_3

2009-01-08 11:08:00 995

转载 source insight 使用技巧

1  开胃菜-初级应用1.1  选择美丽的界面享受工作虽然不能以貌取人,但似乎从来没有人责备以貌取软件的。SI的华丽界面,绝对符合现代花花世界的人的审美趣味。在SI中,我们可以轻松地把各种类型关键字、变量、标志符、函数、宏、注释等定义为不同

2009-01-06 14:50:00 771

原创 关于arm汇编用gcc编译的疑问

汇编器与指令集,不同的CPU对应不同的指令集;不同的汇编器对应不同的语法和伪指令集。每种汇编器都可以有自己的伪指令集和自己的语法,但实际上,由于事实标准的原因,(所有的CPU厂商会提供指令使用手册,手册中的指令书写样式,实际上就是事实汇编语法,何况CPU厂商肯定会提供自己的汇编器的),现代大多数的汇编器都会在主流的汇编语法Intel型和AT&T型这两类语法中选择一种作为自己的语法(

2009-01-05 18:18:00 1092

原创 atag和command line

bootloader用atag向kernel传递信息:atag的info可以在 Normal 0 7.8 磅 0 2 false false false MicrosoftInternet

2008-12-12 11:37:00 663

原创 code template : parse_command_line -- user space

static int parse_command_line( int argc, char *argv[] ){     int n;     char      *error;     for (n = 1; n           const char *a = argv[n];          if (*a != -) {                    return -1;  

2008-11-12 15:09:00 366

转载 Linux内核驱动程序初始化顺序的调整

from http://soft.zdnet.com.cn/software_zone/2007/1023/574250.shtml今天在做一个驱动的时候要用到另一个驱动(I2C)提供的API,在内核初始化时碰到了一个依赖问题。 我的驱动在I2C初始化之前就运行起来了,而这时I2C提供的API还处于不可用状态。查了很多资料,网上有人说所有使用module_init这个宏的驱动程序的起动顺序都是

2008-10-31 10:14:00 488

原创 code depository -- register.h template

//write reigster name at the begin of column,and write the bit macro of this register at the second of column#define REG_ME_STATUS             0x00000000  #define REG_ME_STATUS_ID         0x00  #defin

2008-10-15 11:48:00 266

原创 linux driver template

/* * sound/arm/omap/omap-alsa-twl4030.c * * Codec driver for TWL4030 for OMAP processors * * Copyright (C) 2007 Texas Instruments, Inc. * * This package is free software; you can redistribute it and/o

2008-10-14 18:55:00 376

原创 code depository :get from file then save to file

static void get_from_file(int file_pos){    char *fname,*fname_save;    struct file * f = NULL,*f_save = NULL;    mm_segment_t orig_fs,orig_fs_save;        int length_read,length_write;    //get data

2008-08-04 09:38:00 286

原创 code depository - save_2_file

static void save_2_file(char* buf, int size){    char *fname;    struct file * f = NULL;    mm_segment_t orig_fs;        int length_write;        //get data from file    fname = "/tmp/out.pcm";    f =

2008-08-04 09:34:00 263

原创 ramdisk的制作过程(转)

http://blog.chinaunix.net/u/21378/showart_336241.html在一个已建好的文件系统上进行修改设已建立好的文件系统压缩文件为ramdisk.gz1.       解压#cd ramdisk.gz所在目录#gunzip ramdisk.gz在解压后,得到文件系统镜象文件ramdisk, 覆盖了原来的压缩文件 2.       镜

2008-07-24 16:17:00 289

原创 linux-test-tools: Bonnie

Bonnie是一款极小的测试系统IO性能的工具,源代码公开.作者主页:http://www.textuality.com/bonnie/ 你也可以点击这里下载其使用手册在:http://www.textuality.com/bonnie/advice.html测试IO速度:1.T3阵列速度测试(raid5) # df -kFilesystem kbyt

2008-04-22 14:02:00 769

原创 清楚环境变量 bash

echo $CCunset CC

2008-04-22 13:21:00 276

原创 VMware tar utime: operation not permitted

reason:不能在同windows共享的目录下减压缩。 

2008-04-21 17:59:00 990

转载 linux 之top命令详解

top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器。统计信息区前五行是系统整体的统计信息。第一行是任务队列信息,同 uptime 命令的执行结果。其内容如下:01:06:48 当前时间up 1:22 系统运行时间,格式为时:分1 user 当前登录用户数load average: 0.06, 0.60, 0.48 系统负载

2008-04-09 20:26:00 277

原创 the problem of umount

卸载 USB 存储设备时提示“ Device is busy ”首先,执行sync命令,以保证文件系统数据完整性。然后,用命令fuser -m /dev/sda1(sda1是USB存储设备的设备文件),查看哪些进程正在使用要卸载的这个USB设备。使用killall PID杀死这些进程,再卸载USB设备就不会再提示“ Device is busy”怎么,上面的看不懂。你只要执行这个命令。sync &

2008-04-09 09:54:00 264

原创 svn 使用

//check outsvn co http://10.1.16.136/svn/oss --username=cindy //cd Dir of check out//updatesvn up//commitsvn ci -m "add something " --username=cindy

2008-04-02 16:36:00 214

原创 QT的信号(signal)与槽(slots)机制

信号和槽机制是QT的核心机制,应用于对象之间的通信.信号和槽是QT自行定义的一种通信机制,,借助一个称为moc(Meta Object Compiler)的QT工具,该工具是一个C++预处理程序,它为高层次的事件处理自动生成所需要的附加代码。 窗口小部件(widget)都有一个回调函数用于响应它们能触发的每个动作,这个回调函数通常是一个指向某个函数的指针。但是,在QT中信号和槽取代了这些凌乱的函数

2008-01-29 15:11:00 965

原创 vnc使用

1.要查看所有vncserver打开的端口ps ax | grep vnc 2) 密码修改:        第一次启动vncserver会提示输入密码,以后要修改的话,运行:       #vncpassword 3) 停止vnc server:        #vncserver -kill :1        #vncserver -kill :2        注意到vncserver只能由

2008-01-29 14:51:00 398

原创 slickedit 使用

上个月有个xxx的人打电话到公司,说我们用的source insight需要付费。结果IT部门就像惊弓之鸟一样禁止我们使用source insight,靠。一天到晚这么忙,来要来这种破事。可怜呀,我用了这么多年的source insight。换成slickedit还不是一样是盗版。无聊。 

2008-01-22 10:44:00 461

转载 在linux中打印debug message

echo 8 > /proc/sys/kernel/printk#cat /proc/sys/kernel/printk8 4 1 7上面显示的4个数据分别对应控制台日志级别(console_loglevel)、默认的消息日志级别、最低的控制台日志级别和默认的控制台日志级别。当日志级别小于console_loglevel时,消息才能显示出来。printk的日志级别定义如下(在li

2008-01-07 15:10:00 1586

转载 Disk Images Under Linux (建造一个虚拟磁盘)

Linux uses loopback devices for images.Floppy Disk ImagesFirst, lets create an empty image.dd if=/dev/zero of=floppy.img bs=512 count=2880Now, lets set it up for mounting.losetup /dev/loop

2007-12-19 16:41:00 1193

空空如也

空空如也

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

TA关注的人

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