Bochs \(x86 에뮬레이터\)에서 MicroC/OS-II 실행하기

Similar documents
Microsoft Word - windows server 2003 수동설치_non pro support_.doc

경우 1) 80GB( 원본 ) => 2TB( 복사본 ), 원본 80GB 는 MBR 로디스크초기화하고 NTFS 로포맷한경우 복사본 HDD 도 MBR 로디스크초기화되고 80GB 만큼포맷되고나머지영역 (80GB~ 나머지부분 ) 은할당되지않음 으로나온다. A. Window P

윈도 모바일 6.1을 OS로 사용하는 스마트폰(옴니아2 등)에서의 Tcl/Tk의 사용

6. 설치가시작되는동안 USB 드라이버가자동으로로드됩니다. USB 드라이버가성공적으로로드되면 Setup is starting( 설치가시작되는중 )... 화면이표시됩니다. 7. 화면지침에따라 Windows 7 설치를완료합니다. 방법 2: 수정된 Windows 7 ISO

NTD36HD Manual

슬라이드 1

ISP and CodeVisionAVR C Compiler.hwp

슬라이드 1

Studuino소프트웨어 설치

Microsoft PowerPoint Android-SDK설치.HelloAndroid(1.0h).pptx

Windows Server 2012

Oracle VM VirtualBox 설치 VirtualBox에서 가상머신 설치 가상머신에 Ubuntu 설치

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc

Title Here

Mango-IMX6Q mfgtool을 이용한 이미지 Write하기

<41736D6C6F D20B9AEBCADBEE7BDC42E687770>

Install stm32cubemx and st-link utility

목차 1. 시스템요구사항 암호및힌트설정 ( 윈도우 ) JetFlash Vault 시작하기 ( 윈도우 ) JetFlash Vault 옵션 ( 윈도우 )... 9 JetFlash Vault 설정... 9 JetFlash Vault

Microsoft PowerPoint - chap01-C언어개요.pptx

OnTuneV3_Manager_Install

강의 자료

PathEye 공식 블로그 다운로드 받으세요!! 지속적으로 업그래이드 됩니다. 여러분의 의견을 주시면 개발에 반영하겠 습니다.

SBR-100S User Manual

Slide 1

<4D F736F F D20B1B9B0A1BAB020BEC6C0CCC7C720C2F7B4DC20B0A1C0CCB5E5>

Mango-E-Toi Board Developer Manual

Microsoft PowerPoint SDK설치.HelloAndroid(1.5h).pptx

리눅스설치가이드 3. 3Rabbitz Book 을리눅스에서설치하기위한절차는다음과같습니다. 설치에대한예시는우분투서버 기준으로진행됩니다. 1. Java Development Kit (JDK) 또는 Java Runtime Environment (JRE) 를설치합니다. 2.

CD 무결성체크는 SKIP 을해도좋습니다. Next 버튼을누릅니다. Next 버튼을누릅니다.

을풀면된다. 2. JDK 설치 JDK 는 Sun Developer Network 의 Java( 혹은 에서 Download > JavaSE 에서 JDK 6 Update xx 를선택하면설치파일을

JDK이클립스

Chapter 1

Getting Started With Parallels Desktop¢ç 9

Microsoft Word - Armjtag_문서1.doc

tiawPlot ac 사용방법

<4D F736F F F696E74202D C61645FB3EDB8AEC7D5BCBA20B9D720C5F8BBE7BFEBB9FD2E BC8A3C8AF20B8F0B5E55D>

Microsoft PowerPoint - 02_Linux_Fedora_Core_8_Vmware_Installation [호환 모드]

1

볼륨 조절 아이콘 표시하기 만일 알림 영역에 볼륨 조절 아이콘이 표시되지 않았다면 아래의 방법을 따라합니다. 1> [시작] - [제어판] - [사운드 및 오디오 장치] 아이콘을 더블 클릭합니다. 2) [사운드 및 오디오 장치 등록 정보] 대화상자에서 [볼륨] 탭을 클릭

1

01장

1. 안드로이드개발환경설정 안드로이드개발을위해선툴체인을비롯한다양한소프트웨어패키지가필요합니다 툴체인 (Cross-Compiler) 설치 안드로이드 2.2 프로요부터는소스에기본툴체인이 prebuilt 라는이름으로포함되어있지만, 리눅스 나부트로더 (U-boot)

임베디드시스템설계강의자료 4 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과

