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接口等。

CSS预处理器——SASS学习笔记(一)

什么是CSS预处理器? CSS 预处理器定义了一种新的语言,其基本思想是,用一种专门的编程语言,为 CSS 增加了一些编程的特性,将 CSS 作为目标生成文件,然后开发者就只需要使用这种语言 进...
  • xiaozhi_2016
  • xiaozhi_2016
  • 2016年12月15日 17:21
  • 1043

spring boot中的自定义异常和异常处理器

默认情况下,Spring Boot提供了一个/error的控制器以合理方式处理所有错误的映射,客户端访问出错返回一个json,浏览器访问会返回一个HTML。然而很多时候,无论是客户端还是web端都需要...
  • smollsnail
  • smollsnail
  • 2018年01月24日 11:00
  • 38

ARM的启动和中断向量表

这几天在看裸机中断控制系统的时候,对于中断发生后,将pc值强制设置为0x00000018(这正是异常中断向量表中IRQ的入口地址)这句话很不理解,什么是中断向量表?为什么IRQ的入口地址是0x0000...
  • yanbixing123
  • yanbixing123
  • 2016年08月24日 15:28
  • 750

Spring Boot学习入门篇(一)--Hello World

简介:Spring Boot是一种简化原有Spring应用繁杂配置的微框架。使开发者从繁杂的各种配置文件中解脱出来,通过Spring Boot能够很简单、很快速构建一个优秀的、产品级的Spring基础...
  • duchao123duchao
  • duchao123duchao
  • 2017年06月11日 01:20
  • 2257

Apache服务器学习

1.Apache架构之模块化设计          Apache HTTP server非常重要的特性是它采用了模块化设计模型,Apache模块分为静态模型和动态模型两种。静态模型在是编译Apache...
  • wangjianno2
  • wangjianno2
  • 2016年05月02日 00:32
  • 298

ARM Cortex-A8 的学习笔记(2)——ARM寄存器

上一篇介绍了关于学习ARM的开发环境以及工程文件编译过程,今天,学习了关于ARM的CPU工作模式以及ARM寄存器部分,现整理一下笔记。 一、ARM指令集与Thumb指令集 二、ARM CPU处理器模式...
  • RJ_Cheng
  • RJ_Cheng
  • 2017年05月22日 17:28
  • 651

软件从业学习方向

一、关于企业计算方向 企业计算(Enterprise Computing)是稍时髦较好听的名词,主要是指企业信息系统,如ERP软件(企业资源规划)、CRM软件(客户关系管理)、SCM软件(供应链管理,...
  • gjcxywwx
  • gjcxywwx
  • 2006年07月11日 15:52
  • 2121

自定义Mybatis类型处理器对参数和结果集进行自定义处理

业务需求是对字符串数据进行加密后入库,使用类型处理器会有一个短板,即此类型的所有数据都会被自定义的类型处理器进行处理,如果是只对几个特殊字段进行加密,则这种方法是行不通的,本人尝试过自定义类型,可St...
  • ab7253957
  • ab7253957
  • 2017年12月22日 10:00
  • 53

Spring Boot学习总结(1)——Spring Boot入门

摘要:Spring Boots是为了帮助开发人员很容易的创建出独立运行和产品级别的基于 Spring 框架的应用。 从 Spring Boot 项目名称中的 Boot 可以看出来,Spring ...
  • u012562943
  • u012562943
  • 2016年07月06日 09:55
  • 3202

Spring Boot学习总结(3)——SpringBoot魅力所在

使用Java做Web应用开发已经有近20年的历史了,从最初的Servlet1.0一步步演化到现在如此多的框架,库以及整个生态系统。经过这么长时间的发展,Java作为一个成熟的语言,也演化出了非常成熟的...
  • u012562943
  • u012562943
  • 2016年10月13日 17:37
  • 2933
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:MIPS4k处理器boot学习
举报原因:
原因补充:

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