嵌入式系统需要学什么语言?
根据中国物联网校企联盟的建议,学习嵌入式系统的必备知识与学习方法如下:
1、C开发经验
条件:Linux。方法:主要是掌握ANSI C编程(不包括gtk,qt等图形可视化开发)
2、网络、操作系统、体系结构
条件:Linux,各种书,算法、例程。方法:通过C编程实现简单的网络等知识的算法和过程。
3、嵌入式系统概念
条件:各个嵌入式网站,讨论组,书籍。方法:少提问,多留给自己思考的空间。
4、嵌入式开发实践
条件:各种嵌入式系统开发工具的demo版,包括编译器,仿真器。
方法:一个是基于MCU/MDSP的嵌入式系统开发,另一个是像Palm OS,WinCE,uC/OS II等RTOS下的应用软件开发。第一个是针对硬件开发而言的,而第二个则是针对软件开发而言的。
扩展资料
发展趋势:
1、嵌入式开发是一项系统工程,因此要求嵌入式系统厂商不仅要提供嵌入式软硬件系统本身,同时还需要提供强大的硬件开发工具和软件包支持。
目前很多厂商已经充分考虑到这一点,在主推系统的同时,将开发环境也作为重点推广。比如三星在推广Arm7,Arm9芯片的同时还提供开发板和板级支持包(BSP)。
而WindowCE在主推系统时也提供Embedded VC++作为开发工具,还有Vxworks的Tonado开发环境,DeltaOS的Limda编译环境等等都是这一趋势的典型体现。当然,这也是市场竞争的结果。
2、网络化、信息化的要求随着因特网技术的成熟、带宽的提高日益提高,使得以往单一功能的设备如电话、手机、冰箱、微波炉等功能不再单一,结构更加复杂。
参考资料来源:百度百科-嵌入式系统
另外C++和汇编也有一定比例上的使用。
所以从适用性上来说,学习C语言是最好的。
另外在学习C语言的同时,推荐学习嵌入式系统编程时用得比较多的知识,比如单片机原理、数据结构算法、常见的外设及驱动、嵌入式操作系统,这在将来工作中也会带来不小的益处。
C语言简介:
C语言是一门通用计算机编程语言,应用广泛。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。
尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器(单片机或称MCU)以及超级电脑等作业平台。
基本特性
1、高级语言2、结构式语言3、代码级别的跨平台4、使用指针特有特点
C语言是一个有结构化程序设计、具有变量作用域(variable scope)以及递归功能的过程式语言。
C语言传递参数均是以值传递(pass by value),另外也可以传递指针(a pointer passed by value)。
不同的变量类型可以用结构体(struct)组合在一起。
只有32个保留字(reserved keywords),使变量、函数命名有更多弹性。
部份的变量类型可以转换,例如整型和字符型变量。
通过指针(pointer),C语言可以容易的对存储器进行低级控制。
预编译处理(preprocessor)让C语言的编译更具有弹性。
优点
1、简洁紧凑、灵活方便
2、运算符丰富
3、数据类型丰富
4、表达方式灵活实用
5、允许直接访问物理地址,对硬件进行操作
6、生成目标代码质量高,程序执行效率高
7、可移植性好
8、表达力强
缺点
1、 C语言的缺点主要表现在数据的封装性上,这一点使得C在数据的安全性上有很大缺陷,这也是C和C++的一大区别。
2、 C语言的语法限制不太严格,对变量的类型约束不严格,影响程序的安全性,对数组下标越界不作检查等。从应用的角度,C语言比其他高级语言较难掌握。也就是说,对用C语言的人,要求对程序设计更熟练一些。
嵌入式系统应用越来越广泛,专业的嵌入式工程师对这样的问题肯定不会太关注,只是针对一些初级入门者,做个简单的了解,认识一下这个广受关注的技术是由哪种语言编写的?
目前,在嵌入式系统开发过程中使用的语言种类有很多,但仅有少数的几种语言得到了比较广泛的应用,主要有Ada、C/C++等几种,接下来看看这几种语言。
Ada语言是20世纪70年代美国国防部开发并投入使用的功能强大的通用系统开发语言,初为Ada83。它支持模块化、独立编译、协处理等功能,其可靠性、可维护性、可读性都是相当好的。后来,为了更好地支持OOP(Object-Oriented Programming),对其进行了改进,形成了目前广泛使用的Ada95。使用Ada语言可以大大改善系统的清晰性、可靠性、可维护性等性能指标。它是美国国防部指定的唯一一种可用于军用系统开发的语言。
C语言既具有汇编语言的效率,又具有高级语言的易编程性,具代表性的应用就是UNIX操作系统,从20世纪80年代中期C语言涉足实时系统之后,就受到了普遍的欢迎,是目前使用广泛的嵌入式系统编程语言。
C++在支持现代软件工程、oop、结构化等方面对C进行了卓有成效的改进,但是在程序代码容量、执行速度和程序复杂程度等方面比C语言程序性能差一些。
当然也有很多学员或是已经就业的学员说,嵌入式技术中应用多的语言编程是C/C++两种。具体会应用哪种编程语言得根据从事的工作来定。