让找料更便捷
电子元器件
采购信息平台
生意随身带
随时随地找货
一站式电子元器件
采购平台
半导体行业观察第一站
标签:
摘要: 在考虑为什么要重定位的问题之前,我们首先要明白一下几点: 1. 链接地址的定义:我自己理解是,程序被定义的开始执行的内存地址。 2. 当ARM从nandflash启动的时候,CPU所做的工作是将nandflash中的前8K代码自动的到6410的0地址(即Stepping Stone)中去,然后从0地址开始执行程序。 3. 程序在执行过程中,用链接地址来访问全局变量。全局变量一般被存放于程序的
我们可以看出来,r0的值要根据地址0x500000e8处获得,而在Stepping Stone中无法找到0x500000e8这个地址,这样程序就会出错。所以在程序被CPU拷贝到Stepping Stone后,我们要先写一段程序初始化nandflash和内存,再利用位置无关的代码将程序从nandflash拷贝到内存中,然后跳转到其它函数继续执行,这就是ARM的重定位。
上一篇:已经是第一篇
型号 | 厂商 | 价格 |
---|---|---|
EPCOS | 爱普科斯 | / |
STM32F103RCT6 | ST | ¥461.23 |
STM32F103C8T6 | ST | ¥84 |
STM32F103VET6 | ST | ¥426.57 |
STM32F103RET6 | ST | ¥780.82 |
STM8S003F3P6 | ST | ¥10.62 |
STM32F103VCT6 | ST | ¥275.84 |
STM32F103CBT6 | ST | ¥130.66 |
STM32F030C8T6 | ST | ¥18.11 |
N76E003AT20 | NUVOTON | ¥9.67 |