跳至内容
深圳市捷比信实业有限公司 · 产品选型与采购咨询联系业务人员
高频电阻捷比信 · 专业器件主题站

您是否想过为什么在嵌入式开发中应使用C语言?

对于那些现在从事嵌入式开发的人来说,C语言似乎是必不可少的技能,也是最常见的开发语言。但是我们是否曾经想过为什么在嵌入式开发中使用C语言?为什么不使用汇编?为什么不使用Java?我想从嵌入式开发开始->反向验证->正面验证。什么是嵌入式开发?百度百克表示如下:嵌入式开发是指在嵌入式操作系统下进行的开发,包括在硬件和软件下的系统设计指导以及全面的研发。除了暂时将硬件分开的EDA R& D,重点是在某些硬件条件下的系统设计和软件R& D。在我们通常的联系方式中,嵌入式开发常用的系统是WinCE,linux,android和一些实时操作系统等。使用的语言是c ++,c ++或汇编语言;使用高级处理器,arm7,arm9,arm11或某些处理器。共有三种主流的嵌入式平台,例如8bit,16bit,32bit微控制器:ARM平台,DSP平台和FPGA平台。为什么不将程序集用于嵌入式?严格来说,这不是必须的,但不建议使用汇编语言和C语言直接访问硬件。您可以直接编译并生成硬件可以识别的机器代码文件,并且汇编语法相对简单,并且生成的可执行文件随着硬件的发展,内存越来越大。组装的优点不再是优点,并且难以组装。普通使用51次的组装是可以的,并且没有太多的说明。新型的单片机具有数百个寄存器。成千上万的依赖记忆只是幻想。复杂的大型项目无法由一个人完成。组件的可移植性,修改性和可读性太差。当然,如果您可以进行主装配,则可以读写微控制器的内部结构。清楚地了解时序等等,然后学习C语言,有助于理解整个系统。为什么不编写嵌入式Java语言?许多年前,java是为嵌入式而构建的语言。 Java语言的初衷是为嵌入式而设计的。原来的U-SIM卡,现在是新的SWP-SIM(NFC)卡,其中的程序都运行Java代码。随着开发,Java开始在通用平台上传播,而JAVA是面向对象的编程。正是编译器在后面添加了很多东西,成为了机器语言。换句话说,该程序无法直接操纵您这样的内存。当定义了一个类并最终在内存中实现该类时,编译器添加了许多其他内容。如父数据结构,VT表指针等。底层程序主要是操纵寄存器和内存地址,必须精确而直接地操纵它们,因此很难实现。当然,Java需要经过一层虚拟机,效率不是很高。许多嵌入式项目的资源有限,无法负担支持Java虚拟机的费用。嵌入式系统和C语言之间的连接操作系统(包括内核,驱动程序等)都用C语言和汇编语言编写,只有一小部分将使用汇编语言,而其余大多数都使用C语言。例如,在引导时,会有一些指令,例如切换处理器模式。使用汇编语言进行这种工作简单而粗鲁,代码量很小,并且在编写后就无需维护。 Unix在1970年代问世时,C在操作系统中开始流行。现在,常用的操作系统内核基本上是用C语言编写的,因此这是一个历史联系,也是成千上万程序员之间的联系。为什么选择C,要从C语言的特征入手C语言的设计目标是提供一种可以编译,处理低级内存,以简单的方式生成少量机器代码并且可以在不运行的情况下运行的编程语言。任何操作环境支持。它具有良好的可移植性,可以在各种具有不同体系结构的软件或硬件平台上运行。相对而言,C语言是高级语言中最接近物理级别的语言。经过一系列的编译和转换,最终将成为可以操作硬件的0101机械代码,并且它具有紧凑而灵活的语法机制。 C语言具有很高的运行效率。通过观察C语言的背景,我们可以看到:汇编语言-B语言-C语言。在芯片上执行的程序:编写程序集的执行效率最高,其次是C语言,约为80%。钍