核心初始化基本介绍

1.核心初始化主要工作

2.设置中断向量表

arm处理器支持7种类型的异常,如下表:

异常向量:当一种异常发生的时候,ARM处理器会跳转到对应该异常的固定地址去执行异常处理程序,而这个固定的地址,就称之为异常向量。

异常向量表:由七个异常向量及其处理函数跳转关系组成的表即为异常向量表。

3.设置svc模式

通过设置程序状态寄存器Current Program Status Register (CPSR) ,来设置模式。

步骤:先利用mrs将cpsr的值保持到通用寄存器中,清零相应5位(bic),置1(orr);再利用msr将通用寄存器的值存回cpsr寄存器中。

4.关闭看门狗

Watchdog在硬件上实现了计时功能,启动计时后,用户(软件)必须在计时结束前重新开始计时,俗称“喂狗”,如果到超时的时候还没有重新开始计时,那么它就认为系统是死机了,就自动重启系统。
通过设置WATCHDOG TIMER CONTROL (WTCON) REGISTER寄存器,来关闭看门狗。

5.关闭中断

步骤:

1.CPSR寄存器的I,F位均设置为1(在设置svc模式可以设置)

2.设置中断屏蔽寄存器

6.关闭mmu与cach

6.1 arm存储体系

6.2 cache

Cache是一种容量小但存取速度非常快的存储器,它保存最近用到的存储器中数据的拷贝。对于程序员来说,Cache是透明的。它自动决定保存哪些数据、覆盖哪些数据。按照功能划分:
I-Cache: 指令Cache,用于存放指令

D-Cache: 数据Cache,用于存放数据

6.3 虚拟地址

虚拟地址:程序中使用的地址。
物理地址:物理存储单元实际的地址

使用虚拟地址的作用:

可以让进程使用更大的空间(若物理地址为64MB,只能为64MB,访问较小,但当引入虚拟地址后,虚拟地址的空间一般为4G);
可以解决地址冲突(多个应用程序访问同一个物理地址)。

6.4 设置方法

1. 设置Cache operations让cache无效

2. 根据arm11核的手册,设置Control Register 关闭I/D cache,mmu

时间: 2024-11-08 19:47:53

核心初始化基本介绍的相关文章

26.核心初始化之关闭MMU和cache

26.核心初始化之关闭MMU和cache 下面看看ARM存储体系: 可以看到速度最快的是处理器和内部寄存器,他们的数量很少,价格很昂贵.接着是TCM紧耦合存储器:cache和main memory.速度最慢的是外部存储介质:Flash和SD卡等. CACHE: 上面是两种访存的两种机制,一种是处理器直接访问主存,另一种是处理器-cache-主存.第一种中,处理器的速度相比主存是非常快的,所以两者的速度很不匹配.浪费了处理器的很多资源.第二种是为了改进第一种的缺陷,在处理器和主存之间增加了一种叫C

20.核心初始化之异常向量表

20.核心初始化之异常向量表 一.异常向量表: 包含:1.异常定义 ???? 2.异常类型 ???? 3.异常入口 ???? 4.向量表 首先异常定义,在ARM Architecture Reference Manual.pdf文档中,2.Programmers' Model的2.6.Exceptions异常: 异常:因为内部或外部的一些事件,导致处理器停下来正在处理的工作,转而去处理这些发生的事件. 2.异常类型 当一种异常发生的时候,ARM处理器会跳转到对应该异常的固定地址去执行异常处理程序

23.核心初始化之中断屏蔽-2440

23.核心初始化之中断屏蔽-2440 ? 在上一节中,我在设置关闭看门狗的时候,已经把WTCON的[2]设置为0,屏蔽了中断.如下图: 这一节是要屏蔽中断寄存器: 下面是2440芯片处理中断的机制: 中断屏蔽寄存器: ? 可以看到,只要把中断对应的中断屏蔽寄存器对应的位置为1即可.所以屏蔽中断就是往中断屏蔽寄存器置为全1,就屏蔽了所有中断. ? 编译: ? ?

核心开发接口介绍

核心开发接口介绍1.hibernate_0500_CoreAPI2.HiberanteAPI 文档需要单独下载 在线api链接:http://docs.jboss.org/hibernate/core/3.3/api3.Configuration a) AnnotationConfiguration b) 进行配置信息的管理 c) 用来产生 SessionFactory d) 可以在 configure方法中指定hibernate配置文件 e) 只需关注一个方法即:buildSessionFac

Java EE 的核心技术规范(介绍)

JAVA EE简介 Java 平台企业版(Java Platform Enterprise Edition),java EE平台旨在帮助开发人员创建大规模,多层,可伸缩,可靠和安全的网络应用程序.此类应用程序的简称是“企业应用程序”,之所以这么称呼是因为这些应用程序旨在解决大型企业遇到的问题.但是,企业应用程序不仅对大型公司,代理机构和政府有用.对于日益联网的世界中的个人开发人员和小型组织,企业应用程序的好处是有益的,甚至是必不可少的. Java EE服务器 Java EE服务器是实现Java

iOS界面布局的核心以及TangramKit介绍

前言 TangramKit是iOS系统下用Swift编写的第三方界面布局框架.他集成了iOS的AutoLayout和SizeClass以及Android的五大容器布局体系以及HTML/CSS中的float和flex-box的布局功能和思想,目的是为iOS开发人员提供一套功能强大.多屏幕灵活适配.简单易用的UI布局解决方案.Tangram的中文即七巧板的意思,取名的寓意表明这个布局库可以非常灵巧和简单的解决各种复杂界面布局问题.他的同胞框架:MyLayout是一套用objective-C实现的界面

echarts函数初始化简单介绍

ECharts的初始化 1.echarts.init self.init = function (dom, theme) { var zrender = require('zrender'); if (zrender.version.replace('.', '') - 0 < self.dependencies.zrender.replace('.', '') - 0) { console.error('ZRender ' + zrender.version + ' is too old fo

米尔电子Zynq UltraScale MPSoC核心板资料介绍

米尔Zynq UltraScale MPSoC核心板(MYC-CZU3EG)是采用Xilinx新一代Zynq处理器.该核心板是业界最小尺寸Zynq UltraScale 核心板,采用16纳米制程,相比Znyq7000系列每瓦性能提升5倍,且单芯片融合4核心Cortex-A53(Up to 1.5GHZ),2核心Cortex-R5, GPU和154KLE的FPGA(包含DSP模块),强大且灵活.该款核心板性能配置强大且设计紧凑可靠,非常适合人工智能,工业控制,嵌入式视觉,ADAS,算法加速,云计算

《Qt on Android核心编程》介绍

<Qt on Android核心编程>终于尘埃落定,付梓印刷了. 封面 看看封面的效果吧,历经几版,最终就成了这个样子. 看下封皮: 这是立体版效果: 章节内容简介 第 1 章 欢迎来到Qt的世界,让我们看看Qt是什么,能给我们带来什么,又有谁在使用Qt.我们要约会的Qt on Android,它缘起何处,有着怎样曲折婉转的历史,如今的小模样能否让我们爱之如狂-- 第 2 章 当你遇见了合适的人,开始筹划第一次约会,又是兴奋又是惆怅,要不要买花,去哪里买礼物,穿什么衣服,洒什么香水,带什么应对