MIPS4k处理器boot学习

转载 2006年05月24日 12:01:00
MIPS4k处理器boot学习
hdguy 发表于 2006-5-11 16:09:00

MIPS寄存器约定:

寄存器编号/助记符/用法
0 zero 永远返回值为0
1 at 用做汇编器的暂时变量
2-3 v0, v1 子函数调用返回结果
4-7 a0-a3 子函数调用的参数
8-15 t0-t7 暂时变量,子函数使用时不需要保存与恢复
24-25 t8-t9
16-25 s0-s7 子函数寄存器变量。子函数必须保存和恢复使用过的变量在函数返
回之前,从而调用函数知道这些寄存器的值没有变化。
26,27 k0,k1 通常被中断或异常处理程序使用作为保存一些系统参数
28 gp    全局指针。一些运行系统维护这个指针来更方便的存取“static“和”extern"
变量。
29 sp     堆栈指针
30 s8/fp 第9个寄存器变量。子函数可以用来做桢指针
31  ra    子函数的返回地

===============================================

在bootloader下,MIPS核的初始化用汇编语言写成,基本过程是

1〉清除CP0的WATCH寄存器    

mtc0    zero, C0_WATCHLO  /* First thing: clear watch regs */
    mtc0    zero, C0_WATCHHI

2〉初始化CP0状态寄存器,禁止软硬件中断以及选择boot异常向量地址

3〉根据需要建立MIPS的状态和控制寄存器,通常会清除(ERL、EXL位)

4〉初始化cache,先初始化ICACHE,在初始化DCACHE(具体过程)

5〉开始初始化外围接口(init_platform),主要是初始化时钟系统、EMIF接口等。

举报

相关文章推荐

飞思卡尔处理器K60学习笔记(一)---------M4内核概要

本人前段时间简单学习了一款飞思卡尔的基于Cortex-M4内核的芯片-----MK60DN512ZVLL10。由于实验进度和时间的限制,没有对这款芯片进行深入学习,就尝试和体验了一些简单的外设,这里做...

mips处理器学习笔记

摊上了移植bootloader和OS的事情,没办法,得把mips工作机制弄明白了才能干好啊。今天托我家狗狗了买了本 《see mips run》。就用它为主了。争取用一个月的时间走一遍。同时把学习笔记...

我是如何成为一名python大咖的?

人生苦短,都说必须python,那么我分享下我是如何从小白成为Python资深开发者的吧。2014年我大学刚毕业..

飞思卡尔处理器K60学习笔记(二)---------Cortex-M内核比较

本文主要分析Cortex-M系列处理器的异同点,在上一篇的基础上增加对Cortex-M4的认识和了解。所谓无图无真相,直接上图说话。 图1:CORTEX-M0/M1------>  CORTEX-M...

ARM多核和MIPS多执行绪嵌入式处理器技术剖析

2009-05-04 21:48 ARM多核和MIPS多执行绪嵌入式处理器技术剖析     在嵌入式装置中建置多核心(包含同质或异质)以及多执行绪技术,的确能带来诸多效益,尤其是改进系统效能...

力拼ARM全家 MIPS新品Aptiv处理器全解析

昨日晚间RISC处理器授权厂商MIPS正式发布了新一代产品Aptiv系列,包括 ProAptiv、interAptiv和microAptiv三款,着力抗衡竞争对手ARM的整条产品线。著名硬件网站Ana...
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)