임베디드시스템설계 (Embedded System Design)

(2018년 1학기 개설)

본 과목은 강의와 실습이 함께 진행되는 과목으로 임베디드 소프트웨어를 개발하는 방법을 교육한다. 먼저 Embedded Operating System(Linux)의 개요와 이를 이용한 응용 프로그램의 개발 방법, 그리고 디바이스 드라이버를 이용한 응용 프로그램 개발 방법을 교육한다. 다음으로 모델 중심(Model-Driven) 개발 기법을 이용하여 임베디드 시스템 소프트웨어를 개발하는 방법을 교육한다. 모델 중심 개발 언어인 UML에 관한 기본 적인 내용과 함께, UML 도구인 IBM Rhapsody를 사용한 임베디드 소프트웨어의 개발 방법을 실습을 통하여 교육한다. 또한 ARM Cortex-M 프로세서를 위한 소프트웨어 설계에 대한 방법을 실습과 함께 교육한다.

이 과목은 3학점의 과목으로, 기본적으로 1주일에 강의 2시간 실험 2시간의 형태로 교육이 이루어짐. 강의는 배정된 강의실에서, 실험은 4공학관 516호에서 실시됨.

평가: 중간 시험 30%, 기말 시험 30 %, 실험 보고서 20%, 설계 과제 10%, 출석 10%.

선수과목 : C 언어 프로그래밍, 마이크로프로세서 응용(필수 선수 과목은 아님. 즉, 마이크로프로세서 응용을 수강하지 않은 학생도 수강 가능)

참고문헌: Embedded Linux System Design and Development, P. Raghavan • Amol Lad • Sriram Neelakandan, Auerbach Publications
imx6q reference manual
B. P. Douglass, Real Time UML, 3rd ed., Addison Wesley, 2004
브루스 파월 더글라스 지음, 김기주, 채원석, 최현식 옮김, 임베디드 시스템에서 활용하는 실시간 UML 제3판, 에이콘, 2008
stm32f407 reference manual

실습 보고서 양식:report_form_Kor.doc

보고서는 보고서 제출이 명시된 실습에 대해서만 제출하며, 실습이 완료된 후 1주일 이내에 이메일(limdj@hanyang.ac.kr)로 제출하십시오.
보고서를 이메일로 제출할 때, 이메일의 제목은 [LAB번호]제출자이름-임베디드시스템설계로 하십시오.
파일명은 Lab번호_이름.doc 또는 Lab번호_이름.hwp 로 하십시오.
예를 들면 파일명은 Lab2_홍길동.doc, 이메일 제목은 [Lab2]홍길동-임베디드시스템설계입니다. 이 규칙을 지키지 않을 경우 제출하지 않은 것으로 간주될 수 있습니다. (학교 메일 계정을 통해서 Outlook 프로그램으로 메일 수신을 하므로 웹메일 계정의 메일 읽음 확인이 안될 수 있습니다. 따라서 메일 읽음 확인이 안되어도 메일을 읽지 않은 것은 아닙니다.)


주별 강의 및 실습계획

Week

강의 및 실습 내용

자료

보고서

1

Introduction to Embedded Linux
LAB1: Embedded Linux Applications Development Environment

실습실에 오기 전에 홈페이지에 게시된 실습 자료를 다운로드 받아서 USB메모리에 저장하여 가져오기 바랍니다.

Introduction.pdf
Lab1.pdf
Linux Fundamentals
Makefile Tutorial

없음

2

Real-Time Kernel Concepts
LAB2: Multi Threads, Semaphore, Mutex

RTOS.pdf
Lab2.pdf

제출

3

Device Drivers
Lab3: Applications using LED, FND, LCD drivers

DeviceDriver.pdf
Lab3.pdf

제출

4

Linux Architcture
LAB4: Applications using Interrupt Drivers, Digital Clock on Embedded Linux

LinuxArchitecture.pdf
Lab4.pdf

제출

5

Building Linux Kernel
Lab5: Building Linux Kernel including Device Drivers

Building.pdf
Lab5.pdf

없음

6

Real-Time & Linux, Concepts of Model-Driven Design
LAB6: Hello World Example, Count Down Example

RealTimeLinux.pdf
PriorityInversion.pdf
UML2short.pdf
RiCpp_Basic.pdf

없음

7

Concepts of Model-Driven Design
LAB7: Stopwatch

N/A

제출

8

중간 시험

N/A

없음

9

Concepts of Model-Driven Design
LAB8: CAN Communication

RiCpp_CAN.pdf

없음

10

ARM Cortex-M Processors
LAB9: Elevator Project

Cortex-M.pdf
Elevator.pdf

학기말에 Design Project에 포함하여 제출

11

ARM Cortex-M Processors
LAB10: Cortex-M4: Serial Wifi

LabCortexWIFI.pdf
stm32f407_ref.pdf
stm32f4_HAL.pdf
LabCortexSource.zip

없음

12

Serial Communication: I2C
LAB11: Cortex-M4: Oled Display

LabCortexOLED.pdf
LabCortexSource.zip

제출

13

Reserved
LAB12: Cortex-M4: CAN Communication

LabCortexCAN.pdf
LabCortexSource.zip

없음

14

Design Project
LAB13: Design Project

N/A

없음

15

Design Project
LAB14: Design Project

보고서제출 마감:2018년6월17일(일)

제출

16

기말 시험
2018년6월15일(금요일)오전 10시

TBA

없음