PMON 代码执行流程

PMON 代码执行流程如下图所示

PMON-flow.png

当整个板子起电后,CPU将从 0xBFC00000 取指令开始执行,而ROM在系统中的地址就是从该地址开始的。所以,其中的第一条指令就是整个过程中 CPU 要执行的第一个指令。

  • 初始化CPU内的寄存器,清TLB.
  • 初始化一些北桥的基本配置,以确保uart能够正常工作.
  • 初始化uart,主要是设置波特率.
  • 初始化内存(主要通过I2C协议从内存的EEPROM读取内存参数来进行设置).
  • 初始化cache.
  • 拷贝pmon的代码到内存,然后通过
la      v0, initmips
jalr    v0
nop

从此代码便到内存中间去了,从这开始因为可以读写内存,所以有了栈,故可以用C的代码了,所以以后的程序便是C代码了.
Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License