欢迎访问18新利体育有限公司网站! 关于我们 | 联系我们
全国统一服务热线
13181283869
0632-5509869
当前位置:主页 > 公司新闻 > >

S3C2440 2440inits分析第二篇(一)

文章出处:18新利体育 人气:发表时间:2020-08-12 08:10

  bx lr ;在ARM模式中要使用BX指令转跳到THUMB指令,并转换模式

  ;下面这个宏是用于第一次查表过程的实现中断向量的重定向,如果你比较细心的话就是发现

  ;这种方式的优点就是正真定义的向量数据在内存空间里,而不是在ENTRY处的ROM(FLASH)空间里,

  ;这些变量是通过ADS的工程设置里面设定的RO Base和RW Base设定的,

  ;下面是改变大小端的程序,这里采用直接定义机器码的方式,至说为什么这么做就得问三星了

  ;没有办法,ARM把所有的中断都归纳成一个IRQ中断异常和一个FIRQ中断异常

  ;第一次查表主要是查出是什么异常,可我们总要知道是这个中断异常中的什么中断呀!

  ;这不就是我们要找的那一项了吗.找到了表项,下一步做什么?肯定先装入了!

  ;如果你想你编译出来的程序能在NAND上运行的话,就不要在这调用这两函数了.

  ;为什么是4K,问三星吧,就提供4K的内部SRAM,要是提供400K多好呀.

  ;好了,好了,4K就4K吧,不能用这两函数,自己写还不行吗,下面的代码这这么来了,

  ;设置内存控制器等寄存器的值,因为这些寄存器是连续排列的,所以采用如下办法对这些

  ;寄存器进行连续设置.其中用到了SMRDATA的数据,这在代码后面有定义

  ;如果 EINT0 产生(这中断就是我们按键产生的), 就清除SDRAM ,不过好像没人会在这个时候按

  ; 能在NOR NAND 还有内存中运行,当然了,在内存中运行最简单了.

  ; 注意,在这里使用的是ldr伪指令,而不是上面用的adr伪指令,它加载的是ResetEntry

  ; 的决对地址,也就是我们期望的RAM中的地址,在这里,它和Image$$RO$$Base一样

  ; 也就是说,我如我们编译程序时RO BASE指定的地址在RAM里,而把生成的文件拷到

此文关键字:18新利体育