赞
踩
总体pmon启动流程:
1.上电后,2K cpu开始执行start.S(Targets/LS2K/ls2k/start.S)中的代码
start.S作用:把pmon的二进制文件复制到内存,并初始化cache、内存控制器、调试串口等部分信号。
初始化CPU内的寄存器,清TLB
初始化桥片的基本配置,确保UART能够正常工作
初始化UART,主要是设置波特率,默认为115200
初始化内存
初始化cache
拷贝pmon代码到内存,通过以下跳转到内存中去,后面就是C代码了
la v0, initmips
jr v0
nop
这个代码执行之后会执行c代码,解压二进制中压缩的bin文件,跳转到解压后的代码继续执行。
2.跳转到initmips(…)(zloader.ls2k/initmips.c)
3.在initmips()函数中将biosdata解压到0x8f010000地址上
4.调用realinitmios()函数跳转到Targets/LS2K/ls2k/tgt_machdep.c中的initmips(…)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。