|
|
51CTO旗下网站
|
|
移动端

1.4 ARM编程

《ARM嵌入式系统编程与优化》第1章Linux/ARM嵌入式平台,本章介绍如何使用GCC编译器、汇编器和连接器来编写和执行独立的汇编语言程序,以及如何将一个C语言代码和汇编语言代码合起来,以验证汇编代码子程序的正确性。本节为大家介绍ARM编程。

作者:梁元宇 译来源:机械工业出版社|2017-09-26 19:00

【大咖·来了 第7期】10月24日晚8点观看《智能导购对话机器人实践》

1.4 ARM编程

可以用各种高级编程语言编写ARM处理器。一些ARM处理器本身还可以执行Java字节码。话虽如此,但因为本书主要关注的是代码性能,所以采用C语言编程。

GCC和Clang是两个***的开源C/C++的编译工具链,它们包括ARM处理器的后端,支持完整的C/C++开发、库支持以及调试。ARM Holdings、Keil公司以及德州仪器为ARM提供商业编译工具链。商业编译器可以产生比开源编译器更快的目标码,但是为了忠于Linux,本书使用Linux的官方编译器GCC来描述高级代码的特征。

像ARM这样的RISC架构起初是用一个小而简单的指令集设计的。这使得编译器能够有效地利用可用指令。然而,大多数现代指令集架构包括那些来自ARM和英特尔的ISA都增加了诸如多媒体、数字信号处理等复杂指令。许多这些指令允许单一指令处理多个输入(这就是所谓的单指令多数据流即SIMD指令)。现在的编译器面临一个困难,即如何在程序员不参与的情况下有效地使用这些指令。

一般来说,利用这些指令(并获得由此产生的性能提升)要求程序员使用内联汇编或者内联函数。内联函数是用于解析编译时具体指令的函数。内联函数比汇编语言更易使用,但一些优化技术还是需要用到汇编语言。


喜欢的朋友可以添加我们的微信账号:

51CTO读书频道二维码


51CTO读书频道活动讨论群:365934973

【责任编辑:book TEL:(010)68476606】

回书目   上一节   下一节
点赞 0
分享:
大家都在看
猜你喜欢

订阅专栏+更多

16招轻松掌握PPT技巧

16招轻松掌握PPT技巧

GET职场加薪技能
共16章 | 晒书包

289人订阅学习

20个局域网建设改造案例

20个局域网建设改造案例

网络搭建技巧
共20章 | 捷哥CCIE

645人订阅学习

WOT2019全球人工智能技术峰会

WOT2019全球人工智能技术峰会

通用技术、应用领域、企业赋能三大章节,13大技术专场,60+国内外一线人工智能精英大咖站台,分享人工智能的平台工具、算法模型、语音视觉等技术主题,助力人工智能落地。
共50章 | WOT峰会

0人订阅学习

读 书 +更多

网管员必读——网络安全(第2版)

本书是在《网管员必读—网络安全》第1版的基础上修改而成的。新版在保留第1版实用内容的基础上增加了大量新的实用内容,同时删除了一些过时...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊

51CTO服务号

51CTO播客