- 1、本文档共64页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
单片机与嵌入式系统10.ppt
uCOS-II 结合操作系统概念理解,并不仅限于此/彼? 一、Intel x86 PC引导过程 二、μC/OS-II内核结构 一、 Intel x86 PC引导过程 对于Intel x86 PC 1. 开启电源后, 机器就会开始执行ROM BIOS的一系列系统测试动作,包括检查RAM,keyboard,显示器,软硬磁盘等等。 2. 执行完BIOS的系统测试之后,紧接着控制权会转移给ROM中的启动程序(ROM bootstrap routine);这个程序会将磁盘上的第0轨第0扇区(叫boot sector或MBR ,系统的引导程序就放在此处)读入内存中,并放到自0x07C0:0x0000开始的512个字节处;然后处理机将跳到此处开始执行这一引导程序;也即装入MBR中的引导程序后, CS:IP = 0x07C0:0x0000 。 ***如果这个扇区的最后两个字节是“55 AA”,那么这就是一个引导扇区。如果最后两个字节不是“55 AA”,那么BIOS 就检查下一个磁盘驱动器。 3. 加电后处理机运行在与8086相兼容的实模式下。 2 引导例子 读引导扇区后计算机就完全归你控制了。由你任意发挥…, 自己动手生成引导程序(boot.asm) !!!切记先不要那硬盘做实验 如何写主引导区(MBR) boot.asm org 07c00h ; 程序会被加载到7c00处,所以需要这一句 mov ax, cs mov ds, ax mov es, ax Call DispStr ; 调用显示字符串例程 jmp $ ; 无限循环 DispStr: mov ax, BootMessage mov bp, ax ; ES:BP = 串地址 mov cx, 16 ; CX = 串长度 mov ax, 01301h ; AH = 13h, AL = 01h mov bx, 000ch ; 页号为0(BH = 0) 黑底红字(BL = 0Ch,高亮) mov dl, 0 int 10h ; int 10h ret BootMessage: db Hello, OS world! times 510-($-$$) db 0 ;填充剩下的空间,使生成的二进制代码恰好为512字节 dw 0aa55h ; 引导扇区需要以55AA结束 INT 10h INT 13h BIOS调用 所谓BIOS调用是指:利用计算机软中断完成需要实现的功能。 INT 10h 实现显示,它分字符与图形模式。可进行显示模式设置、设定显示位置、调色板颜色等等 INT 13h 硬盘、软盘读取控制功能,实现 绝对读写 一般开放源代码的读操作 .ResetFloppy ; 重置磁盘 mov ax , 0 ; 设置重置磁盘的功能号 mov dl , [bootdrive] ; 选择启动磁盘 int 0x13 jc .ResetFloppy ; 如果出错则重试 .ReadFloppy ; 读内核到内存中 0000:9000 (es:bx)处 xor ax , ax ; 设置 es 寄存器 mov es , ax mov bx , 0x9000 mov ah , 2 ; 设置读磁盘功能号 mov dl , [bootdrive] ; 设置欲读驱动器号 mov ch , 0 ; 磁头号 mov cl , 2 ; 起始扇区号 mov al , 17 ; 读入扇区数量 int 13h jc .ReadFloppy 3 如何制作引导盘 需要(开发)工具,需要(开发)环境,需要实验对象 自己开发、借鉴其它人、用通用的 Windows写映像盘、Linux、DOS 、专用 生成IMG文件 #include fstream.h #include iostream.h #include windows.h #include assert.h #include stdio.h int main( int argc , char** argv ) { char ch ; argv++ ; unsigned int count = 0 ; if( argc == 1 ){ cout argv[0]Targetfile sourcefile1 sourcefile2 ... endl ; cout or write floppy argv[0] Targetfile endl ; } else if(argc 2){ //先写IMG文件
您可能关注的文档
最近下载
- 2025年江苏钟山宾馆集团有限公司校园招聘笔试模拟试题及答案解析.docx VIP
- SL176-2007 水利水电工程施工质量检验与评定规程.docx VIP
- IT运维服务智能管理平台设计与实施策略.doc VIP
- 全省组织人事系统学习贯彻《条例》培训班的辅导报告.pptx.pptx VIP
- 2023年江西机电职业技术学院教师招聘考试笔试试题及答案解析.docx VIP
- 非全日制硕士专业学位研究生学习成绩记录表(模板).doc VIP
- 配置审计报告模板.docx VIP
- 工程造价审计保密工作及风险管控制度.docx VIP
- 《建筑给排水设计》课件分享.ppt VIP
- 煤矿综采维修钳工技能理论应知应会考试题库大全-下(判断题).doc VIP
文档评论(0)