嵌入式设备系统有无操作系统的区别
随着通信、电子物联网的飞速发展,每天都有各种各样的芯片被研发出来,而要想知道这些芯片怎样工作以及工作后的作用,则离不开软硬件工程师的努力,任何一个计算机系统都是系统中软硬件协作的结果,没有硬件的软件是空中楼阁,没有软件的硬件是一堆废铁,硬件是软件运行的基础。软件上所有操作最终都会被硬件以硬件工作的时序进行工作,硬件建造出来是固定的,而软件则很灵活,可以根据场景适应多种应用,两者相辅相成,缺一不可。 设备驱动,顾名思义就是"驱使硬件设备行动",设备驱动直接与硬件打交道,按照硬件datasheet要求的方式上下电、读写寄存器、中断处理、通信、DMA搬运等等。驱动充当着硬件和应用之间的桥梁,所以驱动有时候既要和硬件工程师沟通设备的运行方式,又要和应用工程师讨论调用方法。 一、无操作系统 在早期的软件中,程序不在复杂的情况下工作比较单一,控制着不太复杂的系统,例如食堂刷卡机、公交刷卡机、微波炉、冰箱等,功能都比较简单,并不需要多任务调度、文件系统、内存管理等复杂功能,单任务架构完全可以很好地支持它们的工作。可能一个无限循环加上按键、中断的处理就能完成功能设计。在这种情况下,应用和驱动分割的不是那么清楚,一般可能就是一个人完成了应用和驱动,每种芯片可能根据工作方式写了一组接口,比如A芯片读寄存器AreadReg,B芯片读寄存器BreadReg,应用需要根据芯片使用进行接口调用,在这种情况下