Linux
文章平均质量分 76
zhengmeifu
嵌入式系统开发工程师
展开
-
S3C2440 linux2.6.31移植总结
详细参见:内核LINUX-2.6.31移植手册 2010-07-30内核版本: Linux-2.6.31 交叉编译器版本: arm-linux-gcc 4.1.2 操作系统平台: Linux -- Red Hat 9.0 开发板平台: Arm -- 2440一> 准备移植 获得内核源码: Linux-2.6.31.tar.bz2也转载 2012-07-04 17:51:48 · 2752 阅读 · 0 评论 -
LED灯显示字符驱动程序-linux2.6LED显示驱动
/**************************************************************** Copyright(c) 2009-2010,Newkoom Net Tech.Co,.Ltd 模块名称(Filename): led_s3c2410.c 项目名称(Projectname):原创 2009-10-13 14:51:00 · 1961 阅读 · 0 评论 -
Linux的内核软中断(softirq)执行分析
本文对 Linux 内核软中断的执行流程进行了分析,并尽可能的结合当前运行环境详细地写出我的理解,但这并不表明我的理解一定正确。这本是论坛里的一篇帖子,发出来是为了抛砖引玉,如果您在阅读本文时发现了我的错误,还望得到您的指正。 今天无意中看了眼 2.6 内核的软中断实现,发现和以前我看到的大不相同(以前也是走马观花,不大仔细),可以说改动很大。连 softirq 的调用点都不一样了,以前是转载 2011-01-08 20:12:00 · 1219 阅读 · 0 评论 -
Linux2.6键盘驱动汇总:中断方式驱动/扫描方式驱动
本人蹩作,还望高手们多指出缺点!以下是我的原代码,若有兴趣的朋友们,联系交流!QQ:26451602/**************************************************************** Copyright(c) 2009-2010,Newkoom Net Tech.Co,.Ltd 模块名称(Filename):原创 2009-10-27 14:37:00 · 2110 阅读 · 5 评论 -
linux2.6高级串口编程
This chapter covers advanced serial programming techniques using the ioctl(2) and select(2) system calls.Serial Port IOCTLsIn Chapter 2, Configuring the Serial Port we used the tcgetattr and t转载 2009-12-31 09:03:00 · 2208 阅读 · 0 评论 -
Git 使用指南
Git 是什么非常简单地说,Git 是一个快速、可扩展的分布式版本控制系统,它具有极为丰富的命令集,对内部系统提供了高级操作和完全访问。所谓版本控制系统(VersionControl System),从狭义上来说,它是软件项目开发过程中用于储存我们所写的代码所有修订版本的软件,但事实上我们可以将任何对项目有帮助的文档交付版本控制系统进行管理。2005 年,Torvalds原创 2011-01-08 19:57:00 · 1161 阅读 · 0 评论 -
Android jogball 驱动分析
原文:http://cyher.net/gnulinux/android/android-driver-jogball1 简介JogBall是首款Android手机-HTC Dream上附带的类似轨迹球Trackball的滑轮,通过Jogball用户可以轻松的实现网页的翻页、地图翻转等操作,这种在手机上增加轨迹球的方式可以取消传统的4维导航键,Jogball并非HTC公司的首例,早在HTC转载 2010-11-10 14:20:00 · 989 阅读 · 0 评论 -
Linux 2.6 menuconfig内核编译配置选项详解
Code maturity level options代码成熟度选项Prompt for development and/or incomplete code/drivers 显示尚在开发中或尚未完成的代码与驱动.除非你是测试人员或者开发者,否则请勿选择 General setup常规设置Local version - append to kernel re原创 2012-07-02 14:10:12 · 10914 阅读 · 0 评论 -
android4.0下的linux3.0的变化
Linux Kernel for Android 4.0--- 初稿 2011-11-251. android 4.0 system be released2011-10-19上午10点,google发布了代号为Ice Cream Sandwich(简称ICS,冰淇淋三明治)的android4.0系统。十大特性:…4)、 同步升级Linux内核 更新3.0以上版本…2.原创 2012-07-17 11:49:39 · 2790 阅读 · 0 评论 -
Linux下Socket编程
网络的Socket数据传输是一种特殊的I/O,Socket也是一种文件描述符。Socket也具有一个类似于打开文件的函数调用Socket(),该函数返回一个整型的Socket描述符,随后的连接建立、数据传输等操作都是通过该Socket实现的。什么是Socket Socket接口是TCP/IP网络的API,Socket接口定义了许多函数或例程,程序员可以用它们来开发TCP/IP网络原创 2012-09-05 14:18:05 · 1398 阅读 · 0 评论 -
S3C2440上LCD驱动 (FrameBuffer)实例开发讲解
一、开发环境主 机:VMWare--Fedora 9开发板:Mini2440--64MB Nand, Kernel:2.6.30.4编译器:arm-linux-gcc-4.3.2二、背景知识1. LCD工作的硬件需求: 要使一块LCD正常的显示文字或图像,不仅需要LCD驱动器,而且还需要相应的LCD控制器。在通常情况下,生产厂商把LCD驱动器会以C转载 2012-09-13 17:25:32 · 1442 阅读 · 0 评论 -
S5PC100平台上Linux Camera驱动开发详解
说明: 理解摄像头驱动需要四个前提: 1)摄像头基本的工作原理和S5PC100集成的Camera控制器的工作原理 2)platform_device和platform_driver工作原理 3)Linux内核V4L2驱动架构 4)Linux内核I2C驱动架构1. 摄像头工作原理OV9650/965转载 2012-09-13 09:38:43 · 2960 阅读 · 0 评论 -
基于FS2410的SDIO WIFI驱动移植
一、SDIO 设备驱动移植(1)修改SD卡驱动使内核支持SD卡 修改文件:arch/arm/mach-s3c2410/mach-smdk2410.c static struct platform_device *smdk2410_devices[] __initdata = { &s3c_device_ohci, &s3c_device_lcd, &s3c_device_w转载 2012-09-20 09:07:33 · 2272 阅读 · 0 评论 -
V4L2应用程序框架
V4L2是V4L的升级版本,为linux下视频设备程序提供了一套接口规范。包括一套数据结构和底层V4L2驱动接口。1、常用的结构体在内核目录include/linux/videodev2.h中定义 struct v4l2_requestbuffers //申请帧缓冲,对应命令VIDIOC_REQBUFS struct v4l2_capability转载 2012-11-07 17:27:12 · 1282 阅读 · 0 评论 -
Linux2.6 内核的Initrd机制解析
简介: Linux 的 initrd 技术是一个非常普遍使用的机制,linux2.6 内核的 initrd 的文件格式由原来的文件系统镜像文件转变成了 cpio 格式,变化不仅反映在文件格式上, linux 内核对这两种格式的 initrd 的处理有着截然的不同。本文首先介绍了什么是 initrd 技术,然后分别介绍了 Linux2.4 内核和 2.6 内核的 initrd 的处理流程。最后通过对转载 2013-08-22 12:52:32 · 2967 阅读 · 0 评论 -
linux内核启动ramdisk根文件系统的过程分析
先转载别人的文章,然后提出我的问题:内核编译链接过程是依靠vmlinux.lds文件,以arm为例vmlinux.lds文件位于kernel/arch/arm/vmlinux.lds,vmlinux-armv.lds的生成过程在kernel/arch/arm/Makefile中ifeq ($(CONFIG_CPU_32),y)PROCESSOR = armvTEXTADDR = 0原创 2013-08-22 11:27:15 · 7716 阅读 · 0 评论 -
linux常用命令日记
patch -p1 -i ./p1/samsung_android_platform_ics.patch打补丁到当前目录下sudo passwd root更改ubuntu系统里的root用户密码 cp out/lib/* ../android_froyo/out/target/product/smdkv210/system/lib/ -a拷贝文件加-a选项才能拷贝软符号链接文原创 2012-06-26 12:41:30 · 2205 阅读 · 0 评论 -
vi常用命令
经常忘记编辑命令,在此列出,以备查询:)• ★命令模式 o 移动光标 h 或 向左方向键(←) → 光标向左移动一个字元 j 或 向下方向鍵(↓) → 光标向下移动一个字元 k 或 向上方向鍵(↑) → 光标向上移动一个字元 l 或 向右方向鍵(→) → 光标向右移动一个字元 [Ctrl] + [f] → 屏幕『向下』移动一页,相当于 [Page D原创 2009-12-31 09:36:00 · 1097 阅读 · 0 评论 -
linux程序员面试题目
一.填空题:1. 在Linux系统中,以文件方式访问设备 。2. Linux内核引导时,从文件/etc/fstab中读取要加载的文件系统。3. Linux文件系统中每个文件用i节点来标识。4. 全部磁盘块由四个部分组成,分别为引导块 、专用块 、 i节点表块 和存储块数据。5. 链接分为:硬链接 和 符号链接。6. 超级块包含了i节点表 和 空闲块表等重要的文件系统信息转载 2010-01-04 14:46:00 · 2791 阅读 · 0 评论 -
linux应用程序:键盘双击与长按识别及串口通讯
以下程序是结合我的驱动编写的应用层程序,双击,单击,长按都能正确识别,效果很好,不知有哪位大侠有更好的结构和算法程序?想借此抛砖引玉,也愿高手们修改指正!QQ:26451602./*读取键值,控制LED灯亮。0x80-0x85:灭1-6号灯。0x00-0x05:点亮1-6号灯。键值:1-6.修改记录: 2009-10-26: 依据阿潘要求,改为刚按下/按住/释放都要给应用层信号原创 2009-11-19 08:58:00 · 4268 阅读 · 1 评论 -
Linux下的shell与make
一、shell1.1 什么是shell● 用户与Linux的接口● 命令解释器● 支持多用户● 支持复杂的编程语言● Shell有很多种,如:csh,tcsh,pdksh,ash,sash,zsh,bash等。Linux的缺省Shell为bash(Bourne Again Shell)。Shell是用户和操作系统之间最主要接口。通过Shell,可以同时在后台运行多个原创 2012-07-07 14:50:39 · 1197 阅读 · 0 评论 -
跟我一起写Makefile(详细)
概述——什么是makefile?或许很多Winodws的程序员都不知道这个东西,因为那些Windows的IDE都为你做了这个工作,但我觉得要作一个好的和professional的程序员,makefile还是要懂。这就好像现在有这么多的HTML的编辑器,但如果你想成为一个专业人士,你还是要了解HTML的标识的含义。特别在Unix下的软件编译,你就不能不自己写makefile了,会不会写mak原创 2012-07-07 15:00:39 · 1500 阅读 · 3 评论 -
linux文件安全策略
以下对linux文件安全策略做一下总结,常读有益提高英文水平,呵呵。 Permissions(权限)The effect of setting the permissions on a directory (rather than a file) is "one of the most frequently misunderstood file permission issues" (Ha翻译 2010-01-04 15:16:00 · 1813 阅读 · 0 评论 -
linux2.6.14.1下蜂鸣器驱动程序
本驱动程序经过测试,证明运行良好,下面附有驱动原码和测试程序,若有哪位引用了我的驱动,请注明出处。谢谢!/**************************************************************** Copyright(c) 2009-2010,Newkoom Net Tech.Co,.Ltd 模块名称(Filename):原创 2009-12-14 11:16:00 · 5485 阅读 · 2 评论 -
串口通讯-按键识别-ping程序-我的linux应用程序
我的linux2.6系统下C++应用程序:功能:串口通讯-按键识别-ping程序-软件定时器,在此贴出下载链接,以备继续改进。/Files/zhengmeifu/powercontrol_kbd_led.rar里面含有原代码和makefile文件。原创 2012-03-05 15:57:13 · 1273 阅读 · 0 评论 -
linux 驱动程序 tasklet 笔记
Tasklet机制是一种较为特殊的软中断。Tasklet一词的原意是“小片任务”的意思,这里是指一小段可执行的代码,且通常以函数的形式出现。软中断向量HI_SOFTIRQ和TASKLET_SOFTIRQ均是用tasklet机制来实现的。从某种程度上讲,tasklet机制是Linux内核对BH机制的一种扩展。在2.4内核引入了softirq机制后,原有的BH机制正是通过tasklet机制这个桥梁转载 2011-01-08 20:22:00 · 1211 阅读 · 0 评论 -
linuxrc文件,rc.local文件,rcS文件,我的根文件系统启动脚本文件
我的根文件系统启动脚本文件,在此列出,以备查询。[root@zmf26 rootfs]# cat etc/init.d/linuxrc #!/bin/ashecho "------next to run /linuxrc"/bin/mount -f -t cramfs -o remount,ro /dev/mtdblock/3 //bin/mount -t tmpfs tmpf原创 2010-01-04 11:28:00 · 4346 阅读 · 0 评论 -
基于S3C2410(ARM9)的Linux2.6.14.1系统全线移植文档
基于S3C2410(ARM9)的Linux2.6.14.1系统全线移植文档(可以下载),里面包括了u-boot移植,FTP,NFS,Telnet等移植方法,很不错。希望对喜欢嵌入式系统开发的朋友有用。:)在这里也会陆续把我的移植经验贴出来,一起分享。原创 2012-03-05 15:17:41 · 1245 阅读 · 0 评论 -
linux内核模块编程
一、linux内核模块简介 linux内核整体结构非常庞大,其包含的组件也非常多。我们怎么把需要的部分都包含在内核中呢? 一种办法是把所有的需要的功能都编译到内核中。这会导致两个问题,一是生成的内核会很大,二是如果我们要在现有的内核中新增或删除功能,不得不重新编译内核,工作效率会非常的低,同时如果编译的模块不是很完善,很有可能会造成内核崩溃。 linux提供了另一原创 2012-06-21 12:38:48 · 1561 阅读 · 1 评论 -
linux下的USB HUB驱动
一:前言继UHCI的驱动之后,我们对USB Control的运作有了一定的了解.在接下来的分析中,我们对USB设备的驱动做一个全面的分析,我们先从HUB的驱动说起.关于HUB,usb2.0 spec上有详细的定义,基于这部份的代码位于linux-2.6.25/drivers/usb/core下,也就是说,这部份代码是位于core下,和具体设备是无关的,因为各厂商的hub都是按照spec的要求来原创 2012-06-23 16:07:57 · 7946 阅读 · 0 评论 -
如何实现USB自动挂载?
我的问题:USB驱动都正常,USB插入和拔出也能正常识别.可是就是不能自动mount到/data/usb下,网上查了很多,贴出如下,可是都不适合我,我系统没有装udev,哪位大侠能帮帮我,如何实现USB自动挂载?方法1:http://linux.chinaunix.net/bbs/archiver/?tid-1025201.html 方法2:http://blog.chinaunix.原创 2009-09-10 14:31:00 · 9064 阅读 · 2 评论 -
详解Linux2.6内核中基于platform机制的驱动模型
【摘要】本文以Linux 2.6.25 内核为例,分析了基于platform总线的驱动模型。首先介绍了Platform总线的基本概念,接着介绍了platform device和platform driver的定义和加载过程,分析了其与基类device 和driver的派生关系及在此过程中面向对象的设计思想。最后以ARM S3C2440中I2C控制器为例介绍了基于platform总线的驱动开发流程。转载 2011-01-08 19:34:00 · 2455 阅读 · 3 评论 -
linux2.6下的GNU C __attribute__ 机制简介
摘要:在学习linux内核代码及一些开源软件的源码(如:DirectFB),经常可以看到有关__attribute__的相关使用。本文结合自己的学习经历,较为详细的介绍了__attribute__相关语法及其使用。GNU C的一大特色(却不被初学者所知)就是__attribute__机制。__attribute__可以设置函数属性(Function Attribute)、变量属性(Va原创 2012-03-05 15:22:57 · 1523 阅读 · 0 评论 -
linux2.6.32内核Suspend流程
Suspend流程参考linux2.6.32Suspend锁流程Suspend&resume流程具体看main.c(kernel/power);上层通过属性节点写命令,最终会调到此文件中的state_store函数。state_store(){ request_suspend_state();}request_suspend_state()@ kern原创 2011-01-08 19:48:00 · 4809 阅读 · 0 评论 -
linux内核的配置机制及其编译过程。
linux内核的配置机制及其编译过程。一、配置系统的基本结构Linux内核的配置系统由三个部分组成,分别是: 1、Makefile:分布在 Linux 内核源代码根目录及各层目录中,定义 Linux 内核的编译规则; 2、配置文件(config.in(2.4内核,2.6内核)):给用户提供配置选择的功能; 3、配置工具:包括配置命令解释器(对原创 2012-06-21 11:16:39 · 8962 阅读 · 1 评论 -
LCD驱动-linux2.6系统
我的LCD驱动,列出原码,供探讨改进!#include "Config.h"#include "IO.h"#include "Glob.h" #include "MyClib.h"#include "LCD_Define.h"#include "Logo.h"#include void LCD_CmdWrite(Uchar cmdReg, Uchar cmdD原创 2010-01-11 18:37:00 · 1345 阅读 · 0 评论