富士电机fuji alpha5 smart plus用户手册:嵌入式汇编与ARM处理器解析

需积分: 0 20 下载量 113 浏览量 更新于2024-08-10 收藏 4.79MB PDF 举报
"本文档是富士电机fuji alpha5 smart plus用户手册的一部分,主要讨论了与ARM编译器相关的技术细节,特别是针对RVCT v1.2及其以前版本的特性。内容涉及如何调用虚拟成员函数以及在不同版本编译器间嵌入式汇编的差异。" 在嵌入式系统开发中,特别是在使用ARM处理器时,编译器的选择和使用方式至关重要。在标题提及的版本之前,如RVCT v1.2,编译器允许在内联汇编中直接使用SP(堆栈指针)、LR(链接寄存器)和PC(程序计数器)寄存器。这段描述展示了如何通过汇编代码调用虚拟成员函数,这个过程涉及到加载Vtable(虚函数表)地址,然后通过Vtable找到并调用相应的函数。 在虚拟成员函数调用的示例中,首先检查函数是否位于虚拟基中,如果不是,则通过调整指针并加载Vtable,接着通过Vtable中的偏移量调用函数。这通常在多态性编程中发生,允许通过基类指针调用派生类的重写函数。 然而,随着编译器版本的升级,如从RVCT v1.2到v2.0,这种直接使用SP、LR和PC寄存器的做法不再被支持。在更新的版本中,如果尝试这样操作,编译器会报错。为了在这些新版本的编译器中访问这些寄存器,开发者可以采用两种方法:一是使用完整的嵌入式汇编,这样可以执行所有ARM指令并访问这些特殊寄存器;二是利用编译器提供的特定函数,如`__current_pc()`和`__current_sp()`,它们分别用于获取当前的PC和SP寄存器值。 ARM处理器以其高效、低成本和低功耗的特点广泛应用于各种领域,包括嵌入式控制、多媒体、数字信号处理和移动设备。ARM公司通过设计CPU内核并授权给合作伙伴生产,构建了一个庞大的生态系统,提供了丰富的硬件选择和软件支持。 在ARM的历史中,从1990年代初由苹果、Acorn和VLSI Technology联合创立,到后来的快速扩张和全球布局,ARM逐渐成为嵌入式解决方案的RISC标准。通过不断的技术创新和市场拓展,ARM处理器在移动通信和嵌入式计算领域占据了主导地位。