ARM杂散知识】的更多相关文章

画重点: 1.存储器格式:重点是大小端识别 经常考 2.对齐后结构体占用空间大小:使用aligned,packed,#pragma pack()三种方式都要会 Thumb指令集 Thumb指令集能够以16位的系统开销得到32位的系统性能 正常ARM指令PC+4,Thumb指令PC+2 Thumb指令集与ARM指令集的区别 Thumb指令集没有协处理器指令.信号量指令以及访问CPSR或SPSR的指令,没有乘加指令及64位乘法指令等,且指令的第二操作数受到限制:除了跳转指令B有条件执行功能外,其他指…
ARM汇编程序基本知识 1.汇编程序的基本组成 ARM汇编语言程序中,程序是以程序段为单位组织代码的.段是相对独立的指令或者代码序列,拥有特定的名称.段的种类有代码段.数据段和通用段,代 码段的内容为执行代码,数据段存放代码运行时需要用到的数据,通用段不包含用户代码和数据,所有通用段共用一个空间.段使用AREA伪操作来定义,并且说 明相关属性,如 代码段定义 AREA Init, CODE, READONLY … 数据段定义 AREA Stack1,DATA,READWRITE,NOINIT,A…
ARM简述 ARM公司既不生产芯片也不销售芯片,它只出售芯片技术授权.ARM技术具有很高的性能和功效,因而容易被厂商接受.同时,合作伙伴的增多,可获得更多的第三方工具.制造和软件支持,这又会使整个系统成本降低,让产品进入市场的时间加快,从而具有更大的竞争优势. 一.ARM技术的应用领域及其特点 采用ARM技术IP核的微处理器遍及汽车.消费电子.成像.工业控制.海量存储.网络.安保和无线等各类产品市场. 1.什么是IP核? IP核是指拥有知识产权的控制功能单元.(IP核是一段具有特定电路功能的硬件…
1.ARM型号的发展历史 2.单片机.工业上一般使用RTOS(实时操作系统),Linux.Android用在影音娱乐等对实时性要求没那么高的场合: 3.ARM内核版本号和Soc版本号是由ARM确定的,而Soc型号是由半导体公司确定的: 4.Cortex系列ARM产品线分割成了3个系列,这个是市场细分的需要和选择: 5.ARM已经发布了一些64位架构如A53等,主要面向高性能服务器类的应用: 6.ARM下一步重点发展方向是Cortex-M7,特点是低功耗,主要面向物联网终端. 参考来源: 朱有鹏老…
1.ARMv8引入了执行状态机制,分为AArch32和AArch64 AArch32为T32(Thumb)和A32(ARM). AArch64为A64一种指令集 A64和A32的指令都是32位宽,可以操作64/32位寄存器和64/32位地址总线 T32技术兼容Thumb和Thumb2指令集,是16/32位混合指令集 2.在ARMv7后期版本里,引入来Thumb2技术(增加指令个数与位宽,但大多数无条件,可以用it指令带条件,在ARM和Thumb指令之间不需要显示切换状态了),Thumb和ARM指…
AMBA简介 随着深亚微米工艺技术日益成熟,集成电路芯片的规模越来越大.数字IC从基于时序驱动的设计方法,发展到基于IP复用的设计方法,并在SOC设计中得到了广泛应用.在基于IP复用的SoC设计中,片上总线设计是最关键的问题.为此,业界出现了很多片上总线标准.其中,由ARM公司推出的AMBA片上总线受到了广大IP开发商和SoC系统集成者的青睐,已成为一种流行的工业标准片上结构.AMBA规范主要包括了AHB(Advanced High performance Bus)系统总线和APB(Advanc…
1.ARM处理器的寄存器,ARM与Thumb状态,7中运行模式 http://blog.chinaunix.net/uid-28458801-id-3494646.html 2.ARM的7种工作模式.37个通用寄存器.CPSR程序状态寄存器 https://blog.csdn.net/oqqHuTu12345678/article/details/71215628 3.Arm的几种工作模式和工作状态 https://blog.csdn.net/beyond702/article/details/…
1.final关键字的用法: 1. final关键字修饰一个基本类型的变量时,该变量不能重新赋值,第一次的值为最终的. 2. fianl关键字修饰一个引用类型变量时,该变量不能重新指向新的对象. 3. final关键字修饰一个函数的时候,该函数不能被重写. 4. final关键字修饰一个类的时候,该类不能被继承.利用在不想被他人重写类里面的方法,直接用final关键字就可以避免了 常量修饰符一般为:   public static final 2.值交换,如果是不同引用类型变量操作同一个对象,那…
Android: 1.编译 普通的编译: 1). source build/envsetup.sh 2).lunch 3).make -jx make kernel:只重新编译kernel部分镜像,但是不会打包更新boot.img make bootimage-nodeps:不会编译kernel以及ramdisk,只会将out目录中现有的kernel和ramdisk.img重新打包一次生成boot.img make ramdisk:只重新编译ramdisk镜像,生成ramdisk.img,但是不…