School Study

[BSP]업무일지 -20100519-임종현

룸훼훼 2010. 5. 19. 18:11
반응형

오전수업

DK128보드

사진의 외쪽부분이 메인보드이다. 메인보드에서는 연산과 제어를 담당하게 되어있으며
오른쪽부분의
확장보드는 입출력을 담당하게 된다. 카운터와 다이오드 신호를 줄수 있는 스위치등이 있으며
메인보드에 프로그램은 Write해주면 주면 제어할수 있게된다. 프로그램은 페러럴포트나 시리얼포트를 연결해 전송
하는데 전송된 프로그램은 MCU인 ATmega128에서 받아 확장보드를 제어하게 된다.
전송을 하거나 컴퓨터와 연결을 하기위해서는 프로그램이 필요한데 winAVR
과 EEPROM Wirter인 ponyplog2000이
필요하다.
winAVR을 설치하고 나면  Mfile 프로그램이 같이 설치되는데  프로그램을 이용하여 Makefile을 생성할 수 있다. 본 파일을 이용해 Project note 프로그램에서 컴파일이 가능하다. MFile을 실행하고 setting을 MCU 타입을 atmega128
로 선택한다.
소스코드를 입력하고 컴파일하는 작업은 “Programmers Notepad” 프로그램을 이용해서 가능하다
.

그러면 마이크로 프로세서 와 마이크로컨트롤러의 차이는?
마이크로프로세서는 mpu라고 한다. 보통 단일 직접 회로(intergrated circuit)로 구현한 프로세서. 중앙처리장치(Central Processing Uint, CPU)라고도 한다. 흔히 쓰이는 PC에 쓰이는데 간단히 말하면 단일 칩인 cpu는 혼자 구현될수 없다.
부가적인 메모리나 보조기억장치 즉 하드 등이 갖추어 주어야지만 구동이 가능하다.
하지만 마이크로 컨트롤러 mcu는 단일 직접회로 내에 들어 있는 프로세서, 메모리, 등으로 구성되어 한개의칩으로도 구현이
가능하다. 특정한 기기제어에 사용된다. 예로 mp3 나 멀티미디어 재생기 등에사용된다.


하버드구조 VS폰노이만구조
버드 구조란 프로그램 메모리(읽기만가능한 공간 통상 ROM)

데이터 메모리(읽기쓰기 모두 가능한 공간 통상 RAM) 따로 떨어져 있는 형태이다.

따라서, 명령을 실행중에 다음명령을 미리 읽어서 준비할수있는 장점이 있고

회로설계가 용이 하지만, 공간을 따로 잡아야 하기때문에 회로가 커지는 단점이 있다.

 씨피유없는 병렬식 컴퓨터구조.
각 프로세서 칩들은 자신에게 부여된 명령만 처리하면 된다.
지방분권식 명령처리  

노이만 구조프로그램 메모리와 데이터 메모리가 따로 나뉘어져 있지 않고, 통합된 형태이다.

메모리가 통합되어 있으니 회로를 간소화 할수 있지만, 메모리 정렬이 필요하다.

씨피유(중앙처리제어장치) 중심의 컴퓨터 구조.
중앙집권식 명령처리

CISC ? 
CISC : 폰노이만 형식인 프로그램 내장방식의 구조를 기반으로 설계된 컴퓨터.
프로그램 내장방식 : CPU가 프로그램을 실행하는데 주기억장치에 명령어와 데이터(오퍼랜드)를 같이 저장한 후에 수행하는 방법.
RISC : 하버드 구조(harvard architecture)을 기반으로 설계된 방식.
하버드 구조 : 프로그램 메모리와 데이터 메모리를 분리시켜서 명령어들은 프로그램 메모리에 저장하고 데이터들은 데이터 메모리에 저장한 후에 프로그램을 수행하는 방식.




오후수업~
vmware -
이프로그램은 현재 사용하고 있는 윈도우안에 가상공간을 만들어 다른 운영체제를 사용할수 있게 해준다.
현재 필요한 운영체제인 리눅스 우분투 버젼이 필요함으로 vmware를 사용하여 리눅스를 구동 시킨다.

우분투 설정
linux -> 터미널->sudo su - root 엔터
그러면 ~$ 에서 개인사용자표시인 ~# 으로 바뀐다.

vmTool설치
터미널 -> sudo su - root -> ware메뉴중 VM -> vm install 설치 -> tar - xzvf /cdrom -> tar - xzvf /cdrom vm~~~tar.gz 엔터

setting
메뉴 ->VM -> setting -> option -> sharedFolder -> always enabled -> add -> ~~~
*윈도우에서 생성시킨 폴더를 (지정)공유해서 리눅스와 윈도우에서 같이 사용하고 볼수 있도록 하는 작업.

공유폴더 - cd mnt (tab키 두번)

컴파일러 설치
g++ -> 안나옴 -> apt-get install g++ 엔터
*gcc는 C컴파일러이고 g++은 C++컴파일러이다. g++은 C와 C++ 같이 컴파일됨.

*폴더명은 linux_1 이라 지정해 놓았다.
[ dir -> /mnt/hgfs/linux_1 ]
윈도우에서 명령 컨트롤러에 notepad 이름 확장자를 쳐서 실행했다면
리눅스에서는 vi 이름.확장자 를치면 똑같이 이용할수 있다.

컴파일하는 방법과 실행
컴파일 - gcc -o 이름 이름.확장자  -이것은 DOS의 cl 이름.확장자 와 같다.
실행 - ./이름 - 실행은 그냥 DOS에서 이름만 치면 되는것과 같다.

vi명령문.
vi 명령문은 좀 사용하기가 까다롭다.

반응형