- 博客(2)
- 收藏
- 关注
原创 结合Bootloader的相关知识,并参考ARM的汇编指令,分析下面的Bootloader代码。
<br />globl _start<br />_start: b reset<br /><br />reset: //复位起始<br /><br /> ldr r0, IC_BASE //将芯片基址载入R0寄存器中<br /> mov r1, #0x00<br /> str r1, [r0, #ICMR] //初始化ICMR寄存器为0<br /><br /> ldr r0, PWR_BASE
2010-11-13 23:01:00 244
转载 ARM Bootloader启动寻址问题分析
<br />我们知道,Bootloader在启动后,刚开始在FLASH中运行,后来复制到内存中,在内存中进行运行,FLASH在系统中的起始地址通常为0x0,内存在系统中的位置确是另外的地址。我们还知道,Bootloader中有很多函数的调用,因此程序中会有很多跳转指令。那么这些跳转指令是如何统一这个地址问题的呢?<br /> 现在Bootloader功能越来越丰富,也就是说越来越多的代码需要在内存中运行。Bootloader按自身在内存中的定位来编译连接代码,就解决了在内存中运行碰到的地址问题。但 这样
2010-11-13 22:50:00 451
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人