ARM里bootloader一般放在NAND FALSH哪个地址?是不是从0X0地址开始? 那中断向量表呢???
答案:4 悬赏:0 手机版
解决时间 2021-11-23 18:41
- 提问者网友:富士山上尢
- 2021-11-23 08:50
ARM里bootloader一般放在NAND FALSH哪个地址?是不是从0X0地址开始? 那中断向量表呢???
最佳答案
- 五星知识达人网友:旧脸谱
- 2021-11-23 10:10
是0地址,中断向量表(应该叫异常向量表)放在bootloader的最开始,bootloader可以放在nor里也可以放在nand里,由启动类型确定追问只研究过裸板 所以不怎么熟悉,那这个0地址是不是线性地址,并非实际物理地址?芯片手册memory Map那章是不是4G的线性地址?
还有不知道为什么叫异常向量表,那那些硬件中断是怎么实现的???ARM里与桌面OS不一样吗?我记得OS里的异常就是软件中断
谢谢追答是物理地址,在mmu映射之前,地址都是物理地址追问假如是NAND的话。一般硬件都是取前8K吗? 然后初始化搬移?追答恩,前8k或前4k拷贝到sram中来做最初的初始化,其实,上电之后有irom是固态初始化sram,并且自动拷贝8k代码到sram中,然后在sram中初始化sdram,并拷贝剩下的boot代码到sdram,然后到sdram中运行追问这个SRAM就是片内RAM吗?追答SRAM是英文Static
RAM的缩写,它是一种具有静止存取功能的内存,不需要刷新电路即能保存它内部存储的数据。这样他不需要初始化就能够直接使用。datasheet里把它叫做Stepping
Stone,江湖人称“起步石”。这与我们在外部扩展的大容量的SDRAM是不一样的,外部大容量的SDRAM是需要初始化后才能使用的。
还有不知道为什么叫异常向量表,那那些硬件中断是怎么实现的???ARM里与桌面OS不一样吗?我记得OS里的异常就是软件中断
谢谢追答是物理地址,在mmu映射之前,地址都是物理地址追问假如是NAND的话。一般硬件都是取前8K吗? 然后初始化搬移?追答恩,前8k或前4k拷贝到sram中来做最初的初始化,其实,上电之后有irom是固态初始化sram,并且自动拷贝8k代码到sram中,然后在sram中初始化sdram,并拷贝剩下的boot代码到sdram,然后到sdram中运行追问这个SRAM就是片内RAM吗?追答SRAM是英文Static
RAM的缩写,它是一种具有静止存取功能的内存,不需要刷新电路即能保存它内部存储的数据。这样他不需要初始化就能够直接使用。datasheet里把它叫做Stepping
Stone,江湖人称“起步石”。这与我们在外部扩展的大容量的SDRAM是不一样的,外部大容量的SDRAM是需要初始化后才能使用的。
全部回答
- 1楼网友:痴妹与他
- 2021-11-23 12:45
0x30000000!
- 2楼网友:封刀令
- 2021-11-23 12:04
首先不是nand是nor bootloader的放置并没有统一规定 可以在向量表中定义 而向量表通常是固定的 也可能由芯片动作模式重新被映射追问你意思中断向量表是放在NOR里的? 我意思是bootloader和中断表在加载运行之前是放在哪的?好像启动代码是放在NAND 里吧?我记得裸板是这样的啊
- 3楼网友:想偏头吻你
- 2021-11-23 10:41
bootloader是放在处理器启动之后就能访问到的地方,是线性地址的,处理器能直接运行其中的代码而不需要转换的操作。如果放在nandflash里面,那还需要先初始化nand控制器读取代码放在ram里然后再执行,可能吗?追问只研究过裸板 所以不怎么熟悉,那这个0地址是不是线性地址,并非实际物理地址?芯片手册memory Map那章是不是4G的线性地址?追答就算是arm9,在芯片里也有一小块rom存放着启动代码,这个代码控制cpu将nand里面的数据转移到ram里,然后跳转到ram的地址开始执行。追问是ROM?不是片内RAM吗?不是很了解,麻烦解释下ARM存储器的架构,谢谢~
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