STM32 개발에 대해 글을 쓰기로 하였다. 목차는 아래와 같다. 목차 순서대로 글을 연재할 예정이다. 개발을 위한 준비물은 아래 세 가지다. ST사에서 제공하는 STM32 개발 보드인 STM32F769I-DISC1을 이용한다.
RCC란 Reset and Clock Control의 줄임말로, STM32의 리셋과 클럭을 합쳐서 일컫는다. STM32에서는 RCC를 이용하여 MCU의 리셋과 클럭을 제어할 수 있다. 본 글에서는 리셋 보단 클럭 설정을 중점적으로 다루려고 한다.
UART란 Universal Asynchromous Receiver/Transmitter의 약자로, 두 칩 간에 데이터를 주고 받기 위한 시리얼 통신 프로토콜 중 하나이다. 기본적으로 2개의 라인을 사용한다.PC와 보드 사이에 UART 통신을 이용하여 데이터를 송수신해
GPIO란 General Purpose Input Output 약자로, 사용자가 SW를 통해 직접 용도와 동작을 정의할 수 있는 디지털 신호 핀을 의미한다.보드에 달려있는 푸시 버튼과 LED를 제어해보자.STM32F769I-DISC1 보드의 푸시 버튼과 LED는 아래와
RTC란 Real Time Clock의 줄임말로, 클럭을 입력으로 받아서 인간의 입장에서 유의미한, 즉 현실 세계의 시간을 표현해내기 위해 사용되는 모듈을 말한다.RTC 모듈에 임의의 시간을 설정하고 주기마다 UART로 출력하는 예제를 만들어보자.아래 그림을 보면 RT
NVIC란 Nested Vectored Interrupt Controller의 줄임말로 Cortex-M MCU 내부에서 인터럽트를 받아들이고 처리하기 위해 사용되는 인터럽트 컨트롤러를 말한다.EXTI란 External Interrupt의 줄임말로, MCU 외부에 있는
I2C란 Inter-Intergrated Circuit의 줄임말로, 서로 다른 IC 간에 데이터를 주고받기 위한 통신 중 하나이다. 기본적으로 두 개의 라인이 사용된다.I2C 통신을 하는 예제를 만들어보자.한 보드 내에서 I2C 두 조를 이용하면 가장 간단하게 만들 수
stm32에서는 syscall.c 파일 안에 있는 _write, _read 등의 시스템 콜 함수를 재정의함으로써 GNU C의 printf, scanf 함수를 그대로 이용할 수 있다고 한다.printf와 scanf를 UART1을 통해 사용하도록 설정해보자._write 함
FMC란 Flexible Memory Controller의 줄임말로, MCU 외부에 연결된 각종 메모리를 관리하기 위한 모듈을 말한다. 주로 NAND/NOR Flash Memory나 SDRAM을 제어하기 위해 사용된다고 한다.보통 TFT-LCD나 이미지·그래픽 처리를
QSPI란 Quad Serial Peripheral Interface의 줄임말로, 데이터 선을 4개 사용하는 SPI 통신을 말한다.일반적으로 임베디드에서 흔히 쓰이는 통신 인터페이스 중 하나인 SPI는 데이터 선을 송신 전용 1개, 수신 전용 1개 총 2개로 이루어져
SDMMC란 SD/SDIO MMC card host interface의 줄임말로, MCU에서 Multi Media Cards(MMCs), SD Memory Card, SDIO Card에 접근하기 위해 사용하는 모듈을 말한다. SDMMC를 이용하여 SD카드를 마운트하고
Timer란 임의의 주기를 갖는 신호를 측정하거나 생성할 때 사용되는 디지털 회로를 말한다. 특정 주기마다 이벤트를 발생시키거나, 외부에서 들어온 신호의 길이를 측정할 때 사용한다. 또 PWM과 같은 파형을 생성하여 출력으로 보낼 때도 사용된다. MCU에서 GPIO,