45
- 1 - 리리리 리리 리 리리리 Embedded System Development Environment I

리눅스 설치 및 명령어

  • Upload
    kert

  • View
    88

  • Download
    0

Embed Size (px)

DESCRIPTION

Embedded System Development Environment I. 리눅스 설치 및 명령어. Embedded System Development Environment I. 리눅스 설치 임베디드 시스템은 키보드와 모니터같은 표준 입출력장치를 기본적으로 채용하지 않음 . 호스트 시스템에서 개발한 다음 결과물을 툴체인을 통해 컴파일 한 다음 보드로 보내어져 보드에서 실행 -> 임베디드 시스템을 이용하기 위해서는 임베디드 시스템을 개발할 수 있는 기본 환경이 있어야 함 . - PowerPoint PPT Presentation

Citation preview

Page 1: 리눅스 설치 및  명령어

- 1 -

리눅스 설치 및 명령어Embedded System Development Environment I

Page 2: 리눅스 설치 및  명령어

- 2 -Huins. R&D Center

Embedded System Development Environment I

리눅스 설치 임베디드 시스템은 키보드와 모니터같은 표준 입출력장치를 기본적으로 채용하지 않음 .

호스트 시스템에서 개발한 다음 결과물을 툴체인을 통해 컴파일 한 다음 보드로 보내어져 보드에서 실행 -> 임베디드 시스템을 이용하기 위해서는 임베디드 시스템을 개발할 수 있는 기본 환경이 있어야 함 .

Virtual Machine 기본 운영체제 위에 가상의 소프트웨어 머신을 이용하여 다양한 O/S 를 설치 하드웨어와 가상 머신간의 하드웨어 자원 공유 하나 이상의 운영체제가 구동되므로 , CPU 나 메모리에 비례하여 구동속도가 차이남 . 기존에 리눅스가 설치된 호스트인 경우를 제외하고 개발을 위해서 가상머신등을 이용 일반적으로 많이 사용되는 가상 머신

Virtual PC – Microsoft Virtual Box – Oracle Virtual Machine - Vmware

가상머신 소프트웨어를 사용할 경우 주의 사항 기본 운영체제의 종류와 운용 방식에 따라 설치할 수 있는 가상머신 소프트웨어가 다름 Windows, Linux, MacOS 기반의 각각의 버추얼 머신을 확인후 사용 32bit 운영체제 혹은 64 비트 운영체제에 따라서 설치 가능한 버추얼 머신의 버전도 다를 수 있음 가상 머신의 이미지 크기에 따른 기본 시스템의 저장영역 확보가 필요 가상 머신의 이미지는 사용할 수록 커지기 때문에 그에 맞는 여분의 자료공간이 필요함

2

Page 3: 리눅스 설치 및  명령어

- 3 -Huins. R&D Center

Embedded System Development Environment I

Vmware Download 를 위한 운영체제 정보 확인 32 비트이면 32Bit VM Player 를 다운로드 64 비트이면 64Bit VM Player 를 다운로드

[ 윈도우 메뉴 버튼 ] -> [ 제어판 ] -> [ 시스템 및 보안 ] -> [ 시스템 ]

3

Page 4: 리눅스 설치 및  명령어

- 4 -Huins. R&D Center

Embedded System Development Environment I

Vmware Download

https://www.vmware.com/products/player/

4

Page 5: 리눅스 설치 및  명령어

- 5 -Huins. R&D Center

Embedded System Development Environment I

Vmware Install

License

5

시스템 상태에 따라 리부팅 될 수 있다 .

사용 라이선스에 동의 하여야 한다

Page 6: 리눅스 설치 및  명령어

- 6 -Huins. R&D Center

Embedded System Development Environment I

호스트 리눅스 설치 Ubuntu 10.04

데비안 계열의 오픈소스기반 운영체제 일반 데스크탑 운영체제로 안드로이드 개발에 편리한 환경 제공

Ubuntu Download

문서에서는 32 비트 우분투 이용

http://releases.ubuntu.com/lucid/

6

Page 7: 리눅스 설치 및  명령어

- 7 -Huins. R&D Center

Embedded System Development Environment I

Ubuntu 지원 기간

버전 번호 코드명 커널버전 배포일지원 기간

데스크톱 서버

4.10 Warty Warthog ( 혹 난 혹멧돼지 ) 2.6.8-1 2004 년 10 월 20 일 ~ 2006 년 4 월

5.04 Hoary Hedgehog ( 백발의 고슴도치 ) 2.6.10 2005 년 04 월 08 일 ~ 2006 년 10 월

5.10 Breezy Badger ( 산들바람의 오소리 ) 2.6.12 2005 년 10 월 13 일 ~ 2007 년 4 월

6.06 (LTS) Dapper Drake ( 날렵한 수오리 ) 2.6.15 2006 년 06 월 01 일 ~ 2009 년 6 월 ~ 2011 년 6 월

6.10 Edgy Eft ( 날카로운 영원 ) 2.6.17 2006 년 10 월 26 일 ~ 2008 년 4 월

7.04 Feisty Fawn ( 기운찬 새끼사슴 ) 2.6.20 2007 년 04 월 19 일 ~ 2008 년 10 월

7.10 Gutsy Gibbon ( 용감한 긴팔원숭이 ) 2.6.22 2007 년 10 월 18 일 ~ 2009 년 4 월

8.04 (LTS) Hardy Heron ( 강건한 왜가리 ) 2.6.24 2008 년 04 월 24 일 ~ 2011 년 4 월 ~ 2013 년 4 월

8.10 Intrepid Ibex ( 용맹한 야생염소 ) 2.6.27 2008 년 10 월 30 일 ~ 2010 년 4 월

9.04 Jaunty Jackalope ( 쾌활한 뿔토끼 ) 2.6.28 2009 년 04 월 23 일 ~ 2010 년 10 월

9.10 Karmic Koala ( 숙명의 코알라 ) 2.6.31 2009 년 10 월 29 일 ~ 2011 년 4 월

10.04 (LTS) Lucid Lynx ( 맑은 스라소니 ) 2.6.32 2010 년 04 월 29 일 ~ 2013 년 4 월 ~ 2015 년 4 월

10.10 Maverick Meerkat ( 사나운 미어캣 ) 2.6.35 2010 년 10 월 10 일 ~ 2012 년 4 월

11.04 Natty Narwhal ( 산뜻한 외뿔고래 )[1] 2.6.38 2011 년 04 월 28 일 ~ 2012 년 10 월

11.10 Oneiric Ocelot ( 꿈꾸는 오실롯 ) TBA 2011 년 10 월 13 일 ~ 2013 년 4 월

지원 상황 :

더 이상 지원 안함

지원 중 현재 버전 준비 중 계획 중

7

Page 8: 리눅스 설치 및  명령어

- 8 -Huins. R&D Center

Embedded System Development Environment I

Vmware Player 에서 해당 이미지 파일을 가상 CD 로 연결 VMware Player 에서 Create a New Virtual Machine 를 선택 New Virtual Machine Wizard 에서 Installer disk 나 Image file

8

Page 9: 리눅스 설치 및  명령어

- 9 -Huins. R&D Center

Embedded System Development Environment I

Vmware 정보 입력 가상머신의 이름을 입력하고 , 설치될 장소를 결정 만들어질 가상머신의 이미지 파일크기를 결정하고 , 단일 파일로 생성한다 .

9

Page 10: 리눅스 설치 및  명령어

- 10 -Huins. R&D Center

Embedded System Development Environment I

하드웨어 설정 변경 메모리는 시스템 메모리에서 사용가능한 범위만큼 설정 네트워크는 외부포워딩시에는 NAT, 내부 연결시에는 Brdige 로 설정

10

Page 11: 리눅스 설치 및  명령어

- 11 -Huins. R&D Center

Embedded System Development Environment I

시리얼 포트 설정 시리얼 포트 추가 물리 포트를 선택하고 , 시스템에 부착된 COM 포트를 선택후 Finish

11

Page 12: 리눅스 설치 및  명령어

- 12 -Huins. R&D Center

Embedded System Development Environment I

하드웨어 설정 마무리 추가할 내용이 없으면 Finish 를 눌러 설치를 시작

12

Page 13: 리눅스 설치 및  명령어

- 13 -Huins. R&D Center

Embedded System Development Environment I

리눅스 설치를 시작 앞서 설정한 사용자와 패스워드를 통해 자동 설치됨

13

Page 14: 리눅스 설치 및  명령어

- 14 -Huins. R&D Center

