对S3C2440裸板程序设计(无操作系统)的抽象
在嵌入式领域中,几乎所有的设备控制和各种协议控制都在同一个嵌入式CPU当中,非常有利于对CPU Core和设备进行抽象。如果能对CPU Core和设备的各种控制进行抽象,人们在移植OS或者开发驱动程序时就没有必要对CPU进行非常深入的了解,不必要了解某个寄存器的某个位是控制什么的,也没有必要了解怎样初始化某个控制寄存器等等。
在利用控制器编写裸板应用程序时,编程人员只需要了解该控制器的初始化顺序以及初始化的内容而不需要了解初始化的具体细节就能完成应用程序。显然可以大大的提高工作效率,并且对于硬件的具体细节设置是在应用程序中最容易出错的地方,而利用控制器则可以大大的减少出错的可能性。
ARM是功能更加强大的单片机,在学习裸机程序设计的过程中,发现ARM比一般的单片机集成了更多的外设(一般的单片机只集成了串口,还有四组IO端口),包含更多的GPIO,有更多的寄存器,通过寄存器的设置和启用来控制相关引脚,从而控制相关设备。S3C2440内部集成了硬件控制器,各种驱动协议用硬件控制器产生,我们只需配置对应硬件控制器的寄存器即可产生相应的驱动时序。 高端ARM学习以软件编程为主(即理解为主),其资源丰富,很少需要需要扩展外设,学习重点在于如何配置寄存器以及如何编写应用程序。