Nol.A SDK Library  24.11.0
For IoT System Software Development
Public Member Functions | List of all members
nRF5xFlashPage Class Reference

nRF5x MCU 내부 플래시 페이지에 데이터를 읽고 쓰기 위한 클래스 More...

#include <nRF5xFlashPage.hpp>

Inheritance diagram for nRF5xFlashPage:
Storage

Public Member Functions

 nRF5xFlashPage (uint32_t pageAddress)
 Constructor. More...
 
void begin () override
 저장공간을 활성화합니다.
 
uint64_t length () override
 저장공간의 크기를 구합니다. (단위:바이트)
 
uint8_t read (uint64_t addr) override
 저장공간의 데이터를 1-바이트 읽습니다. More...
 
error_t read (void *dst, uint64_t addr, uint32_t len) override
 저장공간의 데이터를 len 바이트 읽습니다. More...
 
error_t write (const uint8_t *buf, uint64_t addr, uint32_t len) override
 저장공간에 데이터를 len 바이트 씁니다. More...
 
error_t write (uint64_t addr, uint8_t value) override
 저장공간에 데이터를 1-바이트 씁니다. More...
 

Detailed Description

nRF5x MCU 내부 플래시 페이지에 데이터를 읽고 쓰기 위한 클래스

Constructor & Destructor Documentation

◆ nRF5xFlashPage()

nRF5xFlashPage::nRF5xFlashPage ( uint32_t  pageAddress)

Constructor.

Parameters
pageAddress페이지 시작 주소

pageAddress 로 시작되는 플래시 1 페이지를 생성합니다.

가령, nRF52에서 Page 127(0x7F000~0x7FFFF, 4096-byte)로 접근하기 위해서는 다음과 같이 선언하여 사용하면 됩니다.

nRF5xFlashPage myPage(0x7F000);
nRF5x MCU 내부 플래시 페이지에 데이터를 읽고 쓰기 위한 클래스
Definition: nRF5xFlashPage.hpp:54
nRF5x flash page
Note
pageAddress 는 정확하게 플래시 페이지의 시작 주소여야 합니다. 만약, 올바른 주소가 아니라면 정상동작하지 않을 수 있습니다.
Warning
현재 실행 중인 프로그램 또는 SoftDevice 영역의 페이지를 선언하여 사용하지 마십시오. 읽기 동작은 상관 없으나, 쓰기 동작은 HardFault를 유발합니다.

Member Function Documentation

◆ read() [1/2]

uint8_t nRF5xFlashPage::read ( uint64_t  addr)
overridevirtual

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

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

Implements Storage.

◆ read() [2/2]

error_t nRF5xFlashPage::read ( void *  dst,
uint64_t  addr,
uint32_t  len 
)
overridevirtual

저장공간의 데이터를 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 nRF5xFlashPage::write ( const uint8_t *  buf,
uint64_t  addr,
uint32_t  len 
)
overridevirtual

저장공간에 데이터를 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 nRF5xFlashPage::write ( uint64_t  addr,
uint8_t  value 
)
overridevirtual

저장공간에 데이터를 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: