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

(2017년 1학기 개설,4학년 대상)

본 교과목은 산학협력중심대학 사업의 특성화 전공으로 개발된 교과목 입니다.


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

이 과목은 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
PXA270 manual
B. P. Douglass, Real Time UML, 3rd ed., Addison Wesley, 2004
브루스 파월 더글라스 지음, 김기주, 채원석, 최현식 옮김, 임베디드 시스템에서 활용하는 실시간 UML 제3판, 에이콘, 2008


강의계획서:syllabus.doc
실습 보고서 양식: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.zip

제출

3

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

DeviceDriver.pdf
Lab3.pdf
driver.zip

제출

4

Linux Architcture
LAB4: Applications using Switch/Timer Interrupt Drivers

LinuxArchitecture.pdf
Lab4&5.pdf

없음

5

Building Linux Kernel
Lab5: Digital Clock on Embedded Linux

Kernel.pdf

제출

6

Real-Time & Linux
LAB6: Building Linux Kernel including Device Drivers

RealTimeLinux.pdf
PriorityInversion.pdf
Lab6.pdf

없음

7

Concepts of Model-Driven Design, Class Diagram, Object Diagram
LAB7: Hello World, CountDown Example

UML2Fundamentals.pdf
RiCpp_Basic.pdf

없음

8

중간 시험

N/A

없음

9

State Diagram, Relationships
LAB8: Dishwasher Example

N/A

없음

10

Generalization, Ports, Use Case Modeling
LAB9: Dishwasher Example

RiCpp_Advanced.pdf

LAB8,9 합하여 제출

11

Embedded Linux Programming using Rhapsody
LAB10: Exercises RiCpp_Linux_PartOne

RiCpp_Linux.pdf

없음

12

Embedded Linux Programming using Rhapsody
LAB11: Exercises RiCpp_Linux_PartTwo

N/A

제출

13

C166 microprocessor & Rhapsody
LAB12: CAN Communication Examples

RiC_Tasking.pdf

없음

14

Programming C166 using Rhapsody
LAB13: Design Project (Elevator Controller)

Elevator.pdf

없음

15

Programming C166 using Rhapsody
LAB14: Design Project (Elevator Controller)

보고서제출 마감:
2017년6월21일(수) 오후11시59분
기한이 촉박하다는 의견이 있어 제출 기한을 연장합니다.

제출

16

기말 시험

2017년 6월21일(수) 오전10:00
1공학관302호

없음