User Tools

Site Tools


workshop:softwareforhardwaredeveloper

하드웨어 개발자를 위한 소프트웨어의 이해

이 워크숍은 하드웨어 개발자를 위한 워크숍으로 임베디드 시스템 맥락에서 소프트웨어에 대해 다룹니다.

직접 임베디드 하드웨어의 제어하는 소프트웨어를 만들면서 소프트웨어 구성하는 실습(workshop) 위주의 워크숍(workshop) 입니다. 실습 교육을 효과적으로 하기 위해, 시나리오 기반으로 문제해결을 하는 방법으로 진행합니다. 문제해결을 하면서 어려움을 겪을때는 코칭을 통해서 참가자 스스로 해결할 수 있도록 합니다.

시나리오: 도어 경보등

사용하는 하드웨어 플랫폼은 LPC1768(ARM Cortex-M3) 이고 개발 보드와 도구는 http://mbed.org/ 에서 제공하는 mbed NXP LPC1768 을 사용합니다.

교육 목표

  • 하드웨어를 제어하는 소프트웨어를 만들 수 있다.
  • 임베디드 소프트웨어의 자주 쓰는 패턴을 익혀본다.
  • 워크숍 이후에도 참가자들이 지속적으로 학습 할 수 있도록 한다.

교육 대상

  • 임베디드 하드웨어 개발자
  • C언어 코드를 읽을 수 있다. (C언어에 익숙하지 않은 분은 “씹어먹는 C 언어 강좌” 읽어보고 오세요~ http://itguru.tistory.com/187 )

교육 시간표

첫날

  1. 워크숍 소개
  2. 임베디드 시스템 개요.
  3. mbed 소개. 개발환경 설정
  4. LED blink
  5. mbed library 소개
  6. 디지털 입출력 제어
  7. 아날로그 입력 출력, PWM 제어

둘째날

  1. 프로젝트: 도어 경보등 만들기
  2. 인터럽트/ 타이머
  3. mbed로 IC 통신하기: I2C. tmp102 온도센서
  4. 프로젝트: 보드의 온도를 입력받아 EEPROM에 저장하기.
  5. 프로그래밍 수련법
  6. 회고

교육 내용

1. mbed 소개

  1. 컴퓨터의 구조: 하드웨어에서 소프트웨어의 연결
  2. mbed 스펙. Arm Cortex-M3
  3. 메모리 모델
  4. 코드읽기: startup code.

2. 프로그래밍 언어 학습 하기

  1. 에러로 배우는 프로그래밍
  2. 소프트웨어 디버깅

3. mbed library 소개

  1. 다양한 mbed library를 소개.

4. 인터럽트/타이머

  1. 인터럽트 타이머 프로그래밍
  2. polling 방식

5. 통신

  1. 주변기기 통신 프로그래밍 (I2C, SPI)

참고

  1. CODE: 하드웨어와 소프트웨어에 숨어있는 언어
  2. Making Embedded Systems: Design Patterns for Great Software
  3. Patterns for Time-Triggered Embedded Systems
  4. Fast and Effective Embedded Systems Design: Applying the ARM mbed
  5. 임베디드 레시피

workshop/softwareforhardwaredeveloper.txt · Last modified: 2018/07/18 14:10 by 127.0.0.1