네이버블로그 :: 포스트내용 Print VMw are 에서 Linux 설치하기 (Centos 6.3, 리눅스 ) Linux 2013/02/23 22:52 /carrena/ VMware 에서 l

디럭스바이블 2005 설치가이드 ( 주 ) 미션소프트 TEL FAX 디럭스바이블 2005 설치가이드 DeluxeBible 2005

Microsoft Word - 3부A windows 환경 IVF + visual studio.doc

Windows 8에서 BioStar 1 설치하기

4S 1차년도 평가 발표자료

Creativity Extension

SBR-100S User Manual

(Microsoft PowerPoint - \270\266\300\314\305\251\267\316\304\250USB_Host_Device_\272\316\306\256\267\316\264\365\275\307\275\300_Philip.ppt)

PowerPoint Template

RealDSP UT 프로그램 메뉴얼

WS12. Security

온라인등록용 메뉴얼

Windows 8 Upgrade Step by Step Guide

지도상 유의점 m 학생들이 어려워하는 낱말이 있으므로 자세히 설명해주도록 한다. m 버튼을 무리하게 조작하면 고장이 날 위험이 있으므로 수업 시작 부분에서 주의를 준다. m 활동지를 보고 어려워하는 학생에게는 영상자료를 접속하도록 안내한다. 평가 평가 유형 자기 평가

Microsoft PowerPoint - AME_InstallRoutine_ver8.ppt

지난시간에... 우리는 kernel compile을위하여 cross compile 환경을구축했음. UBUNTU 12.04에서 arm-2009q3를사용하여 간단한 c source를빌드함. 한번은 intel CPU를위한 gcc로, 한번은 ARM CPU를위한 gcc로. AR

BEA_WebLogic.hwp


목차 윈도우드라이버 1. 매뉴얼안내 운영체제 (OS) 환경 윈도우드라이버준비 윈도우드라이버설치 Windows XP/Server 2003 에서설치 Serial 또는 Parallel 포트의경우.

Microsoft Word - Modelsim_QuartusII타이밍시뮬레이션.doc

Microsoft PowerPoint - USB다운로더PC연결.pptx

Splentec V-WORM Quick Installation Guide Version: 1.0 Contact Information 올리브텍 주소 : 경기도성남시분당구구미로 11 ( 포인트타운 701호 ) URL: E-M

IRISCard Anywhere 5

Mac 1.8.x Manual (v1.0) Korean Dawicontrol_ pub

슬라이드 1

Mango220 Android How to compile and Transfer image to Target

<57696E646F7773C8AFB0E6BFA1BCADC0C7204F70656E53534CBCB3C4A12E687770>

WebPACK 및 ModelSim 사용법.hwp

ThinkVantage Fingerprint Software

윈도우시스템프로그래밍

View Licenses and Services (customer)

1. 시리얼 ATA(SATA) 하드디스크설치 Intel Z77 사우스브리지칩셋은 RAID 0, RAID 1, RAID 5, RAID 10 및 Intel Rapid Storage 를포함하여 RAID 기능이있는 Serial ATA (SATA) 하드디스크를지원합니다. 사용중

슬라이드 1

설치 순서 Windows 98 SE/Me/2000/XP 1 PC를 켜고 Windows를 시작합니다. 아직 컴퓨터에 프린터를 연결하지 마십시오. 2 PC에 P-S100 CD-ROM(프 린터 드라이버)을 삽입합니다. 3 설치 프로그램을 시작합니다. q CD-ROM의 PS1

Microsoft PowerPoint - Install Guide[ ].ppt [호환 모드]

*Revision History 날짜 내용 최초작성 Tel Fax [2] page

JAVA 플랫폼 개발 환경 구축 및 활용

System Recovery 사용자 매뉴얼

Raspbian 설치 라즈비안 OS (Raspbian OS) 라즈베리파이 3 Model B USB 마우스 USB 키보드 마이크로 SD 카드 마이크로 SD 카드리더기 HDM I 케이블모니터

Microsoft PowerPoint - gnu-w06-python_[실습]_day13-turtle-shape

Microsoft PowerPoint - XUSB_제품메뉴얼_140206

<4D F736F F D D31312D30312D53572D30312DBBE7BFEBC0DABCB3B8EDBCAD5FBFDCBACEB9E8C6F7BFEB2E646F63>

