![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
ARM
RYZR
这个作者很懒,什么都没留下…
展开
-
linux 内核启动过程分析
<br />文件linux/arch/arm/boot/compressed/head.S是linux内核启动过程执行的第一个文件。<br /> .align<br />start:<br /> .type start,#function #function //type指定start这个符号是函数类型<br /> .rept 8 //重复8次 mov r0, r0,<br /> mov r0, r0 //空操作,让前面所取指令得以执行。<br /> .endr<br转载 2010-12-23 11:54:00 · 1677 阅读 · 0 评论 -
dm9000移植修改原理(时序分析)
<br />想了解一下DM9000的移植修改原理,所以分析了一下时序图和引脚连接<br />首先看一下DM9000的引脚和MINI2440的引脚连接<br />DM9000 MINI2440 功能描述<br />SD0 DATA0 数据信号<br /> | |<br />SD15 DATA15 数据信号<br />CMD ADDR2 识别为地址还是数据<br />INT EINT7 中断<br />IOR# nOE 读命令使能<br />IOW# nWE转载 2011-01-07 10:29:00 · 706 阅读 · 0 评论 -
dm9000移植修改原理(时序分析)
<br />想了解一下DM9000的移植修改原理,所以分析了一下时序图和引脚连接<br />首先看一下DM9000的引脚和MINI2440的引脚连接<br />DM9000 MINI2440 功能描述<br />SD0 DATA0 数据信号<br /> | |<br />SD15 DATA15 数据信号<br />CMD ADDR2 识别为地址还是数据<br />INT EINT7 中断<br />IOR# nOE 读命令使能<br />IOW# nWE转载 2011-01-07 10:29:00 · 761 阅读 · 0 评论 -
dm9000移植修改原理(时序分析)
想了解一下DM9000的移植修改原理,所以分析了一下时序图和引脚连接首先看一下DM9000的引脚和MINI2440的引脚连接DM9000 MINI2440 功能描述SD0 DATA0 数据信号 | |SD15 DATA15 数据信号CMD ADDR2 识别为地址还是数据INT EINT7 中断IOR# nOE 读命令使能IOW# nWE 写命令使能AEN nGCS4 片选使能可以看出连接了16条数据线,1条地址线,而这唯一的一条地址线用于判断数据转载 2011-01-07 10:29:00 · 810 阅读 · 0 评论 -
Linux内核访问外设I/O资源的方式
<br /><br />Linux内核访问外设I/O资源的方式<br />我们知道默认外设I/O资源是不在Linux内核空间中的(如sram或硬件接口寄存器等),若需要访问该外设I/O资源,必须先将其地址映射到内核空间中来,然后才能在内核空间中访问它。<br />Linux内核访问外设I/O内存资源的方式有两种:动态映射(ioremap)和静态映射(map_desc)。<br />一、动态映射(ioremap)方式<br />动态映射方式是大家使用了比较多的,也比较简单。即直接通过内核提供的ioremap函转载 2011-01-04 17:24:00 · 546 阅读 · 0 评论 -
ARM Linux静态映射分析
<br />内核提供了一个重要的结构体struct machine_desc ,这个结构体在内核移植中起到相当重要的作用,内核通过machine_desc结构体来控制系统体系架构相关部分的初始化。machine_desc结构体的成员包含了体系架构相关部分的几个最重要的初始化函数,包括map_io,init_irq, init_machine以及phys_io , timer成员等。<br />machine_desc结构体定义如下:<br />struct machine_desc {<br /转载 2011-01-04 16:31:00 · 542 阅读 · 0 评论 -
ARM软件访问硬件的核心理论(2)---时钟信号
<br />Andrew Huang bluedrum@163.com (转载请注明作者及联络方式) 驱动数字电路运转是的时钟信号,时序电路都需要一个外部时钟信号来驱动,完成计时,同步,计数,时序控制等各种功能。象CPU也是用时序信号驱动来完成各种运算的,而且象ARM带的模块绝大部分与时序都有关,因此理解时钟信号对于底层编程非常重要。 一.时钟信号的源头---------晶振---------------------------------------------------------------转载 2010-12-24 13:32:00 · 1927 阅读 · 0 评论 -
ARM软件访问硬件的核心理论(2.1)---S3C6410 时钟分析
<br />Andrew Huang bluedrum@163.com 转载请注明作者和联络方式 S3C6410的ARM内核是 ARM1176JZF-S ,在1.1v下最高可以跑 533MHz,1.2v可以跑 667MHz。 S3C6410用的是可以使用外部晶振(XXTIpll)和外部时钟(XEXTCLK),两种方式输入时钟信号.它由跳线OM[0]决定,这一位为0,选择XXTIpll .否则选择 XEXTCLK. APLL/MPLL/EPLL S3C6410提供三种PLL,它们是APLL,转载 2010-12-24 12:42:00 · 3071 阅读 · 2 评论 -
linux kernel 从入口到start_kernel 的代码分析
<br /> <br />linux kernel 从入口到start_kernel 的代码分析<br />本文的很多内容是参考了网上某位大侠的文章写的<<>>,有些东西是直接从他那copy过来的。<br />最近分析了一下u-boot的源码,并写了分文档, 为了能够衔接那篇文章,这次又把arm linux的启动代码大致分析了一下,特此写下了这篇文档。一来是大家可以看看u-boot到底是如何具体跳转到linux下跑的,二来也为自己更深入的学习linux kernel打下基础。<b转载 2010-12-22 11:50:00 · 975 阅读 · 0 评论 -
基于arm的Linux的启动分析(至start_kernel)
<br /><br />转自网络<br /> <br />启动过程分析如下:<br />压缩的内核zImage 的入口程序为 Commpressed的head.S,它依次完成以下工作:开启 MMU 和 Cache,调用 decompress_kernel()解压内核,最后通过调用 call_kernel()进入非压缩内核 Image 的启动。<br />下面将具体分析在此之后 Linux 内核的启动过程。<br />Linux内核入口<br /> Linux 非压缩内核的入口位于文件/arch/arm/ke转载 2010-12-22 10:05:00 · 699 阅读 · 0 评论 -
ARM的不同的启动过程(通过Makefile的分析)
<br /><br />转自网络<br /> <br />分析过程:<br />查看arch/arm/Makefile下的第一个目标为all: zImage<br />找到以zImage作为目标的规则:<br />zImage Image xipImage bootpImage uImage: vmlinux<br /> $(Q)$(MAKE) $(build)=$(boot) MACHINE=$(MACHINE) $(boot)/$@<br />这个规则中命令执行的目录为$(boot)= arch/转载 2010-12-22 09:59:00 · 1884 阅读 · 1 评论 -
6410 LCD驱动移植
<br /><br />移植工作主要有以下部分(仅仅对未作处理的部分做阐述):<br />1.在mach-smdk6410.c这个文件中添加初始化的设备<br />&s3c_device_fb,<br />会根据name 自动关联执行哪个设备的probe的探测函数<br /> <br />同时在plat-s3c64XX下面增加dev-fb.c 主要是用来填充platform_fb这个结构体<br />static struct resource s3cfb_resource[] = {<br /> [0转载 2011-01-13 16:30:00 · 2589 阅读 · 0 评论