菜鸟求助:关于romInit.s文件中的内存映射
我使用的是MPC8360板子,在看BSP中romInit.s 文件的汇编过程中碰见几个不解的地方,希望大虾帮帮忙!!在此先谢过了。
1.关于ppc中IMMR寄存器的作用。
3.关于片选信号CS0中使用的BR0和OR0寄存器,如何实现将存放bootrom的Flash地址映射到内存的地址?也即如何通过BR0和OR0来确定该flash映射后的基地址。
[解决办法]
IMMR 内部内存映射寄存器 就是CPU内部寄存器映射到的基地址
如何通过BR0和OR0来确定该flash映射后的基地址。
参考mannual,上面有详细的说明
[解决办法]
1.关于ppc中IMMR寄存器的作用。
这部分寄存器 占据1MBytes memory-mapped address space。
包括 local access window,本地访问窗口寄存器,
system configuration 系统配置寄存器
还有就是外围集成器件的映射空间,用于访问各个集成器件
3.关于片选信号CS0中使用的BR0和OR0寄存器,如何实现将存放bootrom的Flash地址映射到内存的地址?也即如何通过BR0和OR0来确定该flash映射后的基地址。
CS0的话是eLBC里边的,首先要设置 local access window,在访问窗口中设置一块区域,包括基地址和大小,
设置完access window 访问窗口之后,接下来才是CS0的配置生效,你想把 flash 放在哪里,就设置成什么。
一般,CS0连接启动设备,也即是flash类存储启动代码的。 BR0 OR0,reset后起来有默认值的。
按照uboot的做法,是先绝对跳转 flash之后,才会把真正的Flash的基地址和大小都设置到BR0 和 OR0中