hyunsik-yoon / study

Personal repository for self-study
Apache License 2.0
0 stars 0 forks source link

Embedded Systems Bare-Metal Programming Ground Up™ (STM32) #159

Open hyunsik-yoon opened 1 year ago

hyunsik-yoon commented 1 year ago

from https://www.udemy.com/course/embedded-systems-bare-metal-programming/learn/lecture/26702490?start=45#overview

hyunsik-yoon commented 1 year ago

project 1

hyunsik-yoon commented 1 year ago

bitwise tip

hyunsik-yoon commented 1 year ago

struct 를 이용하는 팁.

typedef struct {
    volatile uint32_t dummy[12]; // 앞의 12개의 uint32_t는 무시
    volatile uint32_t moder; // base address + (sizeof(uint32_t )*12 바이트) 위치가 됨.
} Gpioa_def;

Gpioa_def *gpio = (Gpioa_def *)(0x40000020); // 0x40000020 는 GPIOA의 register 주소
gpio->moder |= (1U << 10);  // 10번째 비트를 1로 셋팅
hyunsik-yoon commented 1 year ago

GPIO (general purpose input output)

hyunsik-yoon commented 1 year ago

GPIO BSRR (bit set/reset register)

hyunsik-yoon commented 1 year ago

GPIO Input Driver

hyunsik-yoon commented 1 year ago

serial vs parallel communication

UART

hyunsik-yoon commented 1 year ago

UART TX driver 개발

프로그램 실행 순서

hyunsik-yoon commented 1 year ago

printf 구현

hyunsik-yoon commented 1 year ago

UART Receive (RX)

hyunsik-yoon commented 1 year ago

ADC (Analog-to-digital converter)

hyunsik-yoon commented 1 year ago

ADC Independent Modes

hyunsik-yoon commented 1 year ago

ADC Driver 개발

Note) STM32F4 ADC is 12 bit conversion

hyunsik-yoon commented 1 year ago

Continuous conversion

hyunsik-yoon commented 1 year ago

SYSTICK timer

hyunsik-yoon commented 1 year ago

timer implementation

hyunsik-yoon commented 1 year ago

Timer

hyunsik-yoon commented 1 year ago

Register

hyunsik-yoon commented 1 year ago

Timer driver 개발

hyunsik-yoon commented 1 year ago

Timer output compare register driver

hyunsik-yoon commented 1 year ago

Timer input capture register driver

hyunsik-yoon commented 1 year ago

interrupt

hyunsik-yoon commented 1 year ago

EXTI Interrupt driver

참고) startup_stm32f411retx.s

hyunsik-yoon commented 1 year ago

UART interrupt driver

ADC interrupt driver

SYSTICK interrupt driver

Timer interrupt driver (General purpose timer)

hyunsik-yoon commented 1 year ago

DMA

hyunsik-yoon commented 1 year ago

DMA driver for UART

hyunsik-yoon commented 1 year ago

I2C

hyunsik-yoon commented 1 year ago

I2C driver

hyunsik-yoon commented 1 year ago

SPI

hyunsik-yoon commented 1 year ago

SPI driver for ADXL345 accelerometer

hyunsik-yoon commented 1 year ago

.

hyunsik-yoon commented 1 year ago

more study: https://blog.embeddedexpert.io/?p=1650