ARM ABI总体概述
来源:互联网 发布:数据录入员有前途吗 编辑:程序博客网 时间:2024/05/18 03:41
最近在调一个cache功能的时候,arm突然无故挂掉,通过仿真器跟发现内存无端被改。
为分析linux的异常,故要分析栈,网上google了一下,对这个栈各家所云不到痛处,突然看到有网友提到有个ARM过程调用标准(APCS)的文档专门说这个的,于是上网看了下,平时只注重cpu内部实现功能,忽略了软件的标准。
原来arm是有个abi的标准,定义了arm的可执行文件的标准接口,elf文件标准,过程调用标准,运行时abi标准,c库标准,c++的abi标准,以及异常句柄的abi标准,这一套完整地定义了arm体系下可自行文件是怎么定义,怎么运行的。除此,arm也同时符合c++通用标准和通用elf标准。这些文档对我非常有用。
下面链接是ARM的技术文档的地址,这里是我学习笔记用,实际还是看官方文档为准。
http://infocenter.arm.com/help/index.jsp
下面是arm体系的一个概述图:
由图中可以看出,arm的可执行文件的格式分4中:
1.RTOS或者裸机的静态镜像模式
2.PLAM的单一地址空间的DLL模式。
3.symbian的虚拟地址空间DLL模式。
4.大部分符合SVr4的操作系统使用的DSO模式。
其中symbian和SVr4的不同在于SVr4支持代码支持在不同进程运行在不同的进程空间上,而Symbian标准不支持。
在此基础上,这些可执行文件在实际运行的时候,必须支持arm定义的过程调用标准,C++ABI标准,ELF标准,DWARF标准,运行时ABI和C库ABI标准,ARM调试ABI标准。
这一整套构成了ARM体系下的ABI体系。
ABI标准具体体现在了ARM C/C++扩展和ARM汇编上。
- ARM ABI总体概述
- ARM ABI学习总结
- arm逆向工程abi
- Arm ABI和浮点运算
- Spring StrutsMVC 总体概述
- 总体参数估计概述
- Oracle体系结构总体概述
- 软件工程之总体概述
- UML总体概述
- UML总体概述
- android 资源总体概述
- 关于armhf (hard-float ABI for ARM)
- 关于armhf (hard-float ABI for ARM)
- 关于armhf (hard-float ABI for ARM)
- ARM交叉编译器以及ABI/EABI
- ARM概述
- ARM概述
- ARM概述
- ubuntu 无法应用原保存的显示器配置
- AOP技术基础
- 设计模式思考和拾遗(学习笔记和思考,持续更新)
- 黑马程序员——throw和throws的区别
- net use命令详解
- ARM ABI总体概述
- ACM寒假培训——各种排序
- 黑马程序员——数组和集合的主要区别
- 2014 年,一切都会更好!
- 直接插入排序算法
- 黑马程序员——使用Iterator遍历集合
- FLSL2.0学习笔记(二)
- ANDROID 清除WIFI 已有連接過的歷史AP
- 黑马程序员——快速排序