写这篇博客之前有几个问题需要解决,如下。
问题:
1.Bootloader的作用是什么?
2.串并网线口的用处是什么?
3.TFTP和BOOTP服务的作用是什么?
4.整个流程是什么?
引言:
以电脑的BIOS(Basic Input Output System)作为敲门砖来展开这个话题。
如果有人会装系统大概都会利用键盘F2等按键在没有进入系统之间登陆烧写在ROM的BIOS固件。我们可以看到,这个固件起到了引导作用,同时也能开启和关闭某些电脑的服务。
那么如何在ARM等开发板上烧写比较简易的引导呢?现在本人脑袋里想到的就是Bootloader,当然还有其他的引导啦!
好的,现在解决开篇提出的第一个问题。
“Bootloader的作用是什么?“
嵌入式Linux系统粗略可以分为四层(如下图)
我们可以这样认为,Bootloader就是一个简易的将PC端Linux系统和“毫无生机”的嵌入式ARM开发板连接起来的一个软件。
还有另外一种叫做Monitor的固件,当然啦,Monitor的功能更完善。具体的差异在此不做讨论。因此,严格来讲,Bootloader仅仅是引导设备并执行主程序的固件。
再来,我们介绍一下Bootloader的两种操作模式。
其一,“启动加载”模式
简单来说,就是啥也不干,直接加载系统就好。但是对于嵌入式ARM开发板来说,直接这样做是行不通的。道理你