10 个解决方案
#1
这个地址是什么地址呢?肯定不能是ram的地址吧
#2
应该是硬件做好的吧,ram可以映射到那个地址
#3
因为这是cpu复位之后的第一条指令,所以第一条要求就是此处为直接可寻址memory(有用nand flash的,但也是用逻辑做了硬的驱动和地址解码)。
一般此处的介质为:
1. rom(直接可寻址)
2. nor flash(直接可寻址)
3. sram(需要有逻辑把代码拷贝进去)
4. nand(需要有逻辑进行驱动和地址转换)
谁写进去的?当然是人干的,如果没人在非易失存储中写入bootloader,目前的cpu是无法启动的。
一般此处的介质为:
1. rom(直接可寻址)
2. nor flash(直接可寻址)
3. sram(需要有逻辑把代码拷贝进去)
4. nand(需要有逻辑进行驱动和地址转换)
谁写进去的?当然是人干的,如果没人在非易失存储中写入bootloader,目前的cpu是无法启动的。
#4
第一条指令存储在ROM中的,CPU都会自带一些不大的ROM供CPU第一次启动
#5
放在这里的只是一条跳转指令,跳到系统bios中真正的启动代码处。至于是谁放的,首先去这个地址取指令是硬件上做好的,指令在这个地址是bootloader里实现的,也就是人为写的。
#6
很实用的一个知识点
#7
CPU上电会在片选0上的固定地址去读第一条指令,硬件设计上一定会把ROM芯片挂接在片选0上。
#8
楼主可能认为复位后启动的地址就是内存地址,但是实际往往是诸如nor flash这样的设备地址。然后在前面的汇编代码里进行必要的初始化,包括内存的初始化,内存初始化完成后启动代码再将自己copy到内存中然后跳转运行。当然过程比这个复杂的多,可以找个体系结构的booter理解,比如arm的uboot
#9
起始位置一般都是rom
#10
#1
这个地址是什么地址呢?肯定不能是ram的地址吧
#2
应该是硬件做好的吧,ram可以映射到那个地址
#3
因为这是cpu复位之后的第一条指令,所以第一条要求就是此处为直接可寻址memory(有用nand flash的,但也是用逻辑做了硬的驱动和地址解码)。
一般此处的介质为:
1. rom(直接可寻址)
2. nor flash(直接可寻址)
3. sram(需要有逻辑把代码拷贝进去)
4. nand(需要有逻辑进行驱动和地址转换)
谁写进去的?当然是人干的,如果没人在非易失存储中写入bootloader,目前的cpu是无法启动的。
一般此处的介质为:
1. rom(直接可寻址)
2. nor flash(直接可寻址)
3. sram(需要有逻辑把代码拷贝进去)
4. nand(需要有逻辑进行驱动和地址转换)
谁写进去的?当然是人干的,如果没人在非易失存储中写入bootloader,目前的cpu是无法启动的。
#4
第一条指令存储在ROM中的,CPU都会自带一些不大的ROM供CPU第一次启动
#5
放在这里的只是一条跳转指令,跳到系统bios中真正的启动代码处。至于是谁放的,首先去这个地址取指令是硬件上做好的,指令在这个地址是bootloader里实现的,也就是人为写的。
#6
很实用的一个知识点
#7
CPU上电会在片选0上的固定地址去读第一条指令,硬件设计上一定会把ROM芯片挂接在片选0上。
#8
楼主可能认为复位后启动的地址就是内存地址,但是实际往往是诸如nor flash这样的设备地址。然后在前面的汇编代码里进行必要的初始化,包括内存的初始化,内存初始化完成后启动代码再将自己copy到内存中然后跳转运行。当然过程比这个复杂的多,可以找个体系结构的booter理解,比如arm的uboot
#9
起始位置一般都是rom