Embedded System Development Environment I

root 사용자 로그인 개발시에 불편함을 덜기 위해서 root 사용자로 로그인을 할 수 있도록 설정 터미널 실행 (Application > 보조프로그램 > 터미널 )

패스워드를 입력 및 확인

메뉴의 로그아웃 버튼을 이용하여 root 사용자로 로그인

# sudo passwd root

14

Page 15: 리눅스 설치 및  명령어

- 15 -Huins. R&D Center

Embedded System Development Environment I

VMware tools 설치 VMware 툴을 설치하면 , 좀더 편리하게 VMware 를 이용할 수 있다 .

화면에 설치 메시지를 클릭하여 설치

Vmware 메뉴에서 선택하여 설치

15

Page 16: 리눅스 설치 및  명령어

- 16 -Huins. R&D Center

Android Development Environment

설치후 마운트되면 VMwareTools.tar.gz 압축파일을 /root 로 복사

# cp /media/VMware\ Tools/VMwareTools-8.8.2-590212.tar.gz /root

# tar zxvf VMwareTools-8.8.2-590212.tar.gz

16

Page 17: 리눅스 설치 및  명령어

- 17 -Huins. R&D Center

Embedded System Development Environment I

프로그램 설치에 관련된 설정 물음에 모두 엔터키를 입력

17

Page 18: 리눅스 설치 및  명령어

- 18 -Huins. R&D Center

Embedded System Development Environment I

VMshare Folder 설정

연결된 디렉터리 확인

18

Page 19: 리눅스 설치 및  명령어

- 19 -Huins. R&D Center

Embedded System Development Environment I

설치 화면에서 장치 등록을 못한 경우

19

Page 20: 리눅스 설치 및  명령어

- 20 -Huins. R&D Center

Embedded System Development Environment I

USB Serial Convertor 를 사용하는 경우

VMware 의 호스트에서 시리얼 연결 상태확인

Connected Disconnected

20

Page 21: 리눅스 설치 및  명령어

- 21 -Huins. R&D Center

Embedded System Development Environment I

Linux 명령어 실습 adduser / useradd

리눅스 시스템에 사용자를 추가할 경우 사용하는 명령

passwd용자 계정에 패스워드를 만들거나 , 변경하는 명령

adduser [option] [id]

passwd [option] 사용자 ID

21

Page 22: 리눅스 설치 및  명령어

- 22 -Huins. R&D Center

Embedded System Development Environment I

mkdir디렉터리를 생성할 경우 사용

ex) mkdir test

cd디렉터리를 변경할 때 사용

ex) # cd /root : 절대 경로를 통한 이동 # cd test : 상대 경로를 통한 이동

mkdir [Option] [Directory Name]

절대경로 : 리눅스 시스템의 최상위 디렉터리로 부터 표현하는 경로 ex) mkdir /root/test : 최상위 디렉터리에 있는 root 디렉터리에 test 라는 디렉터리를 생성

상대경로 : 사용자가 이동한 현재의 위치에서부터 표현하는 경로 ex) cd /etc mkdir ./../root/test : 현재 최상위 디렉터리 /etc 디렉터리로부터 상위 디렉터리 (..)의 root 디렉터리에 test 디렉터리 생성

cd [Option] [Directory Name]

22

Page 23: 리눅스 설치 및  명령어

- 23 -Huins. R&D Center

Embedded System Development Environment I

rmdir (remove directory)디렉터리를 삭제 하는 명령 , 파일이 있거나 서브 디렉터리가 존재하면 삭제되지 않음

ex) rmdir /root/test

alias자주 사용하는 명령에 별명을 부여 . 자주 사용하는 명령이 명령어 길이가 길어서 불편한 경우alias 를 설정해 주면 설정한 alias 를 이용하여 해당 명령을 실행할 수 있다

ex) alias

현재 등록된 alias 확인

ex) alias cpf=‘cp –rf’ : cpf 만 입력하면 cp –rf 옵션이 적용되어 사용할 수 있다 .

mkdir [Option] [Directory Name]rmdir [Option] [Directory Name]

alias [Option] [name=[value] …]

23

Page 24: 리눅스 설치 및  명령어

- 24 -Huins. R&D Center

Embedded System Development Environment I

