说起企鹅大家会想到那只让你充Q币的企鹅,但是学过嵌入式的朋友一定会第一时间想到Linux。

打开网易新闻 查看精彩图片

Linux是我们在学习和操作嵌入式时一定会接触到的,或许许多朋友对Linux比较陌生,其实嵌入式Linux里主要是含有bootloader, 内核, 驱动程序、根文件系统这4大块,在这里给大家详细说明一下。

Bootloader

简单来说bootloader就是裸板程序,只稍显复杂,所以要把bootloader看懂写好可不是那么轻而易举的事情。想要看懂写好bootloader主要有三个点:

对硬件的操作、对ARM体系处理器的了解程序的基本概念:重定位、栈、代码段数据段BSS段等。

打开网易新闻 查看精彩图片

对硬件的操作需要一定的硬件知识,即便你不会设计硬件,但要会看得懂,如果看不懂模拟电路,那么对数字电路要势在必得。对ARM体系处理器的了解,最主要的是三块内容:汇编指令、异常模式、MMU等。

内核

如果想要速成,内核的学习其实可以跨过,直接从写驱动开始学习,但想要成为高手,内核一定要深入掌握。主要是要对里面的调度机制、内存管理机制、文件管理机制等等有所了解。

打开网易新闻 查看精彩图片

驱动

驱动包含两个部分:硬件本身的操作、驱动程序的框架。学习驱动框架的话可以考虑看《Linux设备驱动》,而学习比较全面介绍驱动的可以去看《Linux设备驱动开发详解》,如果想在深入一点,《Linux内核情景分析》绝对是进阶武功秘籍。

打开网易新闻 查看精彩图片

根文件系统

根文件系统首先是内核启动时所mount的第一个文件系统,内核代码映像文件保存在根文件系统中,而系统引导启动程序会在根文件系统挂载之后从中把一些基本的初始化脚本和服务等加载到内存中去运行。