基于linux操作系统来开发我们的产品叫linux系统开发。此开发的编程方法和裸机开发的编程方法是迥然不同的。裸机开发的编程方法是直接运行在硬件之上开发嵌入式linux系统,不与任何操作系统关联。
操作系统的存在势必要求设备驱动附加更多的代码和功能,把单一的“驱使硬件设备行动”变成了操作系统内与硬件交互的模块,它对外呈现为操作系统的API开发嵌入式linux系统,不再给应用软件工程师直接提供插口。由此可见,当系统中存在操作系统的时侯,驱动弄成了联接硬件和内核的桥梁。
linux系统开发框架如右图所示linux伊甸园论坛,最下层的是应用软件,下边是操作系统linux培训学校,再下边是驱动程序,最后是我们的硬件。
举个反例:linux系统可以挪到不同的硬件里面如pc机或则arm开发板后边。假如linux操作系统挪到PC机上,这么驱动就要适配PC机;假如linux操作系统挪到arm开发板后边,这么驱动就要适配arm开发板;所以说不同的硬件构架都可以跑linux,而且它的驱动程序是不同的,这么linux操作系统源码都是一样的,惟一不一样的就是驱动程序了。也就是说同一个操作系统可以挪到不同的硬件里面,而且驱动程序是有差别的,由于驱动程序是操作系统和硬件联接的一个桥梁。