本文链接:https://blog.csdn.net/u012351051/article/details/50557899
受单片机和ARM7等小型cpu设备编程思维的影响,开始对嵌入式linux和PC中存在bootloader/BIOS的意义有了疑问
bootloader到底有没有必要存在呢?答案是:大部分情况下是有必要的。
首先,bootloader的作用是在硬件商店后运行的第一段软件代码,也叫引导加载程序,是在 *** 作系统内核运行之前运行的一小段程序,这小段程序的作用一般是初始化硬件设备,比如内存啊,堆栈等等,从而将系统的硬件环境编程一种合适的状态,然后再引导加载 *** 作系统,如linux或windows。
乍一看,其实挺有用,但这是一定必须的吗?显然不是,因为完全可以上电直接运行 *** 作系统,当然这个 *** 作系统的开头必须要包含上述bootloader的功能。这一点在单片机和ARM7中使用keil编程环境能理解。
但是,问题来了,如果我们想升级 *** 作系统呢?我们想升级应用程序呢?这一点对于windows或者linux都是很常见的,如果没有bootloader,那么我们必须要找到烧写电脑或者cpu的烧写工具,事实上,这对于生产商来讲,都不是一件容易的事情。但是有bootloaer就很方便了,我们只需要将升级后的 *** 作系统放到“硬盘”或nandflash中的某个位置,然后断电重启一下,bootloader就能在引导系统的同时,完成了对 *** 作系统的升级。这样是不是很方便了。
后续,目前有一些手机厂家对bootloader“上锁”,这个就相当于是给bootloader引导上了把锁,升级的 *** 作系统如果是自家的,自然是有“解锁”的钥匙的,但是是其他家的,那就不行了。
假如你做的产品卖给用户,当你发现该产品存在致命的问题,你是不是要去对程序进行更改,由于销售路径遍布各地,你不可能拿着一堆东西(电脑、下载器等)去找人家升级程序吧? 再说产品都是包装好的,预留的接口都是常用的接口,如USB、232/485 、SD卡等等,难道你还要去拆卸产品? 有了Bootloader就方便很多了,例如将升级文件拷贝在SD卡里面,简单按下按钮、点一下屏幕就可以升级,别人 *** 作起来也方便。
总结以上是内存溢出为你收集整理的为什么需要bootloader全部内容,希望文章能够帮你解决为什么需要bootloader所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)