SmartUpdaterPlus 설치 설치파일 다운로드 설치파일 다운로드하여 실행하여 순서에 따라 스마트 업데이트 플러스를 설치합니다. [스마트 업데이트 플러스 다운로드] 버튼을 클릭하여 설치파일 다운로드합니다. 소프트웨어 사용권에 동의하기를 누릅니다. 압축을 해제합니다

2 카메라의 펌웨어버전을확인합니다 카메라기종에따라표시되는화면이다를수있습니다. 1 카메라의전원을 ON으로합니다. 2 카메라의메뉴버튼 MENU을누르고메뉴화면을표시합니다. 3 [ 설정메뉴 ] 에서 [ 펌웨어버전 ] 를선택합니다. 4 카메라의 펌웨어버전이표시됩니다. 버전이업그

벤처연구사업(전동휠체어) 평가

슬라이드 제목 없음

Microsoft Word - Korean_뷰어 메뉴얼_공용_ADVR&SWi_.doc

메뉴얼41페이지-2

Microsoft Word - src.doc

Copyright 2006 Hewlett-Packard Development Company, L.P. 본설명서의내용은사전통지없이변경될수있습니다. HP 제품및서비스에대한유일한보증은제품및서비스와함께동봉된보증서에명시되어있습니다. 본설명서에는어떠한추가보증내용도들어있지않습니다.

Running EDIUS 7 on an Apple Mac Computer Under Boot Camp

Emulator

아래 항목은 최신( ) 이미지를 모두 제대로 설치하였을 때를 가정한다

문서의 제목 나눔고딕B, 54pt

A SQL Server 2012 설치 A.1 소개 Relational DataBase Management System SQL Server 2012는마이크로소프트사에서제공하는 RDBMS 다. 마이크로소프트사는스탠다드 standard 버전이상의상업용에디션과익스프레스 exp

Xcovery 사용설명서

C. KHU-EE xmega Board 에서는 Button 을 2 개만사용하기때문에 GPIO_PUSH_BUTTON_2 과 GPIO_PUSH_BUTTON_3 define 을 Comment 처리 한다. D. AT45DBX 도사용하지않기때문에 Comment 처리한다. E.

Transcription:

Bochs (x86 에뮬레이터 ) 에서 MicroC/OS-II 실행하기 2003.9.23 이재홍 revision 1 pyrasis (at) chol.com 공개 x86 에뮬레이터인 Bochs 에서 MicroC/OS-II 를실행해봅시다. Bochs 는버전 2.0.2, Windows 용을기준으로설명하겠습니다. MicroC/OS-II 는 x86 Protected Mode( 보호모드 ) 로포팅된소스를사용하며 Microsoft Visual C++ 과 Microsoft Macro Assembly (MASM) 을사용해서컴파일하도록하겠습니다. 그리고디스켓이미지를만들어야하기때문에 1.44인치플로피디스크 1장과 WinImage라는프로그램이필요합니다. Bochs는 http://bochs.sourceforge.net 에서구할수있습니다. WinImage는 http://www.winimage.com 에서구할수있습니다. MicroC/OS-II 소스는 http://www.e2g.org 자료실의 ucosx86p.zip 을이용합니다. 이소스를중심으로설명하도록하겠습니다. MASM 은 http://www.e2g.org 에서받을수있습니다. Bochs와 WinImage를사용하는이유는번거로움을피하기위해서입니다. ucosx86p.zip이소스를컴파일해서컴파일된것을 1.44 플로피디스크에저장한뒤그디스켓으로일반 PC에서부팅을하면실행이됩니다. 하지만 x86 에뮬레이터등을사용하면사용자의 PC를재부팅하지않고손쉽게실행할수있으며 WinImage를이용하면매번플로피디스크에저장하지않아도됩니다.

1. 컴파일환경설정 ucosx86p.zip 를압축을풀면다음과같이나옵니다. 여기서 Bin 디렉토리에는 BOOTSCTR.IMG 부트섹터이미지파일 ExeToImg.exe Exe파일을 Img 파일로변환하는유틸리티파일이들어있고 Entry 디렉토리는부팅관련어셈블리소스가들어있습니다. MyTask 에는사용자태스크소스가들어있고 SOURCE 소스에는 MicroC/OS-II 소스가들어있습니다.

Visual C++ 에서 MyTask 안에 MyTask.dsw 를열면다음과같이나옵니다.

