프로세서에서 주변기기는 메모리다. - C프로그램에서 주변기기를 제어하기 위해서는 입출력 포트가 사용할 메모리를 지정함 - 주변기기로 데이터를 읽기/쓰기 위해서는 주변기기가 사용하는 포트에 할당된 메모리에 앍기/쓰기함 하드웨어 제어방법 1. 데이터시트 - 보드를 구성하는 하드웨어와 프로세서를 제어하기 위한 정보를 담고 있는 다큐먼트 파일 2. 입출력 장치 제어 - 메모리 할당 → 메모리 접근할때 ① 포인트 변수 사용 ② 메모리 직접 접근 - 모드설정 → 입력모드인지 출력모드인지 - 데이터 읽고 쓰기 입출력장치 신호처리방법 1. 폴링 - 입출력장치에서 신호가 발생했는가를 반복적으로 확인하는 방법 GPECON을 입력모드로 설정 스위치가 1인지 확인하기 위해 GPEDAT 1인지 확인 2. 인터럽트 - 프로세서 ..
1. 임베디드 시스템의 실행과정 리셋 → 하드웨어 초기화 → C프로그램 실행기반구축 → main으로 분기 2. 리셋 º 파워 On - 리셋 : 파워나 리셋버튼을 눌렀을때 발생하는 예외 ( Exception ) - 예외 ( Exception ) · 시스템 오류를 포함하여 프로세서에게 특정 이벤트가 발생했음을 알려주는 것으로 프로세서는 이에 대해 대처함 · 예외들은 프로세서마다 정의되어 있고 예외를 처리하는 코드를 예외처리루틴(핸들러)이라고 함 - 리셋은 시스템의 시작을 의미하는 이벤트이므로 시스템을 초기화하는 예외처리루틴이 필요하고, 리셋예외가 발생 하면 대부분 부트코드로 분기함 º 부트 코드 - 하드웨어 초기화 코드 - 하드웨어 초기화 과정 ① 인터럽트 불가 (disable) ② 시스템에서 필요한 클럭을..
○ 호스트 시스템 구성요소 - 툴체인 - 다운로드 유틸리티 - 터미널 유틸리티 - 디버깅 유틸리티 1단계 툴체인 ( Tool Chain ) 설치 - 크로스 컴파일러, 크로스 어셈블러, 크로스 링커, 로케이터 등으로 구성된 소프트웨어 개발도구 - 윈도우 환경에서 간단히 설치가능 - arm-linux-gcc나 arm-linux-ld등과 같은 GNU툴은 리눅스 환경에 도구모음을 직접 구성해야함 2단계 디버거 설치 - 대부분의 사용 통합개발환경에는 디버거를 함께 제공함으로 따로 설치할 필요는 없으나 GNU툴은 arm-linux-gdb를 설치해야함 3단계 다운로드 유틸리티 설치 - 호스트시스템에서 개발한 소프트웨어를 타겟시스템으로 다운시 필요한 프로그램을 호스트시스템에 설치 - 통합개발환경에서는 포함되어 있고, ..
1. 임베디드 소프트웨어 개발환경의 특징 개발 시스템 ≠ 실행시스템 No HDD → ROM 메모리 사용해서 저장 2. 임베디드 소프트웨어 개발방법 1) 임베디드 시스템의 구현 º 하드웨어로만 시스템 구성시 문제점 ※ 속도는 빠르지만, 비용이 많이 들고 유지보수가 어려움 - 대부분 하드웨어와 소프트웨어를 함께 개발함 - 이미 개발되어 있는 하드웨어에 소프트웨어를 개발하여 탑재하는 방식도 많이 사용됨 2) 교차개발 º 임베디드 시스템은 특정 목적을 지닌 시스템이기 때문에 해당 기능과 상관없는 장치는 갖추지 않음 - 교차개발방법을 사용함 - 교차개발 : 프로그램을 개발하는 환경과 실행하는 환경이 다른 개발 방법 3) 호스트 시스템과 타겟 시스템 º 호스트 시스템 : 교차 개발환경에서 소프트웨어를 개발하는 시스..
º RTOS ( Real Time Operating System ) - 실시간성을 제공하는 운영체제로 지정된 시간 내에 서비스 보장 - GPOS에 비해 높은 신뢰성 요구됨 - 사이즈가 작고, 기능별 추가/제거가 용이함 - 고성능 - 종류 : VxWorks, uC/OS, pSOS, Nucleus, REX º GPOS ( General Purpose Operating System ) - 범용 목적의 운영체제 - Window, Linux와 같은 일반 PC환경에서 사용 - 응용프로그램으로 부터 하드웨어 추상화 - 종류 : windows CE, Embedded Linux 1) RTOS의 구성요소 ① 스케줄러 - RTOS 핵심, 실시간성 ② 인터럽트처리 - 외부장치가 프로세서 사용 요청 ③ 자원관리 - 리소스가 제..
● 임베디드 시스템 구성요소 1) 임베디드 시스템의 구성 하드웨어 - 프로세서 : 프로그래머가 작성한 프로그램을 읽어서 해석하며 각종 연산 및 제어를 수행한다. - 메모리장치 : 명령이나 데이터를 저장한다. - 입출력장치 : 입출력 동작을 담당한다. 소프트웨어 - 임베디드 OS - 시스템 소프트웨어 (디바이스 드라이버) : 하드웨어를 제어하는 디바이스 제어 프로그램 - 응용 소프트웨어 2) 프로세서 º CPU - 중앙처리장치 ( ALU + 레지스터 ) º Micre Processor - CPU에 최소한의 주변장치 ( 메모리, FPU등 )를 포함 - 산술연산 위주 º DSP - Micro Controller for Digital signal processing ㄴ 입출력 제어에 사용 CPU + 메모리 + ..
● 임베디드 시스템의 정의 임베디드 시스템은 프로세서, 메모리 장치, 각종 입출력 장치와 같은 하드웨어와 그 하드 웨어를 제어하기 위한 소프트웨어가 조합되어 특정한 기능을 수행하는 시스템을 말한다. ●임베디드 시스템의 특징 ① 제한된 기능 ② 제약된 크기 ③ 저전력 ④ 다양한 프로세서와 운영체제 사용 ⑤ 실시간성 ⑥ No HDD -> ROM, RAM, Flash Memory ● 통신 인터페이스 정의 정보전송에서 송신측고 수신측 간의 인터페이스.기계적인 케이플이나 커넥터의 형상, 전기적 특성상의 인터페이스 및 소프트웨어적인 인터페이스를 위한 절차등을 수행한다. 통신이란 표준화된 인터페이스를 사용해 데이터를 주고 받는 것이라 정의할 수 있다. (여기서 표준화된 ==프로토콜) ● 통신의 종류 통신은 직렬과 병..