workshop:softwareforhardwaredeveloper
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
workshop:softwareforhardwaredeveloper [2012/08/19 22:30] – 59.187.203.58 | workshop:softwareforhardwaredeveloper [2018/07/18 14:10] (current) – external edit 127.0.0.1 | ||
---|---|---|---|
Line 1: | Line 1: | ||
====== 하드웨어 개발자를 위한 소프트웨어의 이해 ====== | ====== 하드웨어 개발자를 위한 소프트웨어의 이해 ====== | ||
- | 이 워크숍은 하드웨어 개발자를 위한 워크숍으로 임베디드 시스템 맥락에서 소프트웨어를 다룹니다. | + | 이 워크숍은 하드웨어 개발자를 위한 워크숍으로 임베디드 시스템 맥락에서 소프트웨어에 대해 |
- | **직접 임베디드 하드웨어의 소프트웨어를 만들면서** 소프트웨어 구성하는 실습(workshop) 위주입니다. | + | **직접 임베디드 하드웨어의 |
실습 교육을 효과적으로 하기 위해, 시나리오 기반으로 문제해결을 하는 방법으로 진행합니다. | 실습 교육을 효과적으로 하기 위해, 시나리오 기반으로 문제해결을 하는 방법으로 진행합니다. | ||
- | 시나리오의 테마는 **우주 행성 탐사선**에 쓰이는 소프트웨어 알고리즘 입니다. | + | 문제해결을 하면서 어려움을 겪을때는 코칭을 통해서 참가자 스스로 해결할 수 있도록 합니다. |
- | 사용하는 하드웨어 플랫폼은 ARM Cortex-M3 | + | 시나리오: |
- | 사용하는 | + | |
+ | 사용하는 하드웨어 플랫폼은 | ||
===== 교육 목표 ===== | ===== 교육 목표 ===== | ||
- | * 임베디드 | + | * 하드웨어를 제어하는 소프트웨어를 만들 |
* 임베디드 소프트웨어의 자주 쓰는 패턴을 익혀본다. | * 임베디드 소프트웨어의 자주 쓰는 패턴을 익혀본다. | ||
- | * 임베디드 하드웨어의 주요 주변기기를 제어 해본다. | + | * 워크숍 이후에도 참가자들이 지속적으로 학습 할 수 있도록 한다. |
===== 교육 대상 ===== | ===== 교육 대상 ===== | ||
- | * 하드웨어 개발자 | + | * 임베디드 |
* C언어 코드를 읽을 수 있다. (C언어에 익숙하지 않은 분은 " | * C언어 코드를 읽을 수 있다. (C언어에 익숙하지 않은 분은 " | ||
Line 27: | Line 29: | ||
- LED blink | - LED blink | ||
- mbed library 소개 | - mbed library 소개 | ||
- | - 디지털 입출력, | + | - 디지털 입출력 |
- | - 아날로그 입력, PWM 제어 | + | - 아날로그 입력 출력, PWM 제어 |
- | - 프로젝트: | + | |
**둘째날** | **둘째날** | ||
+ | - 프로젝트: | ||
- 인터럽트/ | - 인터럽트/ | ||
- | - mbed로 IC 통신하기: | + | - mbed로 IC 통신하기: |
- | - 프로젝트: | + | - 프로젝트: |
- | - 인터넷과 통신하기: 무선 통신 | + | |
- | - 프로젝트: | + | |
- 프로그래밍 수련법 | - 프로그래밍 수련법 | ||
- 회고 | - 회고 | ||
Line 45: | Line 45: | ||
- 컴퓨터의 구조: 하드웨어에서 소프트웨어의 연결 | - 컴퓨터의 구조: 하드웨어에서 소프트웨어의 연결 | ||
- | - mbed 스펙 | + | - mbed 스펙. Arm Cortex-M3 |
- | - mbed 메모리 모델 | + | - 메모리 모델 |
+ | - 코드읽기: | ||
**2. 프로그래밍 언어 학습 하기** | **2. 프로그래밍 언어 학습 하기** | ||
- 에러로 배우는 프로그래밍 | - 에러로 배우는 프로그래밍 | ||
+ | - 소프트웨어 디버깅 | ||
**3. mbed library 소개** | **3. mbed library 소개** | ||
- | - mbed library를 | + | - 다양한 |
**4. 인터럽트/ | **4. 인터럽트/ | ||
- 인터럽트 타이머 프로그래밍 | - 인터럽트 타이머 프로그래밍 | ||
+ | - polling 방식 | ||
**5. 통신** | **5. 통신** | ||
- 주변기기 통신 프로그래밍 (I2C, SPI) | - 주변기기 통신 프로그래밍 (I2C, SPI) | ||
+ | |||
===== 참고 ===== | ===== 참고 ===== | ||
Line 66: | Line 70: | ||
- Patterns for Time-Triggered Embedded Systems | - Patterns for Time-Triggered Embedded Systems | ||
- Fast and Effective Embedded Systems Design: Applying the ARM mbed | - Fast and Effective Embedded Systems Design: Applying the ARM mbed | ||
+ | - 임베디드 레시피 | ||
---- | ---- | ||
- | [[:mbed gcc install|mbed 개발환경 설치하기]] | + | * [[:mbed gcc install|mbed 개발환경 설치하기]] |
+ | * [[: | ||
workshop/softwareforhardwaredeveloper.1345415403.txt.gz · Last modified: 2018/07/18 14:09 (external edit)