本文共 1278 字,大约阅读时间需要 4 分钟。
1.Linux嵌入式系统简述
There are lots OSs:Windows CE, Linux, ucos-ii, vxworks, OSE, android, ecos....,这些系统都是UNIX-like system(这里可能不包括windows CE,事实上据说windows系统也是以UNIX为模板)。Linux是UNIX-like的系统,它是免费的,并且源码开放的,遵循GUN GPL协议的操作系统。Linux主要的操作系统版本有ubuntu, Red Hat, Debian等等,它的内核遵从POSIX,SUS,ISO C。
Linux 占有市场嵌入式产品的很大份额,并且嵌入式工程师也越来越多。
2.Linux Embedded System
linux的开发主要分为:BSP, linux系统移植,linux软件开发。一个典型的开发模式是:主机--线缆--从机。在linux的系统移植中,80%是BSP的工作,而且中国开发BSP的厂商不多,因为中国制造芯片的厂商不多。作为芯片开发商来说,开发完芯片之后最重要的工作就是BSP的开发,当基本完成所有的开发之后提供一个demon给客户,这个时候客户所需要的工作量就很少了。也就是说从事bootloader开发工作的职位不是很多。
3. Debug
作为一个嵌入式工程师,要了解RTOS,至少一种芯片,至少一种操作系统,还有各种总线,以及socket的使用。这里,如果一个工程师不了解TCPIP,不会用socket,那么他基本上就与这个时代不同。另外一种工程师必备的技能就是debug。How to debug:BDM,JTAG,IDE。JTAG对于调试bootloader非常有用,其他就不怎么必要了。至于怎么处理遇到的问题,第一步要GOOGLE。
4. 为什么要使用操作系统
在8位机的时代,操作系统也无处下手。在16位机的时代,嵌入式系统的功能也不是很多,通过寄存器的操作以及简单的软件就可以实现所需求的功能。当网络诞生,以及32位机普及的时刻,对网络的需求,对TCPIP的需求,需要我们使用OS,因为TCPIP协议栈已经在OS中内建了。我们不需要化那么多的时间,那么tough的去编写TCPIP协议栈了。这就是操作系统的好处。
5. 嵌入式系统的启动流程
firstboot-->bootloader-->OS,需要注意的是这里的bootloader可能不只一个。比如AT91XXXX的启动流程,在bootloader部分,有多个bootloader协同启动。我们其实就可以把bootloader看做是8位单片机上的程序。
6. 32位嵌入式芯片
ARM,MIPS,POWERPC等。这里面最稳定的是PPC,最不稳定的是ARM,ARM有build-in bootloader。MIPS由于其优秀的性能在机顶盒和多媒体中应用的很多。在所有的32位芯片中u-boot使用的最广泛,因为它几乎支持所有的32位芯片,最主要的是它内嵌了TCPIP协议。
7. bootloader做什么
转载地址:http://sofvb.baihongyu.com/