无拘无束的猪

一只无拘无束会飞的猪
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

启动代码和Bootloader区别

Posted on 2015-06-01 20:18  无拘无束的猪  阅读(320)  评论(0编辑  收藏  举报

很多人都会把两者混淆,所以这里稍微说一下。

启动代码和Bootloader有点类似于类和结构体的关系,也就是说结构体只是一种很特殊很特殊的类,但不能说类是一种结构体。

也就是说可以说启动代码是Bootloader,但是不能说Bootloader是启动代码。但是这也不是绝对的,只在某些情况下可以这么说。

通常,启动代码仅仅是指CPU复位后到main函数之前需要执行的汇编代码。需要这段代码是为了给C语言程序准备好堆栈空间,中断入口和外部数据等。而且这段汇编代码可以直接对硬件进行操作,效率很高。

Bootloader不是代码,而是程序,完整的程序,比如引导转载Linux和WinCE,以及BIOS程序。有些Bootloader将启动代 码也包含在内。也就是说启动代码相当于Bootloader的第一阶段,但是第一阶段的内容并不是绝对的,有些可以拿到第二阶段去实现,只不过牺牲了效 率。

 

引用:http://blog.sina.com.cn/s/blog_5ddb672b0100fthl.html