cat (conCATenate)옵션인 리다이렉션을 이용하여 표준 출력 혹은 표준 입력기로 부터 데이터를 입력 받거나 출력 할 수 있다 .

ex) # cat > test.txt : 키보드로 데이터를 입력받아 파일에 저장한다 . ( 완료 : Ctrl + D)

ex) # cat < test.txt : 위에서 저장한 test.txt 파일을 표준 출력을 통해 출력한다 .

ex) # cat test1.txt test2.txt > test12.txt : text1.txt 의 내용과 test2.txt 의 내용을 test12.txt 로 병합

cat [option] [file(s)]

24

Page 25: 리눅스 설치 및  명령어

- 25 -Huins. R&D Center

Embedded System Development Environment I

df파일 시스템의 구조와 용량을 표시해주는 명령 . 임베디드 시스템처럼 저장 공간이 적은 경우

수시로 확인해 주어야 할 필요가 있다 .

dmesg리눅스 시스템에서 발생하는 디바이스 메시지를 보여주는 명령이다 . 일반적인 디바이스 메시지는 세부정보들 까지 모두 콘솔에 출력되지 않는 경우가 있는데 , 이 경우 dmesg 를 이용하여

확인할 수 있다 .

ex) # dmesg

# dmesg | grep usb : 디바이스 메시지중 usb 라는 단어가 포함된 것만 출력

df [ 옵션 ]... [ 파일 ]

dmesg [-c] [-n level] [-s bufsize]

25

Page 26: 리눅스 설치 및  명령어

- 26 -Huins. R&D Center

Embedded System Development Environment I

du리눅스 시스템 내에 있는 디렉터리와 파일개수를 출력

ex) # du

dmesg [-c] [-n level] [-s bufsize]

26

Page 27: 리눅스 설치 및  명령어

- 27 -Huins. R&D Center

Embedded System Development Environment I

echo인자 (argument) 문장 혹은 시스템 환경 변수를 출력해주는 명령

ex) # echo Hello~ world

ex) echo $PATH : 시스템에 설정된 패스 경로 확인

free

시스템의 메모리 , 사용된 물리적인 메모리와 스왑 (swap) 메모리의 상태를 출력

echo [-ne] [ 문자열 ...]

free [-b | -k | -m] [-o] [-s delay] [-t] [-V]

27

Page 28: 리눅스 설치 및  명령어

- 28 -Huins. R&D Center

Embedded System Development Environment I

grep인자 (argument) 문장 혹은 시스템 환경 변수를 출력해주는 명령

ex) grep PATH /root/.bash_profile : bash_profile 을 열어서 PATH 라는 문자열이 매치되는 라인 출력

grep [option] PATTERN [File..]

28

Page 29: 리눅스 설치 및  명령어

- 29 -Huins. R&D Center

Embedded System Development Environment I

history기존에 실행했던 명령어를 보여준다 .

ex) # history 5 : 최근 실행한 멸영부터 그 이전 5 개 까지 실행했던 명령을 보여준다

ex) # history | grep cp

ps현재 구동되고 있는 프로세스 리스트를 보여준다 . 일반적으로 시그널 -9(SIGKILL) 을 이용한다 .

ex) # ps

history [-c] [-d offset] [n

ps [options]

29

Page 30: 리눅스 설치 및  명령어

- 30 -Huins. R&D Center

Embedded System Development Environment I

ex) # ps –ax : 서비스및 백그라운드에 구동중인 프로세스를 확인할 수 있다 .

# ps –ax | less : 리스트가 한 페이지를 넘는경우 한페이지 부분에서 정지 , q 는 종료 # ps –ax | grep xinet : 출력 리스트중 xinet 이 포함된 프로세스만 출력

Kill현재 구동되고 있는 프로세스를 종료 ( 제거 ) 한다 .

ex) # kill –9 8785 : 운용되는 프로세스중 8785 프로세스를 강제종료 한다 .

kill -signal pid

30

Page 31: 리눅스 설치 및  명령어

- 31 -Huins. R&D Center

Embedded System Development Environment I

pwd현재 자신이 있는 디렉터리 ( 위치 ) 를 확인한다 .

ex) # pwd

rmremove 명령으로 , 파일 및 디렉터리를 삭제할 경우 사용되나 , 수퍼유저 권한이라면 사용에

있어신중함을 기해야 한다 .

ex) rm test

ex) ex_ rm –r mydirectory

