이재홍 http://www.pyrasis.com 2003.9.23 ~ 2004.1.28 Yijaehong http://www.pyrasis.com 2003年9月23日〜 1月28日, 2004年
出处:韩文的google翻译
原:
http://www.pyrasis.com/main/MicroC/OS-IIInBochs
在开源Bochs的X86 模式中运行 uc/ OS II。
Bochs版本2.0.2。
uc/ OSII的x86保护模式(保护模式)和微软的Visual C + +编译汇编文件将使用( MASM 6.0 )汇编。
这就需要一个名为WinImage 。
Bochs是http://bochs.sourceforge.net 可从。 bochs-2.0.2.win32-bin.zip
WinImage http://www.winimage.com 可从。 winima61.exe
MicroC/OS-II OS的第二来源 ucosx86p.zip
MASM MASM611.zip
之所以使用Bochs和WinImage是为了避免麻烦。
汇编源ucosx86p.zip编译1.44并保存到软盘上作为一个正常的电脑从软盘启动时运行。
但是,如果你采用x86模拟器,就不需要重启您的PC ,WinImage使用每次您就不必再保存。
//=======================================================================
1. 1 。预置汇编#
Bin目录,那里的
.IMG -引导扇区映像文件
ExeToImg.exe - EXE文件,该文件包含一个实用程序来转换exe文件为IMG文件
Entry是一个目录,其中包含启动有关的设定。
源和用户任务MyTask
uc/ OSII 在此文件夹中。
MyTask在Visual C + +中打开MyTask.dsw将作如下安排。
1.1 微软VC汇编设定。
把( MASM611.zip )解压后安装,假定目录是 ”C :/ MASM611“
那么“ C : / MASM611/bin”是它需要运行编译的主目录。
Visual C++设定:
Tools -> Options -> Directoris Visual C + +中的工具“ - >选项- ” Directoris
查看目录==》 可执行文件(红色矩形框)。
当您按一下黑色圆圈的地方将建立一个新的路径。
当您单击一个蓝色的矩形框,一个窗口会弹出...按钮。
把MASM611的Bin目录添加,然后单击确定。
Visual C++中设定:
Project -> Settings -> os_cpu_a.asm -> Custom Build
在Visual C + +项目- “设置” - > os_cpu_a.asm - “自定义生成去。
在红框中(指令ml)所使用的命令来自masm6的bin文件夹中。
2. 2 。 MicroC/OS-II 编译#
发布目录下的目录下ucosx86p MyTask是在屏幕上。
这是一个MyTask.exe文件,文件将MyTask.img 。
这两个文件将显示出全部完成。
MyTask.exe文件是编译直接生成的文件,并不能使用。 它需要转换成MyTask.img,即MicroC/OS-II是操作系统内核。此文件ucos- II的一个二进制的x86文件 。
就像编译Linux的人知道,是相同类型的文件和它的zImage 。
3. 3 。 创建软盘镜象, #
ucos-ii_floppyimage.zip ucOS的第二的X86收到磁盘镜
如果您下载此文件,以下过程可以忽略不看。
把1.44软盘插入到计算机中。 Ucosx86的磁盘格式,然后在目录中的目录MyTask Build.bat是一个文件名为。
上图是Build.bat里的命令 。
4. 4 。WinImage设置
WinImage是自定义安装。 请按照下列步骤操作。
Read disk当您单击的img阅读 阅读磁盘。
我已阅读,点击保存按钮保存。
档案名称ucos - 2
文件格式的图像文件( *.的IMA ) ,并选择保存。
这里将建立档案ucos - ii.IMA “uc/ OS的第二的X86的磁盘映像”
5. 5 。 Bochs 设置(略,详见原文或相关资料)
生成的镜像文件在x86模拟器, VMware的虚拟PC , Bochs ,结果一样。
本文介绍如何运行Bochs 。
解压缩档案bochs - 2.0.2.win32 - bin.zip。
Puleonoteun压缩bochsrc - sample.txt目录中的文件是Bochs 。
该文件被复制到bochsrc.txt 。
我刚刚创建的微/ OS的第二软盘映像文件ucos - ii.IMA文件
转到目录Bochs 。
그리고 bochsrc.txt 파일을 편집 합니다.和bochsrc.txt编辑文件。
#注释#这不是,所以程序不承认部分承认,但
学习很容易表现出评论。
file=bios/ BIOS-bochs-latest .文件=的BIOS / BIOS的bochs ,最新的档案=无敌bochs ,最新的,正确的如下。
#romimage: bios/BIOS-bochs-970717a # romimage : bios/BIOS-bochs-970717a #romimage: file=bios/BIOS-bochs-latest, address=0xf0000 #변경 전 # romimage :文件=的BIOS / BIOS的bochs ,最新的,地址= 0xf0000 #变化 romimage: file=BIOS-bochs-latest, address=0xf0000 #변경 후 romimage :文件=无敌bochs ,最新的,地址= 0xf0000 #变化 #romimage: file=bios/BIOS-bochs-2-processors, address=0xf0000 # romimage :文件= bios/BIOS-bochs-2-processors ,地址= 0xf0000 #romimage: file=bios/BIOS-bochs-4-processors, address=0xf0000 # romimage :文件= bios/BIOS-bochs-4-processors ,地址= 0xf0000 #romimage: file=bios/rombios.bin, address=0xf0000 # romimage :文件=的BIOS / rombios.bin ,地址= 0xf0000
即使在这些的BIOS /清除。
#vgaromimage: bios/VGABIOS-lgpl-latest # vgaromimage :的BIOS / VGABIOS - LGPL的,最新的 #vgaromimage: bios/VGABIOS-elpin-2.40 #변경 전 # vgaromimage : bios/VGABIOS-elpin-2.40 #变化 vgaromimage: VGABIOS-elpin-2.40 #변경 후 vgaromimage : VGABIOS - elpin - 2.40 #变化
디스켓 설정.磁盘集。
아래와 같이 고칩니다.正确如下所示。 맨 마지막 줄에 ucos-ii.IMA 파일 설정 부분을 주의 하시기 바랍니다.最后一行ucos - ii.IMA请注意,该文件的设置。
조금전에 만들어서 이동해 온 디스켓 이미지 파일의 경로 입니다.之前,以创建映像文件的路径软盘。
#floppya: 1_44=/dev/fd0, status=inserted # floppya : 1_44 = / dev/fd0 ,地位=插入 #floppya: file=../1.44, status=inserted # floppya :文件=.. / 1.44 ,地位=插入 #floppya: 1_44=/dev/fd0H1440, status=inserted # floppya : 1_44 = / dev/fd0H1440 ,地位=插入 #floppya: 1_2=../1_2, status=inserted # floppya : 1_2 =.. / 1_2 ,地位=插入 #floppya: 1_44=a:, status=inserted # floppya : 1_44 = 1 : ,地位=插入 floppya: 1_44=ucos-ii.IMA, status=inserted floppya : 1_44 = ucos - ii.IMA ,地位=插入
하드디스크 설정내용인데 하드디스크는 필요 없으므로 모두 주석처리 합니다.它的硬盘,硬盘的设置,也不需要处理的所有评论。
#ata0-master: type=disk, path="30M.sample", cylinders=615, heads=6, spt=17 # ata0主:类型=硬盘,路径= “ 30M.sample ” ,气瓶= 615 ,首长= 6 ,标贯= 17 #ata0-slave: type=cdrom, path=D:, status=inserted # ata0 -奴隶:类型=光盘,路径= D组: ,地位=插入 #ata0-slave: type=cdrom, path=/dev/cdrom, status=inserted # ata0 -奴隶:类型=光盘,路径= /开发/光驱,地位=插入 #ata0-slave: type=cdrom, path="drive", status=inserted # ata0 -奴隶:类型=光盘,路径= “驱动器” ,地位=插入
부팅 디스크 설정.启动盘套件。 플로피로 부팅 할 것이기 때문에 floppy로 하고 disk는 주석처리 합니다.启动软盘和软盘,因为它是一种意见。
boot: floppy开机:软盘 #boot: disk #启动:磁盘
아래 부분이 주석처리 되어 있는데 주석을 제거 합니다.这一评论是下文要删除评论。
pit: realtime=1坑:实时= 1
创建一个纯文本文件的名称bochs_start.bat 。当下次运行启动文件Bochs 。
bochs -qf bochsrc.txt bochs -资历bochsrc.txt
6. 6 。MicroC/OS-II 在Bochs中运行#
现在,当您运行bochs_start.bat微/操作系统- II将启动和运行。
7. 7 。 修改后的源代码重新运行#
Visual C + +中,修改的源代码和重新编译时ucosx86p 。 这一文件将在MyTask.img 。然后软盘映像文件前面创建并双击或ucos - ii.IMA内容中打开它WinImage 。
当你运行Bochs只是一个新的目录编制和保存bochs_start.bat微/操作系统- II是一个新的启动。重复此方法微/ OS的第二的X86保护模式可以查看源编译和运行。