- 강의 소개
-
강의 개요
-
실습 매뉴얼 및 자료
-
강의 주제 및 하드웨어 설명 7 min
-
ARM 아키텍처 및 Microchip 제품군 4 min
- 클럭 도메인과 버스의 종류
-
클럭 도메인과 버스의 종류 10 min
- 컴파일러 살펴보기
-
MPLAB® XC32 컴파일러 헤더파일 구조 5 min
-
실습: 프로젝트와 헤더파일 구조 7 min
- 클럭 동기화
-
동기 클럭과 비동기 클럭 8 min
- 내부 오실레이터 설정
-
DFLL (Digital Frequency Locked Loop) 3 min
- GPIO와 주변장치
-
GPIO 포트 제어 11 min
-
Nested Vector Interrupt Controller (NVIC) 3 min
-
Timer Counters 4 min
-
실습 1: LED 제어 13 min
-
Real-Time Counter (RTC) 4 min
-
실습 2: Real-Time Clock 6 min
-
Analog to Digital Converter (ADC) 2 min
- 데이터 전송과 주변장치 트리거
-
Direct Memory Access (DMA) 9 min
-
DMA Data Transfers 7 min
-
실습 3: DMA 16 min
-
이벤트 시스템 9 min
- 데이터 트리거와 전송을 위한 외부 인터페이스
-
EIC (External Interrupt Controller) 5 min
-
실습 4: 이벤트 시스템 13 min
-
실습 5: ADC with DMA Transfers 7 min
-
SAMD Cortex® M0+ 구조와 클럭 차이점 3 min
- 참고자료
-
참고 자료 링크
- 설문조사
-
강의 개선을 위한 피드백
마이크로칩ARM® Cortex® 마이크로컨트롤러 코딩 시작하기
마이크로칩 SAM ARM Cortex M0+, M23, M4 마이크로컨트롤러를 사용하여 코드 작성 및 주변장치를 구동하는 방법에 대해 다룹니다.
이 강의는 SAM ARM® Cortex® M0+, M23, M4 패밀리 마이크로컨트롤러를 이용하여 임베디드 개발을 빠르게 시작하는 방법을 다루며, 처음부터 코드개발을 시작할 수 있도록 구성되어 있습니다. 클럭을 설정하고, 시스템 인터럽트 컨트롤러, 외부 핀 인터럽트 컨트롤러, 아날로그 디지털 컨버터(ADC), 입/출력 핀 컨트롤, 타이머 및 파형발생기와 같은 주변장치에 대한 설정도 설명합니다. 또한, 마이크로컨트롤러 레지스터들을 접근하기 위한 헤더파일들을 살펴보고, Open Loop와 Close Loop모드로 DFLL(Digital Frequency Locked Loop)를 설정하고, DMA를 이용하여 메모리와 주변장치 사이간 데이터 전송도 다루며, CPU의 개입없이 강력한 이벤트 시스템 기능을 활용하여 간단한 설정으로 복잡한 기능을 수행하는 방법에 대해서도 설명합니다. 강의와 실습에서는 베어메탈(Bare Metal) C언어로 디바이스에 펌웨어를 직접 구현합니다. 마이크로컨트롤러는 ATSAME54 M4를 사용하지만, 강의 내용을 습득하면 SAM ARM® Cortex® M0+, M23, M4 마이크로컨트롤러들의 코어와 주변장치에 대해서도 응용할 수가 있습니다. 개발환경인 MPLAB X IDE와 ATSAME54 Xplained PRO 보드에서 프로그래밍 및 디버깅 실습을 하며, Cortex®구조를 깊게 다루는 내용보다는 여러가지 기본 구조에 대한 내용으로 구성되어 있습니다. 강의 내용의 습득을 위해서는 임베디드 마이크로컨트롤러 상에서 펌웨어를 개발하는 C프로그래밍 언어에 대한 기본 지식이 필요로 합니다.