Linux底层驱动
lahnet
这个作者很懒,什么都没留下…
展开
-
Jtag和ARM仿真器总结
JTAG(Joint Test Action Group,联合测试行动小组)是1985 年制定的检测PCB 测试的一个标准, 在1990 年被修改后成为IEEE 的一个标准, 即IEEE1149.1-1990。IEEE 1149.1 标准就是由JTAG 这个组织最初提出的,最终由IEEE 批准并且标准化的。所以,这个IEEE 1149.1 这个标准一般也俗称JTAG 调试标准。通常所说的JTAG大致分两类,一类用于测试芯片的电气特性,检测芯片是否有问题;一类用于Debug;一般支持JTAG的CPU内都包含了转载 2011-05-13 08:55:00 · 1691 阅读 · 0 评论 -
ARMCHIP 体系架构介绍
ARMCHIP主频454MHz片上的RAM 32KBytes,片上的ROM 64KBytesEMI->DDRGPMI->NAND1、总线AHB总线分为三个层次AHB1:指令总线AHB2:数据总线AHB3:连接APB的总线APB2、片上的ROM:片上ROM包含freescale写的初始化代码,用来处理初始的boot和硬件初始化。ROM中的这个软件提供很多的原创 2011-06-24 15:03:00 · 644 阅读 · 0 评论 -
Uboot 体系架构移植步骤
移植到u-boot-1.1.4安装交叉编译工具:u-boot-1.1.4版本比较老,交叉编译工具使用eldk4.0,这个工具真的很强悍,uboot旧的新的版本,都能搞定。ELDK(Embedded Linux Development Kit)是德国DENX软件工程公司推出的嵌入式Linux开发套件,而DENX公司的CEO就是大名鼎鼎的u-boot的维护人Wolfgang Denk。从E原创 2011-06-26 17:26:00 · 2084 阅读 · 0 评论 -
uboot PHYCHIP网卡驱动模型
UBOOT的PHYCHIP配置PHYCHIP的配置位于 include/configs/XXX_config.h中#define CONFIG_YYY_ETH#define CONFIG_YYY_ETH_SPI_BUS 0#define CONFIG_YYY_ETH_SPI_CS 0代码流程Uboot下PHYCHIP的驱动代码由一些函数构成,这些函数包含在文件PHYCHIP原创 2011-06-22 17:18:00 · 3028 阅读 · 0 评论 -
imx芯片 uboot和linux 的启动和烧录
imx芯片启动和烧录根据选择的启动模式,到相应的接口引导。imx芯片自带一个声称stream boot的工具,能够生成两种stream,分别是直接启动linux的stream和直接启动boot的两种工具。我们根据原厂给的源码包,编译好uboot和Linux的zImage之后。如果我们直接启动linux,用原厂的Linux Stream直接启动Linux,步骤如下:1、利用imx原创 2011-06-14 15:35:00 · 1419 阅读 · 0 评论 -
Linux 交叉编译 module 范本
hello.c#include #include MODULE_LICENSE("DUal BSD/GPL");static int hello_init(void){ printk(KERN_ALERT "Hello,world/n"); return 0;}static void hello_exit(void){ printk(KERN_ALERT "Goodbye, crue原创 2011-06-11 21:41:00 · 481 阅读 · 0 评论 -
VFS以及proc文件系统
一 VFS分析 Linux 操作系统支持多种不同的文件系统,包括 ext2(the Second Extended file-system),nfs(the Network File-system),FAT(the MS-DOS File Allocation Table file system),minix,以及其他许多文件系统。为了使得 linux 内核中的高层子系统能够以相同的方式处理这些不转载 2011-06-04 20:25:00 · 1562 阅读 · 0 评论 -
proc文件系统
proc文件系统是一个伪文件系统,它只存在内存当中,而不占用外存空间。它以文件系统的方式为访问系统内核数据的操作提供接口。用户和应用程序可以通过proc得到系统的信息,并可以改变内核的某些参数。由于系统的信息,如进程,是动态改变的,所以用户或应用程序读取proc文件时,proc文件系统是动态从系统内核读出所需信息并提交的。它的目录结构如下: 目录名称 目录内容 apm转载 2011-06-04 19:11:00 · 385 阅读 · 0 评论 -
用ADS实现在ram中启动uboot
关闭了cpu_init_crit,见说明: /* * we do sys-critical inits only at reboot, * not when booting from ram! */保留lowlevel_init,因为其中我修改了uart驱动;关闭uboot reloate,见说明: /* when we already run in ram, we don't need to relocate U-Boot. * and a原创 2011-05-29 16:49:00 · 1343 阅读 · 0 评论 -
MMU&TLB
<br />MMU是虚拟地址到物理地址的一种转换机制。大部分CPU都支持虚拟地址,当然也有一些没有虚拟地址的CPU。TLB是虚拟地址到物理地址映射表的一个缓存,一个高速的cache,用于快速实现地址转换。完整的映射表在内存里面,CPU会把最近访问的映射表的一部分放到TLB里面。TLB是和CPU在一起的,所以访问速度高。TLB可以自动更新,也可以手动更新。<br />MMU的定义在这里: http://en.wikipedia.org/wiki/Memory_management_unit.原创 2011-05-21 10:25:00 · 1158 阅读 · 0 评论 -
使用AXD调试S3C6410 u-boot
S3C6410开发时使用:前端软件(ADS)+仿真器(JLink)的方式。现有的仿真器有:wiggle、Muti-IDE、uLink、Jlink,S3C6410选择功能强劲的JLink。仿真器与前段软件相连时,需要使用调试代理,S3C6410安装Jlink.exe作为调试代理。S3C6410的前端软件采用ADS,ADS中含有AXD调试工具。原创 2011-05-17 15:44:00 · 3433 阅读 · 0 评论 -
ARM基础知识
ARM处理器共有37个寄存器。其中包括:31个通用寄存器,包括程序计数器(PC)在内。这些寄存器都是32位寄存器。6个状态寄存器。这些寄存器都是32位寄存器。ARM处理器共有7种不同的处理器模式,每一种模式中都有一组相应的寄存器组。在任何时刻,可见的寄存器包括15个通用寄存器(R转载 2011-07-08 23:24:12 · 415 阅读 · 0 评论