内存分布
就用这个模糊的题目好了
bcm7什么用的mips架构cpu,它的特点是会跳到0xbfe00000处执行,为什么是这么诡异的地方
之前有提到虚拟地址vma和物理地址pa,mips的cpu无论如何都是把地址当vma看的,首先需要关注的是0xa000 0000到0xbfffffff,这段地址cpu直接把他前三位清0当物理地址操作,就是实际的前512m,而且不会用到cache(cache刚启动的时候没有初始化),所以bootloader放在bfe什么的那个地方
但是mips中断的入口也会在那,第一种是重启(具体不知道),所以其实启动的时候应该是执行的这个复位操作(就是执行了一个中断),每个中断大小被限制在128k,只能完成基本的工作
上一篇讲到了,这里再说下,寄存器的SR,检测小部分ram(此段程序在rom中,速度慢)供stage2拷贝,跳stage2
不过我在linker script里看到的ram被设置在0x98c00000,很奇怪