본 과목은 강의와 실습이 함께 진행되는 과목으로 임베디드 소프트웨어를 개발하는 방법을 교육한다. 먼저 Embedded Operating System(Linux)의 개요와 이를 이용한 응용 프로그램의 개발 방법, 그리고 디바이스 드라이버를 이용한 응용 프로그램 개발 방법을 교육한다. 다음으로 모델 중심(Model-Driven) 개발 기법을 이용하여 임베디드 시스템 소프트웨어를 개발하는 방법을 교육한다.
모델 중심 개발 언어인 UML에 관한 기본 적인 내용과 함께, UML 도구인 IBM Rhapsody를 사용한 임베디드 소프트웨어의 개발 방법을 실습을 통하여 교육한다.
또한 최근 마이크로콘트롤러의 시장 경향에 맞추어서 ARM Cortex-M 프로세서를 위한 소프트웨어 설계에 대한 방법을 교육한다. ARM Cortex-M 프로세서에 대해서는 CAN, I2C통신과 Machine Learning (Deep Learning, Artificial Neural Network)을 이용한 Artificial Intelligence (AI) 소프트웨어를 마이크로콘트롤러에 적용하는 방법을 실습을 통하여 배운다.
이 과목은 3학점의 과목으로, 기본적으로 1주일에 강의 2시간 실험 2시간의 형태로 교육이 이루어짐.
강의는 배정된 강의실에서, 실험은 4공학관 515호 IC-PBL 실험실에서 실시됨.
평가: IC-PBL 발표 평가 및 보고서 30%, 기말 시험 40%, 실습 보고서 20%, 출석 10%
선수과목 : C 언어 프로그래밍(필수), 마이크로프로세서 응용(필수 선수 과목은 아니지만, 마이크로프로세서 응용을 수강하지 않은 학생은 어려움이 있을 수 있음)
참고문헌: Embedded Linux System Design and Development,
P. Raghavan • Amol Lad • Sriram Neelakandan,
Auerbach Publications
stm32f407 reference manual
실습 보고서 양식:report_form_Kor.docx
보고서는 보고서 제출이 명시된 실습에 대해서만 제출하며, 실습이 완료된 후 1주일 이내에 한양대학교 LMS로 제출하십시오.
보고서는 MS Word 파일로 제출하고, 파일명은 Lab번호_이름.docx로 하십시오. Appendix에는 소스 코드를 첨부합니다. 사진 등을 많이 첨부해서 용량이 클 경우 용량을 줄여서 가급적 5M 이내의 크기로 보내십시오.
위의 규칙을 지키지 않을 경우 제출하지 않은 것으로 간주될 수 있습니다.
주별 강의 및 실습계획
Week |
강의 및 실습 내용 |
자료 |
보고서 |
1 |
IC-PBL Orientation, Introduction to Embedded Linux |
Orientation.pdf |
없음 |
2 |
Real-Time Kernel Concepts |
|
제출 |
3 |
Device Drivers |
|
제출 |
4 |
Linux Architcture and Kernel |
|
제출 |
5 |
Concepts of Model-Driven Design |
|
없음 |
6 |
Embedded Software Design Based on Model-Driven Method |
RealTimeLinux.pdf |
없음 |
7 |
Introduction to Arm Cortex-Microcontrollers |
|
제출 |
8 |
IC-PBL 문제 시나리오 소개 및 설명 |
LabCortexWIFI.pdf |
없음 |
9 |
Programming Arm Cortex-M Microcontrollers |
|
없음 |
10 |
IC-PBL 팀별 제안서 발표 |
|
|
11 |
IC-PBL 문제 해결을 위한 연구 활동 수행
|
|
없음 |
12 |
IC-PBL 과제 수행 |
|
없음 |
13 |
IC-PBL 과제 수행 |
|
제출 |
14 |
IC-PBL 과제 수행 |
N/A |
없음 |
15 |
IC-PBL 과제 발표 평가 |
보고서제출 마감:2021년 6월 TBA 일 |
제출 |
16 |
기말 시험 |
TBA |
없음 |