snifer

【原创】Linux 系统之平衡树(红黑树)

之所以称为红黑树的原因就在于它的每个节点都被着色为红色或黑色。这些节点颜色被用来检测树的平衡性。但需要注意的是,红黑树并不是严格意义上的平衡二叉树,恰恰相反,红黑树放松了平衡二叉树的某些要求,由于一定限度的不平衡,红黑树的性能得到了提升。从根节点到叶

【原创】ARM Linux中链表使用实例

链表是一种常见的重要数据结构,它可以动态地进行存储分配,根据需要开辟内存单元,还可以方便地实现数据的增加和删除。链表中的每个元素都由两部分组成:数据域和指针域。其中,数据域用于存储数据元素的信息,指针域用于存储该元素的直接后继元素的位置。在ARMLinux中

【原创】Android-2.1如何通过Ethernet 上网

Android下能够使用板载的DM9000A上网,不过前提是设置好网络环境,主要是需要根据自己的网络情况修改dns、ip、gateway等,修改方式如下:1.首先是dns的添加。修改Android根文件系统中/init.rc脚本的内容,增加下面红色字体部分:#DefineTCPbuffersizesforvariousnetwork

【原创】基于6410的Android-2.1系统编译

6410以其处理速度和存储容量的优势在近年来得到飞速发展,今天我写一下如何对6410板子编译Android-2.1系统,我用的板子名称是ETC6410。具体分为如下几个步骤:1、我们在android-2.1源码下提供了一个编译脚本android_build.sh,这个脚本会自动编译android源码,并制作好

【原创】嵌入式Linux系统之系统服务

最近又接了个Linux相关的培训,把这个内容又重温一遍,其中对系统服务有了更深入的认识,与大家分享。INIT进程的一个重要作用就是启动Linux系统服务(也就是运行在后台的守护进程)。Linux的系统服务包括两种,第一种是独立运行的系统服务,它们常驻内存中,自开机后一

【原创】Linux系统Poll和select操作

学过linux的同学都知道,Poll和select操作非常重要,今天就简单写写这方面的内容。poll和select操作:进程中调用poll和select操来查询打开的I/O设备文件是否可做非阻塞读写驱动程序中unsignedint(*poll)(structfile*,poll_table*)来实现poll和select操作通过poll_wait可

【原创】Linux系统file_opration结构分析

file_opration操作在linux系统中非常多,今天给大家分析一下这个程序的原理。file_operations在内核中定义linux/fs.hstructfile_operations{structmodule*owner;loff_t(*llseek)(structfile*,loff_t,int);

【原创】Linux 文件系统移植全解密以linux-2.6.35内核源码为例说明一下IO静态映射的过程

最近不断有人跟我说起静态映射的问题,今天就以linux-2.6.35内核源码为例说明一下IO静态映射的过程(ARM平台)。//init/main.casmlinkagevoid__initstart_kernel(void){...setup_arch(&command_line);...}//arch/arm/ker

【原创】基于嵌入式系统的套接字高级编程

在实际情况中,人们往往遇到多个客户端连接服务器端的情况。这种情况下会涉及到阻塞函数,因此如果资源没有准备好,则调用该函数的进程将进入睡眠状态,这样就无法处理其他请求的情况了。今天我会给出两种解决I/O多路复用的解决方法,分别为:1、非阻塞访问(使用fcntl()

【原创】Linux 文件系统移植全解密

熟悉Linux文件系统目录结构,创建自己的文件系统,通过NFS方式集成测试,用文件系统生成ramdisk文件系统映象文件。环境:1、Ubuntu10.10发行版2、u-boot-2010.033、FS2410平台4、交叉编译器arm-none-linux-gnueabi-gcc-4.3.2【实验步骤】

【原创】 linux-2.6.22.6内核的编译和配置

今天用到了linux-2.6.22.6内核,不得不重新编译一遍,把这个过程写下来与大家分享。环境:1、Ubuntu10.10发行版2、u-boot-2010.033、FS2410平台4、交叉编译器arm-none-linux-gnueabi-gcc-4.3.2【实验步骤】1、将实验代码中的rootfs.tar.b

【原创】如何在Ubantu10.10系统上编写一个sbull驱动

最近尝试了一个好东西,今天给大家分享一下。主要实现在Ubantu10.10系统上编写一个sbull驱动,将一段ram空间模拟为disk使用。并在这个disk上建立文件系统。1、将文件夹blkdev-2.6.35复制到linux环境中,如:/home/linux/workdir/test2、编译linux@ubuntu:~/workdir/test

【原创】基于嵌入式系统的USB设备驱动实现

USB在嵌入式系统中的重要性不言而喻,今天就写写如何实现嵌入式系统的USB设备驱动。【实验平台】主机:Ubantu10.10目标板:fsc100目标内核版本:2.6.35【实验步骤】1、实验代码拷贝到ubuntu主机目录下,编译且加载2、目标板与pc用USB接口线连接,目标

【原创】配置UBUTNU启用帧缓存,设置开机进入文本模式

最近尝试了配置UBUTNU启用帧缓存。设置开机进入文本模式,把这个过程给大家写一下。(1)、修改启动菜单配置文件#vi/etc/default/grub修改GRUB_CMDLINE_LINUX_DEFAULT="quietsplash"为:GRUB_CMDLINE_LINUX_DEFAULT="quietsplashtextvga=0x311"注释:这里te

【原创】嵌入式系统中嵌套Makefile的编写

嵌入式系统中Makefile的作用不言而喻,下面我写一下嵌套Makefile的编写。实验环境】Ubuntu8.10发行版、gcc等工具我们要创建的目录结构如下:一、创建顶层目录我们首先在用户目录下创建一个makefileTest的文件夹:#cd/home/linux/&n