pwd [-LP]

rm [options] file(s)

31

Page 32: 리눅스 설치 및  명령어

- 32 -Huins. R&D Center

Embedded System Development Environment I

su사용자를 전환하여 쉘을 실행한다 . 일반적으로 일반계정의 사용자가 특정 권한을 얻기 위해서사용하는 것이 일반적이다 .

ex) # su kittens : 수퍼유저에서 일반사용자로의 전환에는 해당 계정의 패스워드가 필요없다 .

ex) # su root : 일반 사용자에서 수퍼유저로 계정전환을 하려면 , 수퍼유저의 패스워드가 필요 .

사용이 완료되면 exit 명령을 통해서 변경된 계정의 사용을 종료할 수 있다 .

tar리눅스에서 압축 혹은 패키징을 할 경우 사용되는 명령이다 .

su [UserID]

tar [option] [archive-file] [files or directories]

32

Page 33: 리눅스 설치 및  명령어

- 33 -Huins. R&D Center

Embedded System Development Environment I

ex) # tar zxvf test.tar.gz : 압축파일인 test.tar.gz 의 압축을 해제 한다 .

ex) # tar jxvf test.tar.bz2 : bz2 필터를 사용한 압축파일인 test.tar.bz2 의 압축을 해제ex) # tar cvzf test_dir.tar.gz mydirectory : 디렉터리를 gzip 필터를 이용하여 압축

33

Page 34: 리눅스 설치 및  명령어

- 34 -Huins. R&D Center

Embedded System Development Environment I

w리눅스는 멀티유저 시스템이므로 , 하나의 시스템여 어러 사용자가 접속할 수 있다 . 그 경우 각 사용자가 어떤 작업을 하고 있는지 확인한다 .

ex) # w : 전체 보기ex) # w kittens : 특정 사용자만 확인

ln특정 명령어를 다른 이름으로 접근할 수 있도록 해준다 .( 단축 이름 )

ex) ln –s /usr/bin/dir ls_dir : /usr/bin 의 dir 명령을 현재디렉터리에서 ls_dir 이름으로 링크

ping (packet internet gopher)자신의 네트워크 혹은 외부 네트워크와 통신이 정상적으로 이루어져 있는지 확인한다 .

ex) # ping 168.126.63.1

w - [husfV] [user]

ln [Option] [Source file] [Target file]

ping [hostname or ip]

34

Page 35: 리눅스 설치 및  명령어

- 35 -Huins. R&D Center

Embedded System Development Environment I

ping (packet internet gopher)자신의 네트워크 혹은 외부 네트워크와 통신이 정상적으로 이루어져 있는지 확인한다 .

ex) # ping 168.126.63.1

ping [hostname or ip]

35

Page 36: 리눅스 설치 및  명령어

- 36 -Huins. R&D Center

ifconfig시스템에 부착된 이더넷 디바이스의 ip 를 확인 및 변경한다 .

ex) ifconfig eth0 192.168.1.100 : 시스템의 이더넷 IP 를 192.168.1.100 으로 변경한다 .

ex) ifconfig eth0 down : 이더넷의 사용을 중지할 때 사용한다 .

36

Embedded System Development Environment I

Page 37: 리눅스 설치 및  명령어

- 37 -Huins. R&D Center

호스트 우분투에서 시스템 아이피 설정 우분투의 경우 네트워크 설정은 윈도우에서 해주는 것이 일반적이다 .

.

37

Embedded System Development Environment I

Page 38: 리눅스 설치 및  명령어

- 38 -Huins. R&D Center

iwconfig무선 연결을 위해서 사용한다 . 무선랜 장치가 장착된 경우 해당 장치를 ifconfig 를 통해 ip 를

설정한 다음 , iwconfig 명령을 통해 무선 AP 와 연결을 할 수 있다 .

ex) ifconfig rausb0 192.168.1.101 up

ex) iwconfig rausb0 essid linksys mode managed rate 54M channel 11 - rausb0 : 장착된 무선랜 장치 이름 - essid : 무선 AP 의 ssid 명 - managed : 연결공유 방식 - rate : 연결 통신 속도 - channel : 연결 채널

essid 및 통신속도 , 모드는 공유기에서 제공해주는 기본적인 설정을 통해서 확인이 가능 연결하고자 하는 AP 의 essid 및 보안설정을 확인하려면 , 아래의 명령을 이용한다 .

