- 博客(16)
- 收藏
- 关注
转载 mx27的DMA驱动
<br />关于mx27 DMA 驱动<br /><br />我们先来看一下涉及的数据结构:<br />/*! This defines the DMA channel parameters */<br />typedefstruct mxc_dma_channel {<br /> unsignedint active:1; /*!< When there has a active tranfer, it is set to 1 */<br /> unsignedint lock;
2010-07-28 10:10:00 611
转载 mx27中断
<br />关于MX27中断系统:<br /><br />这个文档没有涉及到中断向量初始化的内容,而是这之后的纯软件上的架构分析,至于中断向量初始化及系统从用户模式或系统模式下进入中断的一系列流程将会在另外一篇文档中讲述,如果有可能的话我会将这两部分合成一个文档。<br /><br />初始化流程:<br />首先,在arch/arm/mach-mx27/mx27mdk27v0.c中有关于machine的描述:<br />/*<br /> * The following uses standard kern
2010-07-28 10:03:00 2770
转载 关于v4l2驱动的实现
<br />http://blog.chinaunix.net/u3/115052/showart_2249762.html<br />Video for linux 2驱动分为两层:<br /> VIDEO CORE LAYER(videodev.c)<br />---------------------------------<br /> video heardward layer(such as mxc_v4l2_capture.c)<br />上一层文件是videodev.c,这个文件其
2010-07-28 09:41:00 3117
转载 解析大端模式和小端模式
<br />一、概念及详解<br />在各种体系的计算机中通常采用的字节存储机制主要有两种: big-endian和little-endian,即大端模式和小端模式。<br />先回顾两个关键词,MSB和LSB:<br />MSB:Most Significant Bit ------- 最高有效位<br /> LSB:Least Significant Bit ------- 最低有效位<br />大端模式(big-edian)<br />big-endian:MSB存放在最低端的地址上。<
2010-07-27 14:33:00 270
转载 U-BOOT与内核之间的参数传递(二)
在嵌入式系统中,BootLoader 是用来初始化硬件,加载内核,传递参数。因为嵌入式系统的硬件环境各不相同,所以嵌入式系统的BootLoader 也各不相同,其中比较通用的是U-Boot,它支持不同的体系结构,如ARM,PowerPC,X86,MIPS 等。本文着重介BootLoader与内核之间参数传递这一基本功能。本文的硬件平台是基于AT91RM9200 处理器系统,软件平台是Linux-2.6.19.2 内核。内核映像文件为zImage。1. 系统硬件平台简介AT91RM9200 处理器,它是由At
2010-07-27 14:23:00 976
转载 U-BOOT与内核之间的参数传递(一)
最近在做一个项目,用到了nandboot,但并没有完善网络部分的驱动只实现了串口功能,所以在传递参数时只能将参数写入内核。但自己对bootlloader与内核之间是如何进行传递的并不是很清楚,借此在网上查了下资料,学习下。 在2.4(具体哪个版本记不清了)以后的Linux内核中引入了一种新的向内核传递参数的方法tag标记。内核参数通过一个静态的tag链表在启动的时候传递到内核。每个tag的结构为 +-----------+ tag_
2010-07-27 12:00:00 1188
原创 linux的NFS详细配置方法
网络文件系统(NFS,Network File System)是一种将远程主机上的分区(目录)经网络挂载到本地系统的一种机制,通过对网络文件系统的支持,用户可以在本地系统上像操作本地分区一样来对远程主机的共享分区(目录)进行操作。 在嵌入式Linux 的开发过程中,开发者需要在Linux 服务器上进行所有的软件开发,交叉编译后,通用FTP 方式将可执行文件下载到嵌入式系统运行,但这种方式不但效率低下,且无法实现在线的调试。因此,可以通过建操作Linux 服务器,同时可以在线对程序进行调试和修改,大大的方便了
2010-07-26 14:29:00 27044
转载 内核中Kconfig的配置方法
<br />2.6内核的源码树目录下一般都会有两个文件:Kconfig和Makefile。分布在各目录下的Kconfig构成了一个分布式的内核配置数据库,每个Kconfig分别描述了所属目录源文件相关的内核配置菜单。在内核配置make menuconfig(或xconfig等)时,从Kconfig中读出配置菜单,用户配置完后保存到.config(在顶层目录下生成)中。在内核编译时,主Makefile调用这个.config,就知道了用户对内核的配置情况。<br />上面的内容说明:Kconfig就是对应着内核
2010-07-22 16:46:00 911
原创 linux交叉编译配置和文件系统配置
1. 在redhat系统的profile文件中,有如下内容:#path manipulationif [`id -u` = 0];then pathmunge /sbin pathmunge /usr/sbin pathmunge /usr/local/sbin# pathmunge /opt/EmbedSky/crosstool_3.4.5/gcc-3.4.5-glibc-2.3.6/arm-linux/bin pathmunge /pot/Embed
2010-07-21 20:03:00 441
转载 制作yaffs2文件系统
<br /><br />准备工具1:mkyaffs2image<br />用途:用来制作目标文件系统映像。<br />工具2:busybox<br />用途:生成目标文件系统。网上有对它的介绍。<br />以上工具均来自友善之臂http://www.arm9.net/download.asp。交叉编译工具arm-linux-gcc4.3.2。(在此衷心感谢资源、资料提供者)<br />制作过程:<br />选定 busybox-1.13.3.tgz这个版本, 以静态方式编译, 即生成的 busybox 不需
2010-07-21 18:59:00 566
转载 vi常用命令
1、移动光标H移到屏幕的左上角L移到屏幕的最后一行 [ 移到文件开始位置 (双击)]移到文件结束位置(双击):n 移到文件的第n行 0 把光标移到当前行的第一个字符处$ 把光标移到当前行的最后一个字符处2、修改内容dd 删除当前行nx 删除由光标位置起始的n个字符(含光标位置,按一个x表示删除光标所在的字符ndw 删除光标位置其实的n个字符组(dw删除光标所在的单
2010-07-21 10:00:00 225
原创 配置tftp服务
<br />嵌入式linux的tftp开发 环境包括两个方面:一是嵌入式linux宿主机的 tftp-server支持,二是嵌入式linux目标机的tftp-client支持。因为u-boot本身内置支持tftp-client,所以嵌入 式目标机就不用配置了。下面就详细介绍一下linux宿主机tftp-server的安装配置。<br />(1)安装<br /> SuSE Linux使用自己带的YaST进行软件包的安装,具体安装方法不在介绍。<br />(2)修改文件<br /> 在
2010-07-19 17:18:00 226
转载 Linux内核访问外设I/O资源的方式
我们知道默认外设I/O资源是不在Linux内核空间中的(如sram或硬件接口寄存器等),若需要访问该外设I/O资源,必须先将其地址映射到内核空间中来,然后才能在内核空间中访问它。 Linux内核访问外设I/O内存资源的方式有两种:动态映射(ioremap)和静态映射(map_desc)。 一、动态映射(ioremap)方式 动态映射方式是大家使用了比较多的,也比较简单。即直接通过内核提供的ioremap函数动态创建一段外设I/O内存资源到内核虚拟地址的映射表,从而可以在内核空间中访问这段I/O资源
2010-07-16 21:03:00 201
转载 深入分析 Linux 内核链表
本文详细分析了 2.6.x 内核中链表结构的实现,并通过实例对每个链表操作接口进行了详尽的讲解。<br />一、 链表数据结构简介<br />链表是一种常用的组织有序数据的数据结构,它通过指针将一系列数据节点连接成一条数据链,是线性表的一种重要实现方式。相对于数组,链表具有更好的动态性,建立链表时无需预先知道数据总量,可以随机分配空间,可以高效地在链表中的任意位置实时插入或删除数据。链表的开销主要是访问的顺序性和组织链的空间损失。<br />通常链表数据结构至少应包含两个域:数据域和指针域,数据域用于存储数
2010-07-16 11:37:00 224
转载 2.6.18内核和2.6.25以后内核remap_pfn_range()对kmalloc()到的区别
对于2.6.25以上内核,直接调用vma->vm_flags |= VM_SHARED | VM_RESERVED;io_remap_pfn_range(vma, vma->vm_start, phy_addr >> PAGE_SHIFT, vma->vm_end - vma->vm_start, vma->vm_page_prot);但是2.6.18内核就必须按照下面的步骤来完成映射[luther.gliethtttp].对于2.6.18内核使用如下方法的驱动实例可以参考2
2010-07-15 19:38:00 3351 1
原创 笔记
1. H-Flasher在对flash心片进行配置时,烧写地址一般参考心片手册2. 在linux启动脚本中,一般会用hwclock -s来进行rtc与系统时间的同步。rtc为实时时钟芯片3. /etc/init.d/rcS为系统的启动脚本,加载模块、进行初始化等/etc/rc.d/init.d/leds /etc/rc.d/init.d/netd分别为针对led和网卡的初始化脚本4. 在linux驱动的ioctl函数中存在一下选项#define VPU_IOC_PHYMEM_ALLOC _IO(VP
2010-07-15 19:09:00 330
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人