文档章节

LiteOS-从bios到MBR引导代码

梦想游戏人
 梦想游戏人
发布于 2017/05/14 21:02
字数 356
阅读 134
收藏 0

 

启动步骤

1.BIOS 加电启动后,开始进入计算机启动流程

2.自检,该过程主要用于检查基本硬件故障,如内存,CPU等,该过程可以再BIOS设置里面关闭,自检通过后许多旧年代的主板会蜂鸣器 表示通过。

3.从BIOS配置的启动设备启动,可以是HDD 光驱,也可以是软盘。找到后开始读取MBR(主引导记录),这里就是关键了,

扇区开始的

第一段为:引导程序占用446个字节,并且引导程序第一段指令为org 7c00h,bios吧程序加载到0000:7c00处开始执行,为什么是这个值 http://blog.csdn.net/mirage1993/article/details/29908929  解释地清楚

第二段为分区表:16*4个字节

第三段为结束标示值为0xaa55 ,2字节

一共512字节。

4.加载引导程序

前面446字节记录着引导程序代码,

编写引导代码boot.asm

 


org 7c00h

mov ax, cs
mov es, ax 
mov ax, logo
mov bp, ax
mov cx, len
mov ax, 1301h
mov bx, 000fh
mov dl, 0
int 10h

logo: db "LiteOS 0.1 (c) 2013-2017 dreamyouxi.com"
len: equ $ - logo
times 510 - ($ - $$) db 0
dw 0aa55h

用masm工具 生成二进制代码  start nasm boot.asm -o boot.bin,生成的文件就是我们需要的512字节的MBR。

新建一个vm虚拟机 ,把设备文件设置为生成的BMR

运行

 

 

© 著作权归作者所有

共有 人打赏支持
上一篇: LiteOS-grup引导
下一篇: sigbus内存错误
梦想游戏人
粉丝 35
博文 435
码字总数 123998
作品 0
成都
私信 提问
物联网操作系统华为超轻量LiteOS解读

物联网终端设备开发遇到瓶颈 物联网经过这些年的发展,在终端设备开发中显现出诸多问题。 1、终端设备需要低成本、低功耗。由于多为小型便携产品,因而电池寿命和硬件成本就成了关键问题,降...

linuxCool
09/29
0
0
解码超轻量的华为LiteOS:为什么IoT需要专门的OS?

IoT设备真的需要OS吗?这是个问题。 物联网(IoT)作为拥有千亿级设备连接量的庞大市场,已经远超PC和移动手机市场体量。国内巨头在物联网平台已然较量了多个回合,而在此过程中,操作系统也...

王金旺
09/01
0
0
有人用过LiteOS 么?

有人用过LiteOS 么?

李勇2
2016/11/24
1K
6
豌豆机器小组发布最新 WRTnode2R,支持华为 Liteos、QQ物联与AllJoyn

5月26日,WRTnode在官方微博简单地曝光了新产品——WRTnode2R开发板。它在继续使用OpenWrt的同时,还嵌入了华为刚发布不久的物联网操作系统Liteos,封装了QQ物联的部分功能,并支持AllJoyn协...

观海yangquan
2015/06/09
4.9K
3
Contiki、TinyOS、LiteOS、Nano-RK、t-Kernel的操作系统性能和利弊

来至SICS的权威比较分析报告。 报告中比较了Contiki、TinyOS、LiteOS、Nano-RK、t-Kernel的操作系统性能和利弊,对于广大的物联网研究者和应用开发者不无裨益。 http://www.smeshlink.com/a...

龙鸟
2012/09/22
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Windows / Linux / MacOS 设置代理上网的方法汇总

本文汇总了 Windows / Linux / MacOS 设置代理上网的各种方法,总结如下: 1、设置系统代理(Windows、Linux、MacOS) 2、设置代理插件(Chrome、Chromium、Firefox、Opera、QQ等浏览器) 3、...

sunboy2050
昨天
1
0
自定义 Maven 的 repositories

有时,应用中需要一些比较新的依赖,而这些依赖并没有正式发布,还是处于milestone或者是snapshot阶段,并不能从中央仓库或者镜像站上下载到。此时,就需要 自定义Maven的<repositories>。 ...

waylau
昨天
1
0
徒手写一个es6代码库

mkdir democd demonpm initnpm install -g babelnpm install -g babel-clinpm install --save-dev babel-preset-es2015-node5 在项目目录创建两个文件夹 functional-playground ......

lilugirl
昨天
2
0
linux定位应用问题的一些常用命令,特别针对内存和线程分析的dump命令

1.jps找出进程号,找到对应的进程号后面才好继续操作 2.linux查看进程详细信息 ps -ef | grep 进程ID 3. dump内存信息 Jmap -dump:format=b,file=YYMMddhhmm.dump pid 4.top查看cpu占用信息 ...

noob_chr
昨天
2
0
Android TV开发-按键焦点

写在前面 按键焦点过程了解 2.1 dispatchKeyEvent 过程了解 2.2 焦点查找请求过程了解 1.2.1 第一次获取焦点 1.2.3 按键焦点 焦点控制 焦点记忆 应用场景 参考资料 [TOC] 1. 写在前面 工...

冰雪情缘l
昨天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部