一.ARM内核分为哪几类?他们之间有什么区别?
ARM内核主要分为三类,Cortex-A,Cortex-R,Cortex-M三种,A代表Applications,向用户提供全方位解决方案,主要用于复制的应用场合,比如智能手机、移动计算平台,数字电视、机顶盒、打印机或服务器等。R代表Real-Time Embedded,主要用于实时应用的系统,面向深层嵌入式实时应用,对低功耗、良好的中断行为、卓越性能以及与现有平台的高兼容性这些需求进行了平衡考虑,比如摄像机、智慧汽车等。M代表MCU & FPGA,面向具有确定性的微控制器应用的成本敏感型解决方案,主要是针对微控制器领域开发的,在该领域中,既需进行快速且具有高确定性的中断管理,又需将门数和可能功耗控制在最低,例如玩具,电子手表、音响、游戏手柄等设备。
二.什么是交叉编译?为什么要使用交叉编译?
在一种计算机环境中运行的编译程序,能编译出在另外一种环境下运行的代码,我们就称这种编译器支持交叉编译。这个编译过程就叫交叉编译。
三.什么是大小端
大端模式:低字节写在高地址上,高字节写在低地址上。
小端模式:高字节写在高地址上,低字节写在低地址上。
四.ARM体系结构的版本有哪些?它们之间有什么区别?
版本信息:
1.ARMv1:最早的ARM体系结构版本,于1985年发布。它使用了32位的精简指令集。
2.ARMv2:于1986年发布,增加了一些新的指令和功能。
3.ARMv3:于1992年发布,引入了Thumb指令集,该指令集使用16位指令,用于提高代码密度。
4.ARMv4:于1994年发布,增加了更多指令和功能,如支持Java虚拟机(Jazelle)和分页内存管理。
5.ARMv5:于1997年发布,引入了更多指令和功能,包括协处理器支持、增强的分页内存管理和增强的Thumb指令集。
6.ARMv6:于2002年发布,引入了Thumb-2指令集,该指令集能够同时支持16位和32位指令。
7.ARMv7:于2005年发布,包括多个变体,如