一、编程语言
从处理器的角度看:一个指令只是一个操作,那么执行多条指令构成的程序就是完成一个完整功能的操作。
从程序执行的角度看:处理器读取指令后译码执行,完成所有操作。
从程序设计的角度看:用指令来描述所要实现的功能,并组织这些指令,将指令和数据放在规定的存储位置,最终让字符变成可以执行的二进制数。
1、机器语言
二进制语言是处理器能直接执行的唯一语言,也叫机器语言。程序设计就要按照指令的执行顺序将相应的二进制数值放在相应的存储空间。这种方式简单直接,写入后就可以执行,但是不便于编程。
2、汇编语言
采用一些助记符来规范指令的排列和数据的存放。它们与汇编指令共同构成汇编程序。这些指令和规范一起就构成了汇编语言。
汇编语言编写的程序通过汇编器生成目标模块,该目标模块描述了其他在存储区段需要的空间和内容,每个存储区段存有指令、数据或者两者兼有。
将这些目标通过链接器互连,就可以创建一个可执行文件,该文件把数据和目标代码分配到合适的存储区段。链接器可以决定标号的地址并自动更新所引用标号的机器指令中的值。
在存储器中,通过内存镜像来存放可执行的内核代码和数据,它们会出现在所生成的可执行文件。
3、高级语言
为了让更多的程序设计不依赖于处理器和汇编语言,高级语言应运而生。高级语言是面向处理的,它采用规范的数据定义、操作语句和程序结构,使程序更接近处理思路,更易读易懂。高级语言编写的程序通过编译器可以生成汇编程序。
目前,微处理器系统底层驱动应用开发采用C语言。C语言本身是一种高级语言,描述简洁且易用,便于进行数据处理和业务应用开发。C语言的大部分语句与汇编语句相通,可视为汇编语句的一种变形,因此C语句操作机制清晰,处理效率较高,便于进行底层电路的驱动开发。