ex) # iwlist rausb scanning

iwconfig interface [essid X] [nwid N] [mode M] [freq F] [channel C] [sens S] [nick NN] [rate R] [rts RT] [frag FT] [txpower T] [enc E] [ket K] [power P] [retry R] [commint]

38

Embedded System Development Environment I

Page 39: 리눅스 설치 및  명령어

- 39 -

VI / Vim Editor리눅스 시스템에서 가장 오래된 텍스트 기반 에디터로서 , 윈도우 기반의 에디터와 동일한 정도의

강력한 편집기능을 제공한다 . 또한 , 별도의 툴을 이용하여 소스트리 추적 , 코드 영역등을 쉽게 추적 또는

표시할 수 있다 . 일반적으로 공용 개발 시스템에서 소스의 일부수정 및 환경 설정등에 많이 이용된다 .

vim 에디터의 모드 - 명령모드 : 키 입력을 통해 vi 에게 명령을 하는 모드 , 커서를 이동 , 복사 , 삭제 , 붙이기등 - 입력모드 : 실제 편집을 하기 위한 모드로 명령모드에서 i, a, o, s 키를 눌러서 진입한다 . - EX 모드 : 라인에디터 기능으로 , 패턴을 찾거나 , 문자열 대체 , 파일 열기 및 닫기등에 사용

39

Embedded System Development Environment I

Page 40: 리눅스 설치 및  명령어

- 40 -

파일 열기 파일명을 입력하여 해당 파일을 연다 . 만약 , 입력한 파일이 없는 경우에는 생성을 하게 된다 . ex) # vim HelloWorld.c

기존에 있는 Helloworld.c 파일을 열게되면 아래와 같이 해당 내용이 출력이된다 . 이 상태는 명령모드 상태이다 .

파일을 열지 않고 실행 파일을 열지 않고 에디터를 실행하면 , 간단한 설명과 함께 시작된다 . 입력기능으로 전환하면 설명이 없어지고 , 편집을 수행할 수 있다 . 파일 이름이 없이 vi 에디터를 시작한 경우에는 파일 - 내용 입력 후 저장을 위해서 w 옵션과 함께 파일이름을 지정해서 저장할 수 있다 . :w test.c - 기존 파일을 열기 위해서는 o 명령을 이용하여 열수 있다 . :o ./test.c

40

Embedded System Development Environment I

Page 41: 리눅스 설치 및  명령어

- 41 -

- 기존 파일을 열어서 다른 파일로 저장 해야할 경우도 w 명령을 이용한다 . :w test.c - 수정을 종료하는 경우 q 명령을 이용한다 . 만약 수정한 내용이 있으면 q 명령 만으로는 종료

할 수 없다 . 저장을 하지 않고 끝내야 한다면 강제 옵션인 ! 를 이용한다 . :q ( 수정한 내용이 없을 경우 ) :wq ( 수정한 내용을 저장하고 종료할 경우 ) :q! ( 저장하지 않고 종료할 경우 )

Ex 모드 명령어 위에서 언급한 내용중 저장 , 파일 열기 , 종료등은 ex 명령어이다 . 일반적으로 많이 사용하는

ex 명령어는 다음과 같다 .

41

Embedded System Development Environment I

Page 42: 리눅스 설치 및  명령어

- 42 -

명령 모드 명령어일반적인 vi 에디터의 명령어는 다음과 같다 .[ 입력 모드 진입 ] [ 커서이동 ]

42

Embedded System Development Environment I

Page 43: 리눅스 설치 및  명령어

- 43 -

[ 삭제명령 ]

[ 복사 및 붙이기 ]

43

Embedded System Development Environment I

Page 44: 리눅스 설치 및  명령어

- 44 -

[블럭지정 ] : 명령모드에서 v 명령 이용한 다음의 명령

[ 되살리기와 되 돌리기 ]

[ 문자열 찾기 ] : EX 모드에서 /{찾을 문자열 } 을 이용하여 원하는 내용을 찾을 수 있다 .

44

Embedded System Development Environment I

Page 45: 리눅스 설치 및  명령어

- 45 -

[ 문자열 치환 ] : EX 명령을 이용하여 문자열 치환을 할 수 있다 .

45

Embedded System Development Environment I