snifer

【原创】嵌入式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

【原创】嵌入式GDB调试工具的原理及教程

在嵌入式系统中经常会用到GDB调试工具,今天我就通过一个实例说明这个工具的原理及应用。【实验平台】带有Linux操作系统的PC机。1、使用vi编辑器,将以下代码输入到名为greet.c的文件中。此代码的原意为输出倒序输出main函数中定义的字符串,但结果显示没有输出。#inclu

【原创】基于嵌入式系统的模块化编程的拓展

前面介绍了如何进行模块化编程,下面我写一写模块化编程的拓展,在上一个教程的基础上,加入module_init、module_exit的支持,加载模块,观察结果。/**hello.c**Simplehelloworld2.6drivermodulewithmodule_init,module_exit**Thisprogra

【原创】基于嵌入式系统的模块化编程体验

寒假很忙,今天给一个单位做了一个讲座,探讨了在嵌入式系统中模块化编程的研究,下面我就写写这个简单的项目。这个项目就是要编写一个最基本的模块,加载模块,观察结果。从而掌握模块的基本要素及加载、卸载、查看工具的使用。主机:Ubuntu10.10。编写程序:/**

【原创】基于嵌入式的WDT驱动编写及测试

今天写一下如何编写一个字符驱动程序操作目标板的LED的亮灭。平台还是熟悉的:主机:Ubuntu10.10目标机:FS_S5PC100目标机内核版本:2.6.35交叉编译器版