liunx和嵌入式linux区别:
本文章只适合初学者阅读;
linux也是个人电脑的系统,它和window系统一样,只是最开始linux可能是因为界面不是很完美,不适合普通用户使用,所以并不为普通用户所了解,而它的实时性也可能是因为他的软硬件可配置,减去了很多开销吧!这里也提一点实时这个概念;实时就是在一定的时间范围内可以立即响应信号;并非像物理层那样,可以实时接收信号;只要是系统调用处理就不能做到绝对的实时,都会有开销;
作为window的长期用户来讲,造成我们一贯思维觉得电脑系统就是要有界面,其实并不是这样的,系统的作用大家可以去了解一下,主要是内存管理、进程管理、文件管理、设备管理;所以首先我们不能以惯用的思维去认为系统就是有界面的;这也就是我们初次接触linux时觉得敲命令行来操作电脑很不可思议,当你熟悉之后,使用多了就会认为确实很便捷,迅速;linux系统的是开源的,可以查看源代码,当然不是在你系统里看得到,因为你的系统是编译后的安装好的文件,需要源代码可以去官网下载;
嵌入式liunx:就是使用到现在的嵌入式芯片上,嵌入式作为精简指令集芯片,很多初学者都去查嵌入式到底是什么,我个人觉得不要去纠结这个概念,可以把它认为其实就是一款单片机,只是处理能力强和外设接口更多而已;比如你的C51的ADC最大时钟1M,而ARM crotex系列(嵌入式)就可以跑64MHZ,而且采集模式更多,这也是它复杂的原因之一;再回到嵌入式linux,他就是跑在了嵌入式芯片上的系统,能跑liunx系统的处理器,都有极强的处理能力,因为系统开销是很大的;
嵌入式linux驱动:
接着讲一下嵌入式linux驱动,一般来说嵌入式生产厂家都会给你提供一个内核源代码,对于不同的芯片,厂家一般为了开发人员方便都会提前修改好内核;驱动也就是在内核中根据自己的产品写出驱动代码。比如ADC模块,你的产品有个功能需要测量温度。那么就需要为这个测温模块写一个驱动程序,按照linux驱动程序的编写方法,写好数据调用接口;在应用程序中通过系统调用来读取数据。不管芯片怎么变,对于应用层来说还是liunx系统的应用编程;这也就是有系统的好处,可以做到平台无关性;大家可以去看看系统框架图,了解内核、驱动、以及应用的关系;