-
[마이크로프로세서] 마이크로 컨트롤러 / 디지털 시스템학점은행제/마이크로프로세서 2021. 1. 15. 19:12
디지털 시스템
- 아날로그 시스템의 반대
- 마이크로 컨트롤러가 포함된 디지털 회로로, 사용자의 목적에 맞게 장치를 제어하기 위한 시스템
- 0과 1로 저장됌
- 디지털회로 안에 마이크로 컨트롤러와 인터페이스 소자가 있다
디지털 시스템 동작
- 제어프로그램은 장치 제어를 위해 명령 신호를 출력함
- 장치는 명령 신호를 입력받아서 명령에 대한 동작을 수행함
- 입력 : 명령신호에 따라 장치가 작동되면서 출력되는 장치 신호
- 입력 : 외부 상황을 측정하는 장치에서 출력되는 장치 신호
- 입력 : 사람이 시스템 동작을 위해 인가하는 신호
- 마이크로 컨트롤러는 입력신호를 받아 제어 프로그램의 진행 상태를 변경하면서 장치 제어를 위해 필요한 출력을 결정함
장치
- 제품, 전자 소자, 부품으로 만든 장치
- 디지털 회로에서 명령 신호가 주어지면 (인가되면) 작동함
디지털 회로
- 마이크로 컨트롤러를 포함한 IC 및 인터페이스 소자들이 연결된 회로
- 제어 프로그램이 수행되면서 만들어진 명령 신호가 장치를 작동시킴
- 마이크로 컨트롤러 : 제어 프로그램을 수행하면서 위의 작업 단계를 수행시키는 핵심 제어부
- IC 및 인터페이스 소자 : 외부 장치를 인터페이스 하려면, IC를 추가하거나 인터페이스 회로를 설계하여 장치와 연결함
- IC는 집적 회로(Integrated Circuit)의 영어 약자이다.
디지털 시스템의 개발 과정
1) 요구 분석 : 요구 사항 정의
2) 디지털 시스템 구성 결정 : 규격, 성능, 가격, 사용할 장치 또는 부품 결정
3) 디지털 회로 설계 : 적합한 전기 신호가 전달 될 수 있도록 회로 설계, 하드웨어 완성
4) 상태도를 기반으로 둔 ASM 차트를 이용한 제어 프로그램 설계 및 제작 : 알고리즘 기반 기계를 while 문에 포함된 switch()-case 문으로 변환하여 제어 프로그램으로 완성함
5) 통합 개발 환경에서 컴파일, 링크에 의한 다운로드 파일 생성 : 교차 컴파일러 avr_gcc 를 사용
6) 다운로드 파일을 플래시 프로그램 메모리에 다운로드
7) 하드웨어와 소프트웨어 디버깅
다운로드 파일 생성과 교차 컴파일러
C언어 원시 프로그램 --> 컴파일(번역) --> 목적파일(main.o) --> 링크 --> 다운로드파일
어셈블리 언어 원시 프로그램 --> 컴파일(번역) --> 목적파일(woo.o), 라이브러리(libc.a) --> 링크 --> 다운로드파일
번역
- C언어로 작성한 원시 프로그램은 컴파일러에 의해서 컴파일 과정을 거쳐 기계어로 번역되어 목적 파일이 생성된다
링크
- 링커는 링크 과정에서 라이브러리를 포함한 여러개의 목적 파일들을 묶어서 같은 이름의 함수와 변수를 찾아 주소를 확정하여 연결함
다운로드 파일
- 플래시 프로그램 메모리, EEPROM에 다운로드 될 파일은 AVR Studio 에서 인텔사의 HEX 파일 형식 사용
- : 으로 구분된 시작 코드
- 각 레코드에는 다운로드될 byte 수
- 다운로드 될 주소
- 레코드 타입
- 다운로드 될 데이터
- 체크섬
- ELF(Executable and Linkable Format) 파일 형식은 실행 코드, 목적 코드, 공유 라이브러리를 포함하는 표준 파일 형식
- JTAG 인터페이스로 AVR Studio에서 디버깅할 때, ELF 형식의 파일 사용
2의 보수와 2의 보수 수 체계
- 음수를 같은 크기의 양수에 대한 2의 보수로 나타내는 숫자 체계
- 대부분 컴퓨터와 통신에서 정수는 2의 보수 수 체계를 채택하고 있다
- 음수 표현에 대해 정리한 글 ceodanbi.tistory.com/121
툴체인과 교차 컴파일러
1) 툴체인
- 작업중인 컴퓨터에서, 다른 CPU에 실행될 기계어 프로그램을 생성하기 위한 프로그래밍 툴의 집합
2) 교차 컴파일러
- 보통 C언어로 ATmega128에 다운로드 될 프로그램을 PC에서 개발
- 팬티엄 CPU를 가진 PC에서 (성능이 적당히 좋은 PC), 타깃 CPU인 ATmega128로 교차시켜 컴파일하는 교차 컴파일러 (Cross Compiler) 필요
- WinAVR 에 포함된 C언어 교차 컴파일러 : avr-gcc.exe
- C++ 언어로 프로그래밍 할 경우 : avr-gcc++.exe 파일
'학점은행제 > 마이크로프로세서' 카테고리의 다른 글
[마이크로프로세서] 엘리베이터 층 도착 원리 (1) 2021.03.06 [마이크로프로세서] 통합 개발 환경 구축 (0) 2021.01.20 [마이크로프로세서] 통합 개발 환경 (0) 2021.01.17 [마이크로프로세서] ATmega128 명령어 실행 (0) 2021.01.15