ARM用什么写程序,是C++吗,还是C

ARM用什么写程序,是C++吗,还是C,第1张

学过单片机吗?纤樱其实ARM就是一个微没竖游型的CPU,要针对它进行嵌入式开发,首先是要了解arm的结构,知枯销道每个引脚的作用,设计好外围电路。这样才能在这个以ARM为核心的嵌入式平台上进行开发。

至于你问的用什么语言,那是次要的,只要可以 *** 作硬件的语言都可以,工业上常用的是c和汇编。C++也是可以的,但是C++更适合面向对象编程,而嵌入式开发是面向过程的结构化编程,所以我个人觉得C更适合。

至于开发环境,有很多编译工具可以选择,比如GCC,CYGWIN,最近Keil被收购以后也可以对ARM芯片进行开发了

ARM是嵌入式中的一种架构,ARM(Advanced RISC Machines),既可认为是一个公司的名字侍唯,也可认为是对一类微处理器的统称(也就是架构)。

指令集是CPU硬件接受指令,完成计算,输出结果时与软件进行交互时使用的语言,每条新的指令一般对应着一条或几条汇编语言,编译裂大后对应着可老源培以被CPU识别的机器码。指令集的支持是硬件与软件共同作用的结果,要想CPU支持某指令集,就要修改硬件电路,要想让软件支持新的指令集,就要修改程序,重新编译。

所以,arm是一种架构,指令集是计算机完成 *** 作的所有命令的集合,这两个是不同的。

汇编主要是要了解CPU指令及用法,常说的是PC机的x86汇编,指令是x86的复杂指令集。

arm汇编是arm的精简指令集,比x86容易学,程序格式倒是和x86汇编差不多。

C语言ARM的和x86的差不多,除了对硬件寄存器 *** 作不同,其它语法和流程都一样。

arm汇编程序每一行是指定arm core执行一条指令,每条指令都是硬件相关。

如:LDR R3, #1 用LDR指令将数值1放入R3寄存器准备参与运算

C语言与arm指令无关,只与逻辑运算有关,指定硬件地址的 *** 作才与硬件相关;

如果用arm编译器来编译,缓冲每行可能编译出1到多条arm指令。

如:i++//变量 i 递增1等效于LDR R3,#1

用LDR指令将数值1放入R3寄存器准备参与运算ADD R2, R2, R3

用ADD指令将R2、R3寄存器里的数值相加后放回R2寄存器以上等效汇编的R2、R3寄存器只是为了举例,C语言不像汇编,不需要由程序员指定用哪个寄存器参与运算,编译器编译时会根据程序结构自动判断选择。

运哪饥无论是c语言还是汇编语言,编译器编译后的结果是机器执行码,很多人因为汇编语言比较难懂及指令相关,所以以为它就是机器语言,其实它仍是人类设旁返计的编写程序的语言,仍需要编译器编译成机器码才能执行,它只是比C语言更接近硬件而已。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8212497.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-14
下一篇 2023-04-14

发表评论

登录后才能评论

评论列表(0条)

保存