Nol.A SDK Library 26.11.2
For IoT System Software Development
Loading...
Searching...
No Matches
STM32F4xxFlashSector Class Reference

STM32F4xx MCU의 내부 플래시 섹터에 데이터를 읽고 쓰기 위한 클래스 More...

#include <STM32F4xxFlashSector.hpp>

Inheritance diagram for STM32F4xxFlashSector:
Storage

Public Member Functions

 STM32F4xxFlashSector (uint32_t sectorAddress, uint32_t sectorSize)
 STM32F4xx MCU의 내장 flash 영역을 선언합니다. (섹터 단위).
void begin ()
 저장공간을 활성화합니다.
uint64_t length ()
 저장공간의 크기를 구합니다. (단위:바이트)
uint8_t read (uint64_t addr)
 저장공간의 데이터를 1-바이트 읽습니다.
error_t read (void *dst, uint64_t addr, uint32_t len)
 저장공간의 데이터를 len 바이트 읽습니다.
error_t write (const uint8_t *buf, uint64_t addr, uint32_t len)
 저장공간에 데이터를 len 바이트 씁니다.
error_t write (uint64_t addr, uint8_t value)
 저장공간에 데이터를 1-바이트 씁니다.

Detailed Description

STM32F4xx MCU의 내부 플래시 섹터에 데이터를 읽고 쓰기 위한 클래스

관련 예제

Examples
st-nucleo-f429zi/FlashMemory/main.cpp.

Constructor & Destructor Documentation

◆ STM32F4xxFlashSector()

STM32F4xxFlashSector::STM32F4xxFlashSector ( uint32_t sectorAddress,
uint32_t sectorSize )

STM32F4xx MCU의 내장 flash 영역을 선언합니다. (섹터 단위).

Parameters
sectorAddress섹터 주소
sectorSize섹터 크기 (단위: bytes)
Note
주소 및 크기는 반드시 하나의 섹터여야 합니다.

다음 예제와 같이 선언할 수 있습니다.

STM32F4xxFlashSector sector(0x081E0000, 128 * 1024);

섹터의 주소 및 크기는 STM32F4xx MCU의 Reference Manual (RM0090) 및 세부 datasheet의 memory-map을 참고하시기 바랍니다.

Member Function Documentation

◆ begin()

void STM32F4xxFlashSector::begin ( )
virtual

저장공간을 활성화합니다.

Implements Storage.

◆ length()

uint64_t STM32F4xxFlashSector::length ( )
virtual

저장공간의 크기를 구합니다. (단위:바이트)

Implements Storage.

◆ read() [1/2]

uint8_t STM32F4xxFlashSector::read ( uint64_t addr)
virtual

저장공간의 데이터를 1-바이트 읽습니다.

Parameters
addr읽을 데이터의 주소 (0 ~ length())
Returns
읽은 데이터. addr 이 범위를 벗어난 경우, 0을 반환합니다.

Implements Storage.

◆ read() [2/2]

error_t STM32F4xxFlashSector::read ( void * dst,
uint64_t addr,
uint32_t len )
virtual

저장공간의 데이터를 len 바이트 읽습니다.

Parameters
dst읽은 데이터를 저장할 포인터
addr읽을 데이터의 주소 (0 ~ length())
len읽을 데이터의 크기 (단위: 바이트)
Returns
  • ERROR_SUCCESS : 성공
  • ERROR_INVALID_ARGS : dst 가 NULL 이거나, addr 이 범위 밖이거나, len 이 0

Implements Storage.

◆ write() [1/2]

error_t STM32F4xxFlashSector::write ( const uint8_t * buf,
uint64_t addr,
uint32_t len )
virtual

저장공간에 데이터를 len 바이트 씁니다.

Parameters
buf쓸 데이터의 포인터
addr데이터를 저장할 주소 (0 ~ length())
len쓸 데이터의 크기 (단위: 바이트)
  • ERROR_SUCCESS : 성공
  • ERROR_INVALID_ARGS : addr 이 범위 밖이거나, len 이 0
  • ERROR_NOT_ENOUGH_MEMORY : 메모리 부족
  • ERROR_FAIL : 기타 실패

Implements Storage.

◆ write() [2/2]

error_t STM32F4xxFlashSector::write ( uint64_t addr,
uint8_t value )
virtual

저장공간에 데이터를 1-바이트 씁니다.

Parameters
addr데이터를 저장할 주소 (0 ~ length())
value쓸 데이터
  • ERROR_SUCCESS : 성공
  • ERROR_INVALID_ARGS : addr 이 범위 밖이거나, len 이 0
  • ERROR_NOT_ENOUGH_MEMORY : 메모리 부족
  • ERROR_FAIL : 기타 실패

Implements Storage.


The documentation for this class was generated from the following file: