ARM7嵌入式开发
maxlirussell
这个作者很懒,什么都没留下…
展开
-
ARM开发经验
<br />前一段时间做了arm的一些开发,主要是编写了arm的启动软件和移植了uCOS-II到arm7。我做事情喜欢深入简出,及从最简单,最原理的方面先做一个框架,然后在这个框架里面进行补充。我还是一个很喜欢和别人讨论的人,希望有人可以给我提出意见和建议。我的这个心得很初级,都是一些基本的东西。现在拿出来和大家分享,希望在我毕业之前能给大家留一些纪念。^_^<br /> 由于这些东西发paper实在是没有价值,但是我感觉可以作为arm开发的入门。由于我的水平和经验有限,错误也是难免的。但是如果不拿出转载 2011-01-23 23:25:00 · 331 阅读 · 0 评论 -
ARM状态与模式的区别
<br />ARM处理器状态 <br /><br />ARM微处理器的工作状态一般有两种,并可在两种状态之间切换: <br />第一种为ARM状态,此时处理器执行32位的字对齐的ARM指令; <br />第二种为Thumb状态,此时处理器执行16位的、半字对齐的Thumb指令。 <br />在程序的执行过程中,微处理器可以随时在两种工作状态之间切换,并且,处理器工作状态的转变并不影响处理器的工作模式和相应寄存器中的内容。但ARM微处理器在开始执行代码时,应该处于ARM状态。 <br /><br />ARM处转载 2011-01-23 22:49:00 · 998 阅读 · 0 评论 -
ARM7常用启动流程
<br />1.ARM从地址0x00000000开始执行指令,为ARM的6个运行模式设置栈<br /><br />2.设置4个CS片选值如果WATCHDOG没到,重新设置BAI,否则跳过<br /><br />3.初始化GPIO如果WATCHDOG没到,重新设置LCD(打开LCD),否则跳过<br /><br />4.调用硬件初始化函数HardwareInit()<br />{<br />设置GPIO(GPIOCON,GPIODIR,GPIODAT)<br />设置GPON(PDCUC)<br />设置PW转载 2011-01-23 23:29:00 · 854 阅读 · 0 评论 -
ARM7启动过程
<br /> 嵌入式系统资源有限,程序通常都固化在ROM总运行。ROM中程序执行前,需要对系统硬件和软件运行环境进行初始化,这些工作是用汇编语言编写的启动程序完成。启动程序是嵌入式程序的开头部分,应与应用程序一起固化在ROM中,应首先在系统上运行的启动程序应包含各模块中可能出现的所有段类,并合理安排他们的次序。<br /> 启动程序一般流程如下:<br /> (1) 设置入口指针<br /> (2) 设置中断向量<br /><br /> ARM7要求中断向量必须设置从0地址开始,连续8*4字节的空间转载 2011-01-23 23:53:00 · 384 阅读 · 0 评论 -
ARM 中断程序的原理和实现
<br />引言 ARM编程特别是系统初始化代码的编写中通常需要实现中断的响应、解析跳转和返回等操作,以便支持上层应用程序的开发,而这往往是困扰初学者的一个难题。中断处理的编程实现需要深入了解ARM内核和处理器本身的中断特征,从而设计一种快速简便的中断处理机制。需要说明的是,具体的上层高级语言编写的中断服务函数不在本文的讨论范围之内。 ARM处理器异常中断处理概述 当异常中断发生时,系统执行完当前指令后,将跳转到相应的异常中断处理程序处执行。当异常中断处理程序执行完成后,程序返回到发生中断的指令的下一条指令原创 2011-01-23 23:11:00 · 463 阅读 · 0 评论 -
ARM7启动代码分析
<br />1:PRESERVE8:<br />Reguire8和Preserve8<br />C和汇编有8位对齐的要求,这两个伪指令可以满足此要求,存在REQUIRE8<——> PRESERVE8的对应关系,但不是说有一个REQUIRE8就要有一个 PRESERVE8,如果是一个c文件和一个汇编文件的调用,也就涉及一个PRESERVE8或者是一个REQUIRE8.<br />另外,REQUIRE8和PRESERVE8并不完成8 byte 对齐的操作,对齐由ALIGN完成。<br />将ADS的代码移植到K原创 2011-01-26 16:15:00 · 584 阅读 · 0 评论