- 博客(10)
- 资源 (1)
- 收藏
- 关注
转载 【转】 linux 系统 select函数用法。
Select在Socket编程中还是比较重要的,可是对于初学Socket的人来说都不太爱用Select写程序,他们只是习惯写诸如 connect、accept、recv或recvfrom这样的阻塞程序(所谓阻塞方式block,顾名思义,就是进程或是线程执行到这些函数时必须等 待某个事件的发生,如果事件没有发生,进程或线程就被阻塞,函数不能立即返回)。 可是使用Select就可以完成非阻
2012-07-03 16:17:05 395
原创 人心散了,队伍不好带啊!
本人只是一个刚刚工作几年的普通程序员,并非什么领导。这里只谈自己的感悟,并不想争论什么,全做为成长的感悟而已,等多年后再看此文,或许会发现本文是多么的可笑,也可能仍旧同意现在的看法。开发人员结构 本人就职于 待续。
2012-05-16 14:18:47 770
转载 schedule_timeout()
schedule_timeout()进入延时唤醒状态. 如果在延迟过程中.在通常的驱动程序中,可以以下列两种方式重新获得执行:在等待队列上调用一个 wake_up,或者 timout 超时。在这个特定实现中,没人会调用 wake_up(毕竟其它代码根本就不知道这件事),所以进程总是因 timeout 超时而被唤醒。这是一个完美有效的实现,不过,如果驱动程序无须等待其它事件,可以用一种更直接的方
2012-05-14 14:08:35 1892
原创 netlink 使用后关机造成内核崩溃。
sock_release()函数的问题。改用netlink_kernel_release()函数。原因: 待查。
2012-05-14 14:07:45 637
转载 Linux内核中的jiffies
硬件给内核提供一个系统定时器用以计算和管理时间,内核通过编程预设系统定时器的频率,即节拍率(tick rate),每一个周期称作一个tick(节拍)。Linux内核从2.5版内核开始把频率从100调高到1000(当然带来了很多优点,也有一些缺点). jiffies是内核中的一个全局变量,用来记录自系统启动一来产生的节拍数。譬如,如果计算系统运行了多长时间,可以用 jiffies/tick r
2012-05-14 14:06:25 343
转载 linux 中HZ 、Tick、 Jiffies的关系。
linux HZLinux核心几个重要跟时间有关的名词或变数,底下将介绍HZ、tick与jiffies。 HZ Linux核心每隔固定周期会发出timer interrupt (IRQ 0),HZ是用来定义每一秒有几次timer interrupts。举例来说,HZ为1000,代表每秒有1000次timer interrupts。 HZ可在编译核心时设定,如下所
2012-05-14 14:05:39 3410
转载 【转】crosstool These critical programs are missing or too old: as ld 问题
转http://hi.baidu.com/linuxtang/blog/item/afdb310dd33b26c67acbe1b6.html 并小改。前提:自带的是gcc-4.4.1无法用crosstool正常编译交叉编译器,所以必须安装gcc-4.1,但是不必卸载4.4.1。方法是::1. 先安装gcc-4.1,sudo apt-get gcc-4.12. sudo rm /usr/
2012-05-14 14:04:43 1006
转载 【转】module_param()用法
在用户态下编程可以通过main()的来传递命令行参数,而编写一个内核模块则通过module_param()module_param宏是Linux 2.6内核中新增的,该宏被定义在include/linux/moduleparam.h文件中,具体定义如下:#define module_param(name, type, perm) module_
2012-05-14 14:03:19 645
转载 【转改】制作交叉编译工具链
制作交叉编译工具链 要做嵌入式Linux开发,首先需要有交叉编译工具链(cross compiling toolchain),也就是在主机(x86 PC)上可编译生成目标板可执行文件(ARM指令)的编译工具。和普通的编译工具链一样,交叉编译工具链也包括编译、链接、修改目标文件的各种程序,如gcc、glibc、ld、objdump、readelf等等。交叉编译工具链本身也是需要编译生
2012-05-14 13:47:05 666
转载 【转改】嵌入式linux应用开发完全手册 5.2以总线方式访问硬件,地址对齐。
例5.1 地址对齐的16位读操作。 unsigned short *pwAddr = (unsigned short *)0x2; unsigned short wVal; wVal = *pwAddr;例5.2 地址不对齐的16位读操作。 unsigned short *pwAddr = (unsigned short *)0x1; unsi
2012-05-14 13:45:20 1097
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人