NetBurner 3.5.6
PDF Version
effs_pt.h File Reference

NetBurner EFFS Partition Table structures for ARM MIMXRT10xx (SOMRT1061) More...

#include <basictypes.h>

Go to the source code of this file.

Classes

struct  PartitionEntry
 
struct  PartitionTable
 
struct  Effs_Cfg
 Filesystem Configuration. More...
 

Macros

#define HAL_FS_MOUNT_SYS   "A:/sys"
 
 
#define HAL_FS_MOUNT_APP   "A:/app"
 
 
#define HAL_FS_MOUNT_USR   "A:/usr"
 
 
#define HAL_FS_SYS_FILE_DIR   "files"
 
 
#define HAL_FS_PATH_SYS   HAL_FS_MOUNT_SYS "/" HAL_FS_SYS_FILE_DIR "/"
 
 
#define HAL_FS_PATH_APP   HAL_FS_MOUNT_APP "/"
 
 
#define HAL_FS_PATH_USR   HAL_FS_MOUNT_USR "/"
 
 
#define HAL_FS_NAME_CONFIG   "config"
 
 
#define HAL_FS_NAME_CERTSTORE   "certs"
 
 
#define HAL_FS_NAME_USERPARAM   "usrparam"
 
 
#define HAL_FS_NAME_APP   "app"
 
 
#define HAL_FS_VER_SUFFIX   ".x"
 
 
#define HAL_FS_FILE_CONFIG   HAL_FS_PATH_SYS HAL_FS_NAME_CONFIG
 
 
#define HAL_FS_FILE_CERTSTORE   HAL_FS_PATH_SYS HAL_FS_NAME_CERTSTORE
 
 
#define HAL_FS_FILE_USERPARAM   HAL_FS_PATH_SYS HAL_FS_NAME_USERPARAM
 
 
#define HAL_FS_FILE_APP   HAL_FS_PATH_SYS HAL_FS_NAME_APP
 
 

Enumerations

enum  ePartType {
  PARTITION_TYPE_EMPTY = 0x00 , PARTITION_TYPE_FAT12 = 0x01 , PARTITION_TYPE_FAT16 = 0x04 , PARTITION_TYPE_NTFS = 0x07 ,
  PARTITION_TYPE_EXFAT = 0x07 , PARTITION_TYPE_LINUX = 0x93 , PARTITION_TYPE_EFFS = 0x25
}
 Partition Types. More...
 
enum  ePartFlags { PARTITION_FLAG_FREE = 0x00 , PARTITION_FLAG_INUSE = 0x01 , PARTITION_FLAG_EXTENDED = 0x02 , PARTITION_FLAG_BOOT = 0x80 }
 Partition Flags. More...
 
enum  ePartError {
  PARTITION_ERROR_NOERR = 0 , PARTITION_ERROR_OVERLAP = -1 , PARTITION_ERROR_TOOBIG = -2 , PARTITION_ERROR_IDX = -3 ,
  PARTITION_ERROR_TYPE = -4 , PARTITION_ERROR_TABLE_FULL = -5 , PARTITION_ERROR_BOUNDS = -6 , PARTITION_ERROR_UNKNOWN = -255
}
 Partition Errors. More...
 

Functions

uint32_t hamming_checksum (const uint8_t *dat, uint32_t datBits, uint8_t codeLen)
 
 
int hamming_validate (const uint8_t *dat, uint32_t datBits, uint32_t checksum, uint8_t codeLen)
 
 
int hamming_validateOrFix (uint8_t *dat, uint32_t datBits, uint32_t checksum, uint8_t codeLen)
 
 
int hamming_anneal (uint8_t *dat, uint32_t datBits, uint32_t checksum, uint8_t codeLen, uint8_t errBit)
 
 
int getPartitionTable (PartitionTable *pt)
 
 
int validatePartitionTable (PartitionTable *pt)
 
 
int createPartitionTable (PartitionTable *pt, uint8_t sectorLenExp, uint64_t totalSectors)
 
 
int movePartitionEntriesUp (PartitionTable *pt, int startIdx)
 
 
int movePartitionEntriesDown (PartitionTable *pt, int startIdx)
 
 
int createPartitionEntry (PartitionTable *pt, PartitionEntry *pte, uint64_t startSector, uint64_t sectorCount, uint8_t type, bool makeBootable)
 
 
int createPartition (PartitionTable *pt, PartitionEntry *pte)
 
 
int deletePartition (PartitionTable *pt, int partIdx)
 
 
int writePartitionTable (PartitionTable *pt)
 
 
int createDefaultFilesystem (PartitionTable *pt, int partIdx)
 
 
void showPartitionTable (PartitionTable *pt)
 
 
void showPartition (PartitionEntry *pte)
 
 

Variables

PartitionTable AppFlash_pt
 
 

Detailed Description

NetBurner EFFS Partition Table structures for ARM MIMXRT10xx (SOMRT1061)

This header defines the Partition Table structures used by both applications and the boot monitor to mount the application File System in order to access the bootable image, configuration data, and user data.

Enumeration Type Documentation

◆ ePartError

enum ePartError

Partition Errors.

Enumerator
PARTITION_ERROR_NOERR 

PARTITION_ERROR_OVERLAP 

PARTITION_ERROR_TOOBIG 

PARTITION_ERROR_IDX 

PARTITION_ERROR_TYPE 

PARTITION_ERROR_TABLE_FULL 

PARTITION_ERROR_BOUNDS 

PARTITION_ERROR_UNKNOWN 

◆ ePartFlags

enum ePartFlags

Partition Flags.

Enumerator
PARTITION_FLAG_FREE 

PARTITION_FLAG_INUSE 

PARTITION_FLAG_EXTENDED 

PARTITION_FLAG_BOOT 

◆ ePartType

enum ePartType

Partition Types.

Enumerator
PARTITION_TYPE_EMPTY 

PARTITION_TYPE_FAT12 

PARTITION_TYPE_FAT16 

PARTITION_TYPE_NTFS 

PARTITION_TYPE_EXFAT 

PARTITION_TYPE_LINUX 

PARTITION_TYPE_EFFS