본문으로 건너뛰기

tkl flash | 플래시 드라이버

더 보기tkl_flashAPI는 on-chip 플래시 스토리지에 대한 커널 레이어 (TKL) 작업을 제공합니다. 읽기, 쓰기, 지우기, 잠금, 잠금 해제 및 파티션 지연 쿼리. 모든 기능 반환OPRT_OK성공 또는 오류 코드 정의tuya_error_code.h.

더 보기tkl_flash.c구현은 porting 도구에 의해 생성됩니다. 플랫폼 별 코드를 추가BEGIN이름 *END댓글 작성자 그래서 그것은 재생을 살아.

tkl flash read에

OPERATE_RET tkl_flash_read(uint32_t addr, uint8_t *dst, uint32_t size);

플래시에서 데이터를 읽습니다.

제품 설명제품정보이름 *
addr내 계정플래시 주소에서 읽기.
dst내 계정데이터를 수신하는 버퍼에 포인터.
size내 계정읽는 바이트의 수.

기타 제품OPRT_OK성공에. 다른 값은 오류를 나타냅니다.tuya_error_code.h.

tkl flash 쓰기

OPERATE_RET tkl_flash_write(uint32_t addr, const uint8_t *src, uint32_t size);

Flash로 데이터를 작성합니다.

제품 설명제품정보이름 *
addr내 계정작성하는 플래시 주소.
src내 계정데이터를 작성하는 버퍼에 포인터.
size내 계정쓸 바이트 수.

기타 제품OPRT_OK성공에. 다른 값은 오류를 나타냅니다.tuya_error_code.h.

노트

쓰기 전에 대상 지역을 삭제합니다. 플래시 비트는 지우개에 의해만 명확할 수 있습니다, 그래서 지우지 않은 데이터에 쓰기 잘못된 결과.

tkl flash erase에 대하여

OPERATE_RET tkl_flash_erase(uint32_t addr, uint32_t size);

플래시의 지역을 제거.

제품 설명제품정보이름 *
addr내 계정삭제할 플래시 주소.
size내 계정플래시 블록의 크기가 지우기.

기타 제품OPRT_OK성공에. 다른 값은 오류를 나타냅니다.tuya_error_code.h.

프로젝트

OPERATE_RET tkl_flash_lock(uint32_t addr, uint32_t size);

쓰기와 지우기에 대한 플래시의 지역을 잠금.

제품 설명제품정보이름 *
addr내 계정잠금에 지역의 주소를 시작합니다.
size내 계정자물쇠에 지역의 크기.

기타 제품OPRT_OK성공에. 다른 값은 오류를 나타냅니다.tuya_error_code.h.

프로젝트

OPERATE_RET tkl_flash_unlock(uint32_t addr, uint32_t size);

Flash의 이전에 잠긴 지역을 자물쇠로 엽니다.

제품 설명제품정보이름 *
addr내 계정잠금 해제 지역의 주소를 시작합니다.
size내 계정자물쇠로 여는 지역의 크기.

기타 제품OPRT_OK성공에. 다른 값은 오류를 나타냅니다.tuya_error_code.h.

tkl flash get one type info에 대해

OPERATE_RET tkl_flash_get_one_type_info(TUYA_FLASH_TYPE_E type, TUYA_FLASH_BASE_INFO_T *info);

주어진 플래시 유형의 파티션 레이아웃을 쿼리합니다.

제품 설명제품정보이름 *
type내 계정쿼리에 플래시 유형. 이름 *TUYA_FLASH_TYPE_E.
info내 계정포인터TUYA_FLASH_BASE_INFO_T파티션 레이아웃을받습니다.

기타 제품OPRT_OK성공에. 다른 값은 오류를 나타냅니다.tuya_error_code.h.

TUYA FLASH TYPE E의 특징

쿼리에 논리 저장 영역을 식별합니다. 선택된 값:

회사 소개이름 *
TUYA_FLASH_TYPE_BTL0부트 로더 지역 0.
TUYA_FLASH_TYPE_BTL1Bootloader 지역 1.
TUYA_FLASH_TYPE_APP신청 굳힌모 지역.
TUYA_FLASH_TYPE_OTAOTA 다운로드 영역.
TUYA_FLASH_TYPE_KV_DATAKey-value 데이터 영역.
TUYA_FLASH_TYPE_UF사용자 파일 영역.
TUYA_FLASH_TYPE_ALL모든 파티션.

이름 *tuya_cloud_types.h전체 열렬한.

TUYA FLASH BASE INFO T의 특징

typedef struct {
uint32_t block_size;
uint32_t start_addr;
uint32_t size;
} TUYA_FLASH_PARTITION_T;

typedef struct {
uint32_t partition_num;
TUYA_FLASH_PARTITION_T partition[TUYA_FLASH_TYPE_MAX_PARTITION_NUM];
} TUYA_FLASH_BASE_INFO_T;
제품정보이름 *
partition_num유효한 항목의 수partition.
partition분할 descriptors의 배열, 각 보유block_size, start_addr·size.