大家好,今天小编关注到一个比较有意思的话题,就是关于arm编程学习的问题,于是小编就整理了3个相关介绍arm编程学习的解答,让我们一起看看吧。
arm 编程语言?
arm不是编程语言,ARM是ARM处理器。
ARM处理器是英国Acorn有限公司设计的低功耗成本的第一款RISC微处理器。全称为Advanced RISC Machine。ARM处理器本身是32位设计,但也配备16位指令集,一般来讲比等价32位代码节省达35%,却能保留32位系统的所有优势。
从事智能家居工作,该学ARM7,ARM9,STM32啊?
如果你想从事嵌入式应用程序的开发,直接上ARM9开发,学习LINUX或安卓去。
如果你想从事嵌入式驱动程序的开发,或者想成为一名博学多才的主管,又或者未来你想成为一名架构师,你需要单片机给你打下硬件基础,那你可以以“低端单片机-高端单片机-低端ARM-高端ARM”来学。
(图片来源网络,侵删)
基于GNU的ARM汇编开发环境介绍?
没有用于过实际开发,仅仅是个人尝试,目标架构是ARM:
测试环境:Windows8.1 +
MSYS2 with Mingw, Clang, LLVM
+GNU Tools for ARM Embedded Processor
首先用用Clang生成LLVM字节码
clang -emit-llvm --target=arm-none-eabi -mcpu=cortex-m3 -mthumb -mfloat-abi=soft
注意,需要手动添加
GNU Tools for ARM Embedd
(图片来源网络,侵删)
然后用llc生成汇编代码
接着,使用
GNU Tools for ARM Embedded Processor
的汇编器生成可执行文件arm-none-eabi-as -mcpu=cortex-m3 -mthumb -mfloat-abi=soft
二进制文件用
GNU Tools for ARM Embedded Processor
里的arm-none-eabi-objcopy生成一些需要注意的地方是Clang的默认配置可能和目标架构的汇编器不一致。比如arm-none-eabi-as会默认开启short-enums,当直接使用arm-none-eabi-gcc时这不是问题,因为编译器也默认开启了这个选项,但Clang不会,所以需要手动加上-fshort-enums。到此,以上就是小编对于arm编程学习的问题就介绍到这了,希望介绍关于arm编程学习的3点解答对大家有用。