对嵌入式linux的理解
一个好的单片机程序,一样能够完美地执行需要的功能,又为什么一定要向系统发展呢?
单片机程序是直接操作驱动程序,调用相应的函数,实现功能即可。但是对于嵌入式linux系统来说的话,硬件的驱动程序会被封装(可见),会留下相应的使用接口。我们的linux系统运行之后,你可以设计自己的功能,如果需要硬件的,只需要使用硬件程序的驱动接口即可。即便你对底层硬件不是很熟,也能直接编写上层软件。毕竟他的底层驱动已经被封装,上层和底层已经分开了,对开发者来说更加的方便和快捷。
但是对一个优秀的嵌入式工程师来说,仅仅会编写上层软件是不够的,如果你在上层软件调试的时候,出错了,你该怎么办?嵌入式上层软件能否正确运行,和底层驱动的关系太大了,因为嵌入式是软硬一体的。比如说,你要写个跑马灯,调试的时候出错,有可能是你的程序的问题,也有可能是下层驱动的问题,更有可能是硬件本身出了问题。
也就是说,一个合格的嵌入式工程师,得会写运行于linux之上的上层软件,也得会写硬件驱动,会看硬件电路图。当然了,这听起来有点难度,但是对于我们本身就是搞单片机的人来说,写驱动程序不是问题,看原理图也不是问题。有问题的是,我们如何从单片切入到系统,从单片驱动切入到系统驱动。
慢慢来,不要急,毕竟会写linux底层驱动,玩操作系统的人,月薪都是1w以上的。只要能都坚持学习和实践,有钻研的精神的,掌握基于linux的嵌入式系统,必是手到擒来。本人,已在工作之余,搞了半年左右,初亏端倪,很觉得在这方面发展,还是很有前途的。
学习linux的开始
要学习嵌入式linux,首先你得了解linux。linux是一个系统,和windows一样,它是一个操作系统,只不过,Windows是闭源的,Windows的内部程序是看不到的;linux就不同了,构成linux系统的代码都是可见的,其开源性,使得完全可以去更改它的内核代码。由于其开源性,网上的资料很多,可供学习者参考。
-
开始学习嵌入式linux,必须在电脑上安装linux系统。按linux系统有两种方法:
1:在电脑按一个虚拟机,然后在虚拟机上按一个linux系统。如果你的电脑配置不好,内存小的话,不建议这种方法,不然你的电脑会很卡。
2:在电脑上直接安装linux系统。这样一点都不卡,但是你是双系统的话,同时只能工作一个系统。