1.1 Microsoft Macro Assembly 환경설정 Microsoft Macro Assembly 를받습니다. (MASM611.zip) 자기마음에드는폴더에압축을풀어놓습니다. 저는 C: MASM611에풀었습니다. Visual C++ 에서 Tools -> Options -> Directoris Show directories for: ( 빨간색사각형 ) 부분을 Executable files 로바꿉니다. 검은색동그라미부분을누르면새로경로를만드는곳이나옵니다. 파란색사각형오른쪽에 버튼을누르면경로를찾는창이뜹니다. 그곳에서아까전에 MASM611.zip (Microsoft Macro Assembly) 를압축푼곳의 BIN 디렉토리로설정하고 OK를누릅니다.

Visual C++ 에서 Project -> Settings -> os_cpu_a.asm -> Custom Build 로갑니다. 위에서빨간색사각형부분 (Commands) 을아래그림과같이고칩니다. 앞에있는 C: masm32 bin 부분을지웁니다. 방금전에 MASM 의경로를설정해주었기 때문에이렇게하는것입니다. 아니면이곳에서 MASM 의경로를바로적어주어도됩니다.

2. uc/os-ii 컴파일하기 Visual C++ 의 Build (F7) 을눌러컴파일을하면다음과같이컴파일이됩니다.

ucosx86p 디렉토리의 MyTask 밑에 Release 디렉토리의화면입니다. 컴파일이다된모습이며 MyTask.exe 파일과 MyTask.img 파일이보입니다. 이두가지파일이보여야컴파일이완료된것입니다. MyTask.exe 파일은필요없는파일입니다. uc/os-ii 가운영체제입니다. 우리는운영체제를컴파일했기때문에윈도우에서실행을한다고해도실행이안됩니다. 어플리케이션이아닌또다른운영체제이기때문입니다. 윈도우와 VC++ 에서컴파일했기때문에.exe 파일이생겨난것입니다. 우리에게필요한파일은 MyTask.img 파일입니다. 위처럼아이콘이나오는이유는 WinImage를설치했기때문입니다만. 이파일은 WinImage 에서열면열리지않습니다. 이파일은 uc/os-ii의 x86용바이너리파일입니다. 예를들면리눅스를컴파일했을때생기는 zimage 와같은종류의파일입니다.

3. uc/os-ii 플로피디스켓이미지만들기 1.44 플로피디스켓없는경우 http://www.e2g.org 의자료실에 MicroC/OS-II x86 디스켓이미지 라고된것을받아서하면됩니다. 이걸받으셧으면밑의디스켓을넣어서하는과정은무시하고넘어갑니다. 만약 e2g에서자료가없어서받지못했을경우디스켓을구하여만들어야합니다. 1.44 플로피디스켓을컴퓨터에넣습니다. 디스켓을포맷하고그다음에 ucosx86 디렉토리의 MyTask 디렉토리안에 Build.bat 라는파일이있습니다. 이파일을 실행시킵니다. 위와같은창이떳다가잠시후닫힙니다. a: *.img을( 를 ) 찾을수없습니다. 라고뜬것은플로피디스켓을포맷했기때문에아무것도없기때문입니다. 플로피디스켓을탐색기로열어보시면 MyTask.img 파일이복사되어있습니다. 이디스켓이일반디스켓과다른점은부트섹터가 uc/os-ii에맞게조절되어있습니다. Build.bat 파일에서 debug.. bin Bootsctr.img < Debug.txt 를해주었기때문에부트섹터가만들어진것입니다. 포맷한일반플로피디스켓에 MyTask.img 파일을복사해넣는다고해도절대부팅이되지않습니다. 부트섹터가맞지않기때문입니다. 꼭 Build.bat로만들어주어야부팅이됩니다.

4. WinImage 설정 WinImage 를받아서설치합니다. 위에서 Build.bat 로디스켓을만들었으면다음과같이합니다. e2g 에서 MicroC/OS-II x86 디스켓이미지 를받았으면이부분도건너뜁니다. WinImage 를실행합니다. 플로피디스켓은그대로꽂아둡니다. Read disk 를누르면이미지를읽어들입니다.

다읽었으면저장버튼을눌러저장을합니다. 파일이름은 ucos-ii 파일형식은 Image file (*.IMA) 를선택하고저장합니다. 여기서만든 ucos-ii.ima 파일은 e2g 자료실에있는 MicroC/OS-II x86 디스켓이미지 와똑같은파일입니다.

