
嵌入式linux
CV码
学习、思考、沉淀
展开
-
USB请求块(URB)——框架及机制
USB请求块(URB)——框架及机制《Linux设备驱动开发详解》本书全面而详细地讲解了Linux设备驱动开发中涉及的理论以及多种设备驱动的框架。第20章主要讲解从主机侧角度看到的USB主机控制器驱动和设备驱动。本文写的是USB请求块(urb)。 1.urb结构体USB请求块(USB request block,urb)是USB设备驱动中用来描述与USB设备通信所用的基本载体和核心数据转载 2013-05-15 22:00:41 · 2831 阅读 · 0 评论 -
linux进程编程:子进程创建及执行函数简介
linux进程编程:子进程创建及执行函数简介 子进程创建及执行函数有三个:(1)fork();(2)exec();(3)system(); 下面分别做详细介绍。(1)fork() 函数定义: pid_t fork(); 函数说明: linux下进程在内存中由三部分数据组成:代码段、数据段、堆栈段。在一个进程中,调用原创 2013-06-05 11:05:55 · 2597 阅读 · 0 评论 -
uboot启动阶段修改启动参数方法及分析
详细分析了从不同位置启动arm的三个系统文件uboot/kernel/rootfs的方法,并说明uboot常用命令及对应参数的含义。供读者对应修改相关内容,以便系统从目标位置拷贝文件。原创 2013-07-11 12:53:48 · 17017 阅读 · 6 评论 -
linux最小根文件系统制作简介
使用busybox制作linux根文件系统步骤简介原创 2013-12-06 11:00:59 · 2409 阅读 · 0 评论 -
freescale i.MX6开发板device信息在linux内核中的位置
根据linux驱动设备模型,我们可以知道非热插拔设备的驱动在进行注册的时候实际上是在匹配driver和device的信息,信息匹配上了才会进入probe函数进行一些初始化工作。那么对于非热插拔设备,一般在系统添加驱动之前会把device信息静态的添加在内核中,这样driver注册时才能去内核中匹配时找到对应的device。比如,我们写一个i2c设备mma8451的驱动,该设备连接在i2c0上,属于原创 2013-07-29 13:53:07 · 2480 阅读 · 0 评论 -
v4l2-驱动编程指导
翻译了v4l2子系统作者Bill Dirks关于v4l2子系统内核层结构简述。翻译 2013-07-26 15:38:03 · 1316 阅读 · 0 评论 -
linux文件系统剖析-留存
本来想转载IBM开发社区里Tim的一篇文章,排版有问题,就不复制了,在此留个索引,以便自己查阅!看到的朋友也可到该地址阅读!声明:非标题党,为便于自己查找,在此留存!linux文件系统剖析:http://www.ibm.com/developerworks/cn/linux/l-linux-filesystem/作者简介:M. Tim Jones 是一名嵌入式软件工程师,他转载 2013-12-09 10:16:35 · 690 阅读 · 0 评论 -
linux驱动-i2c驱动架构-留存
声明:非标题党,为便于自己查找,在此留存!《linux驱动学习(八) i2c驱动架构(史上最全) davinc dm368 i2c驱动分析》:http://blog.youkuaiyun.com/ghostyu/article/details/8094049转载 2013-12-09 14:14:51 · 734 阅读 · 0 评论 -
linux内核启动流程分析
linux内核启动流程分析原创 2013-12-04 14:44:57 · 1284 阅读 · 0 评论 -
linux根文件系统-粗略分析学习笔记
linux根文件系统简要分析原创 2013-12-05 16:24:55 · 1207 阅读 · 0 评论 -
linux字符设备驱动-重新学习-笔记-2
linux驱动学习笔记原创 2013-12-12 10:56:48 · 1356 阅读 · 0 评论 -
linux字符设备驱动-重新学习-笔记-1
linux驱动学习笔记原创 2013-12-07 17:49:16 · 1435 阅读 · 0 评论 -
认识看门狗
嵌入式系统中看门狗概述。。。 转自http://blog.youkuaiyun.com/maopig/article/details/7173393一直以来对于嵌入式中的watch dog(看门狗)都比较陌生,一直都不知道它到底是做什么的,单从名字上看也不知其所以然,然后就在网上找到了一篇blog,就是再说看门狗的作用和概述,原文如下: 1、概述: WAT转载 2013-12-15 18:49:58 · 3099 阅读 · 0 评论 -
浅谈 Linux 内核开发之网络设备驱动
浅谈 Linux 内核开发之网络设备驱动赵 昊翔, 软件工程师, Cisco Systems赵昊翔,南京大学计算机系硕士毕业,目前从事嵌入式方面的开发工作,对 Linux 内核和计算机体系结构颇有兴趣。简介: 本文介绍了网络设备的基本概念,并从 Linux 内核的角度出发,介绍了网络设备驱动的开发方法和开发中的注意事项。发布日期: 2010 年 7 月 15转载 2013-06-18 17:29:57 · 1053 阅读 · 0 评论 -
Linux网络设备驱动概述
Linux网络设备驱动概述一、概述 Linux网络设备驱动程序遵循通用的接口,设计时采用的是面向对象的方法,一个设备就是一个对象(net_device结构)。一个网络设备最基本的方法有初始化、发送和接收等。 Linux网络设备驱动程序的体系结构可以分为四层:网络协议接口层、网络设备接口层、设备驱动功能层和网络设备与媒介层,如图转载 2013-06-18 21:54:45 · 1012 阅读 · 0 评论 -
linux内核中container_of详解
揭开linux内核中container_of的神秘面纱 在linux 内核中有一个大名鼎鼎的宏container_of(),这个宏是用来干嘛的呢?我们先来看看它在内核中是怎样定义的。呵呵,乍一看不知道是什么东东。我们先来分析一下container_of(ptr,type,member),这里面有ptr,type,member分别代表指针、类型、成员。看一个例子:Stru转载 2013-05-16 17:05:29 · 727 阅读 · 0 评论 -
linux驱动模块加载出错insmod: error inserting './usb_driver.ko': -1 Unknown symbol in module
今天开始调试usb驱动,第一步加载模块部分就开始报错。网上检索,有位朋友总结一些类似情况。本人遇到的恰好是第二种情况,以前不太注意,没出错也就不追究,这次遇到了就一并把一些情况在此记上一笔。转载如下:insmod: error inserting 'cmos_driver.ko' : -1 File exists 和 insmod: error inserting './cmos_driver转载 2013-05-18 16:38:32 · 2780 阅读 · 1 评论 -
Linux驱动中,probe函数何时被调用
【整理】Linux驱动中,probe函数何时被调用声明:以下主要内容参考自:关于struct device_driver结构中的probe探测函数的调用用SourceInsight跟踪:从driver_register看起,此处我的这里是:int driver_register(struct device_driver * drv){if ((drv->bus->p转载 2013-05-20 10:17:57 · 888 阅读 · 0 评论 -
linux驱动常用头文件简要说明
#include 是在linux-2.6.29/include/linux下面寻找源文件。#include 是在linux-2.6.29/arch/arm/include/asm下面寻找源文件。#include 是在linux-2.6.29/arch/arm/mach-s3c2410/include/mach下面寻找源文件。#include在linux-2.6.31_TX2440转载 2013-05-20 15:38:14 · 1026 阅读 · 0 评论 -
Linux SSH远程文件/目录传输命令scp
相信各位VPSer在使用VPS时会经常在不同VPS间互相备份数据或者转移数据,大部分情况下VPS上都已经安装了Nginx或者类似的web server,直接将要传输的文件放到web server的目录,然后在目标机器上执行:wget http://www.vpser.net/testfile.zip 就行了。当VPS上没有安装web server和ftp server的时候或感觉上面的方法比较麻烦转载 2013-05-21 11:29:40 · 875 阅读 · 0 评论 -
linux内核中Kconfig文档的作用
2.6内核的源码树目录下一般都会有两个文文:Kconfig和Makefile。分布在各目录下的Kconfig构成了一个分布式的内核配置数据库,每个Kconfig分别描述了所属目录源文件相关的内核配置菜单。在内核配置make menuconfig(或xconfig等)时,从Kconfig中读出配置菜单,用户配置完后保存到.config(在顶层目录下生成)中。在内核编译时,主Makefile调用这个.转载 2013-05-13 11:49:08 · 644 阅读 · 0 评论 -
Linux 内核剖析
Linux 内核剖析历史和体系结构分析M. Tim Jones, 顾问工程师, Emulex简介: Linux® 内核是一个庞大而复杂的操作系统的核心,不过尽管庞大,但是却采用子系统和分层的概念很好地进行了组织。在本文中,您将探索 Linux 内核的总体结构,并学习一些主要的子系统和核心接口。您还可以通过其他 IBM 文章的链接更深入地进行学习。由于本文的目标是对 Linux 内核转载 2013-05-14 23:43:24 · 764 阅读 · 0 评论 -
Freescale i.MX系列ARM新板开发系统移植串口修改
Freescale i.MX系列ARM新板开发系统移植串口修改 本项目以freescale最新开发板mx6q_sabresd(CPU为Cortex-A9)为基础进行系统开发。新板中DDR3及网络芯片等主要设备接口等基本与开发板设计类似,新增了FPGA连接到ARM上,更改了串口等。本文主要记录串口的更改,导致系统移植过程中,源代码的修改问题。开发板上使用是串口1,项目新板改为串口2原创 2013-05-31 00:32:37 · 6682 阅读 · 0 评论 -
sd卡烧写嵌入式uboot/kernel及rootfs
将嵌入式系统文件烧写到sd卡 向sd卡烧写系统文件,使用几个命令即可。使用读卡器将sd卡连接到linux主机。 先介绍烧写文件系统。首先,使用如下命令:$ cat /proc/partitions 可以看到系统下的存储设备及其分区。在root用户下,通过命令:$ fdisk /dev/sdb 进入分区命令模式,按照原创 2013-06-03 10:37:33 · 5832 阅读 · 0 评论 -
linux下对进程与线程基本操作常用命令
linux下对进程与线程基本操作常用命令1、ps命令功能:进程状态查询语法:ps [选项]常用选项:-a:显示所有用户进程2、kill命令功能:发送信号、终止进程语法:kill [选项] [进程号]常用选项:-s:指定发送的信号-l:信号的名称列表-n:指定信号编号[-signalname]:包含信号名称前缀SIG的信号名3、ipcs命令原创 2013-06-04 16:22:50 · 2001 阅读 · 0 评论 -
linux下关于进程、线程及信号编程的所有头文件说简要明
#include //标准输入输出#include //标准库函数#include //文件系统用函数open,write等#include //各类等待函数#include //errno变量定义#include //用于原创 2013-06-03 17:27:34 · 1986 阅读 · 0 评论 -
linux内核学习经典书籍及网络资源推荐
待到山花烂漫时,还是那些经典在微笑。 有关内核的书籍可以用汗牛充栋来形容,不过只有一些经典的神作经住了考验。首先是5本久经考验的神作(个人概括为“2+1+2”,第一个2是指2本全面讲 解内核的书,中间的1指1本讲解驱动开发的书,后面的2则指2本有关内核具体子系统的书,你是否想到了某某广告里三个人突然站起单臂齐举高呼“1比1比1”的场景?)。 《Linux内核设计与实现》转载 2013-05-14 23:07:43 · 1095 阅读 · 0 评论 -
nfs挂载文件系统设置及使用
在烧写了 u-boot 之后,为了减少烧写根文件系统、调试程序之痛苦,本文档介绍如何通过 tftp 下载内核,nfs 服务挂接根文件系统启动系统,不用每次都烧到开发板上。一、NFS 服务挂载根文件系统1、Linux 服务器端 NFS 服务器的配置以 root 身份登陆 Linux 服务器,编辑/etc 目录下的共享目录配置文件 exports,指定共享目录及权限等。执行如下命令编辑文件原创 2013-06-09 13:59:33 · 3752 阅读 · 0 评论 -
ARM底层学习笔记-裸板实验程序解析-点亮LED
通过简单的裸板实验程序的书写,分析和学习嵌入式开发底层操作,以深入理解嵌入式系统及其开发原创 2013-12-15 19:07:11 · 4272 阅读 · 0 评论