5. Bochs 설정 생성한이미지파일은 x86 에뮬레이터 VMware, Virtual PC, Bochs에서도똑같이실행가능하며결과도같습니다. 이문서에서는 Bochs에서실행하는방법을설명하겠습니다. bochs-2.0.2.win32-bin.zip을받아서압축을풀어놓습니다. 압축을풀어놓은 Bochs 디렉토리안에 bochsrc-sample.txt 파일이있습니다. 이파일을 bochsrc.txt로복사합니다. 방금전만들어놓은 uc/os-ii 플로피디스크이미지파일 ucos-ii.ima 파일을 Bochs 디렉토리로이동합니다. 그리고 bochsrc.txt 파일을편집합니다. # 은주석이므로프로그램은인식하지못합니다 # 이없는부분만인식합니다만알아보기쉽게하기위해서주석처리된것도같이표시하였습니다. file=bios/ BIOS-bochs-latest 부분을 file= BIOS-bochs-latest 로다음과같이고칩니다. #romimage: bios/bios-bochs-970717a #romimage: file=bios/bios-bochs-latest, address=0xf0000 # 변경전 romimage: file=bios-bochs-latest, address=0xf0000 # 변경후 #romimage: file=bios/bios-bochs-2-processors, address=0xf0000 #romimage: file=bios/bios-bochs-4-processors, address=0xf0000 #romimage: file=bios/rombios.bin, address=0xf0000 아래도위와같이 bios/ 를지웁니다. #vgaromimage: bios/vgabios-lgpl-latest #vgaromimage: bios/vgabios-elpin-2.40 # 변경전 vgaromimage: VGABIOS-elpin-2.40 # 변경후 디스켓설정. 아래와같이고칩니다. 맨마지막줄에 ucos-ii.ima 파일설정부분을주의하시기바랍니다. 조금전에만들어서이동해온디스켓이미지파일의경로입니다. #floppya: 1_44=/dev/fd0, status=inserted #floppya: file=../1.44, status=inserted #floppya: 1_44=/dev/fd0H1440, status=inserted #floppya: 1_2=../1_2, status=inserted #floppya: 1_44=a:, status=inserted floppya: 1_44=ucos-ii.IMA, status=inserted

하드디스크설정내용인데하드디스크는필요없으므로모두주석처리합니다. #ata0-master: type=disk, path="30m.sample", cylinders=615, heads=6, spt=17 #ata0-slave: type=cdrom, path=d:, status=inserted #ata0-slave: type=cdrom, path=/dev/cdrom, status=inserted #ata0-slave: type=cdrom, path="drive", status=inserted 부팅디스크설정. 플로피로부팅할것이기때문에 floppy 로하고 disk 는주석처리합니다. boot: floppy #boot: disk 아래부분이주석처리되어있는데주석을제거합니다. pit: realtime=1 파일을만듭니다. 일반텍스트파일이며 bochs_start.bat로만듭니다. 앞으로실행을할때이파일로 Bochs를시작합니다. 내용은아래와같이합니다. bochs -qf bochsrc.txt

6. Bochs 에서 uc/os-ii 실행 이제 bochs_start.bat 를실행하면 uc/os-ii 부팅되며실행이됩니다. 일반 PC 와똑같은 모습이라생각하면됩니다.

7. 소스수정후다시실행하기 Visual C++ 에서 ucosx86p 소스를수정해서다시컴파일하였을경우. 또 MyTask.img 파일이생깁니다. 그때는앞서만든플로피디스크이미지파일 ucos-ii.ima 을더블클릭하거나 WinImage 에서열면내용이보입니다. 이곳에서 MyTask.img 를선택하고 Del 키로지우면지워집니다.

파일추가하기. Image -> Inject Visual C++ 에서수정하고새로컴파일한 MyTask.img 를찾아서선택합니다.

예버튼을누르면추가가됩니다. 위의저장버튼을눌러저장합니다. 그리고 Bochs 디렉토리에서 bochs_start.bat 를실행하면방금새로컴파일하고저장한 uc/os-ii 가새로부팅이되어작동이됩니다. 이런방법을반복함으로서 uc/os-ii x86 Protected mode 소스를컴파일하고실행해볼 수있습니다. 다소방법이복잡할수도있습니다. 차근차근히따라해보시면그리어려운것은아닙니 다. 질문혹은잘못된점이있다면 pyrasis (at) chol.com 으로메일주시기바랍니다. 이만문서를마치겠습니다.