} BankPropType;\r
\r
static const BankPropType BankProp[NUM_OF_BANKS] = {\r
- {\r
- .Start = FEE_BANK1_OFFSET,\r
- .End = FEE_BANK1_OFFSET + FEE_BANK1_LENGTH\r
- },\r
- {\r
- .Start = FEE_BANK2_OFFSET,\r
- .End = FEE_BANK2_OFFSET + FEE_BANK2_LENGTH\r
- },\r
+ {\r
+ .Start = FEE_BANK1_OFFSET,\r
+ .End = FEE_BANK1_OFFSET + FEE_BANK1_LENGTH\r
+ },\r
+ {\r
+ .Start = FEE_BANK2_OFFSET,\r
+ .End = FEE_BANK2_OFFSET + FEE_BANK2_LENGTH\r
+ },\r
};\r
\r
\r
/*\r
* Macros and variables for flash bank administration
*/\r
-typedef enum {\r
- BANK_STATUS_OLD = 0x00,\r
- BANK_STATUS_NEW = 0xFF\r
-} FlsBankStatusEnumType;\r
+#define BANK_STATUS_OLD 0x00\r
+#define BANK_STATUS_NEW 0xFF\r
typedef uint8 FlsBankStatusType;\r
\r
#define BANK_CTRL_PAGE_SIZE PAGE_ALIGN(sizeof(FlsBankStatusType))\r
/*\r
* Macros and variables for flash block administration in flash
*/\r
-typedef enum {\r
- BLOCK_STATUS_INUSE = 0x00,\r
- BLOCK_STATUS_INVALIDATED = 0x02,\r
- BLOCK_STATUS_EMPTY = 0xFF\r
-} BlockStatusEnumType;\r
+#define BLOCK_STATUS_INUSE 0x00\r
+#define BLOCK_STATUS_INVALIDATED 0x02\r
+#define BLOCK_STATUS_EMPTY 0xFF\r
typedef uint8 BlockStatusType;\r
\r
typedef struct {\r
uint16 BlockNo;\r
Fls_AddressType BlockDataAddress;\r
uint16 BlockDataLength;\r
-} FlsBlockDataType;\r
+} FlsBlockCtrlDataType;\r
\r
-#define BLOCK_DATA_PAGE_SIZE PAGE_ALIGN(sizeof(FlsBlockDataType))\r
+#define BLOCK_CTRL_DATA_PAGE_SIZE PAGE_ALIGN(sizeof(FlsBlockCtrlDataType))\r
\r
typedef union {\r
- FlsBlockDataType Data;\r
- uint8 Byte[BLOCK_DATA_PAGE_SIZE];\r
-} FlsBlockDataPageType;\r
+ FlsBlockCtrlDataType Data;\r
+ uint8 Byte[BLOCK_CTRL_DATA_PAGE_SIZE];\r
+} FlsBlockCtrlDataPageType;\r
\r
\r
#define BLOCK_MAGIC_LEN 4\r
-static const uint8 MagicMaster[BLOCK_MAGIC_LEN] = { 0xeb, 0xba, 0xba, 0xbe };\r
-#define BLOCK_MAGIC_PAGE_SIZE PAGE_ALIGN(BLOCK_MAGIC_LEN)\r
+static const uint8 BlockMagicMaster[BLOCK_MAGIC_LEN] = { 0xeb, 0xba, 0xba, 0xbe };\r
+#define BLOCK_CTRL_MAGIC_PAGE_SIZE PAGE_ALIGN(BLOCK_MAGIC_LEN)\r
\r
\r
typedef union {\r
uint8 Magic[BLOCK_MAGIC_LEN];\r
- uint8 Byte[BLOCK_MAGIC_PAGE_SIZE];\r
-} FlsBlockMagicPageType;\r
+ uint8 Byte[BLOCK_CTRL_MAGIC_PAGE_SIZE];\r
+} FlsBlockCtrlMagicPageType;\r
\r
typedef struct {\r
- FlsBlockDataPageType DataPage;\r
- FlsBlockMagicPageType MagicPage;\r
+ FlsBlockCtrlDataPageType DataPage;\r
+ FlsBlockCtrlMagicPageType MagicPage;\r
} FlsBlockControlType;\r
\r
#define BLOCK_CTRL_PAGE_SIZE PAGE_ALIGN(sizeof(FlsBlockControlType))\r
\r
#define BLOCK_CTRL_DATA_POS_OFFSET 0\r
-#define BLOCK_CTRL_MAGIC_POS_OFFSET BLOCK_DATA_PAGE_SIZE\r
+#define BLOCK_CTRL_MAGIC_POS_OFFSET BLOCK_CTRL_DATA_PAGE_SIZE\r
\r
typedef union {\r
FlsBlockControlType BlockCtrl;\r
CurrentJob.Op.Startup.BankNumber = (CurrentJob.Op.Startup.BankNumber + 1) % 2;\r
CurrentJob.Op.Startup.BlockAdminAddress = BankProp[CurrentJob.Op.Startup.BankNumber].End - BLOCK_CTRL_PAGE_SIZE - BANK_CTRL_PAGE_SIZE;\r
} else { /* Block not empty */\r
- if ((memcmp(RWBuffer.BlockCtrl.MagicPage.Byte, MagicMaster, BLOCK_MAGIC_LEN) == 0) &&\r
+ if ((memcmp(RWBuffer.BlockCtrl.MagicPage.Byte, BlockMagicMaster, BLOCK_MAGIC_LEN) == 0) &&\r
((RWBuffer.BlockCtrl.DataPage.Data.Status == BLOCK_STATUS_INUSE) || (RWBuffer.BlockCtrl.DataPage.Data.Status == BLOCK_STATUS_INVALIDATED))) {\r
/* This is a valid admin block */\r
uint16 blockIndex;\r
static void BlockHeaderDataWrite(void)\r
{\r
/* Write the header excluding the magic */\r
- memset(RWBuffer.BlockCtrl.DataPage.Byte, 0xff, BLOCK_DATA_PAGE_SIZE);\r
+ memset(RWBuffer.BlockCtrl.DataPage.Byte, 0xff, BLOCK_CTRL_DATA_PAGE_SIZE);\r
RWBuffer.BlockCtrl.DataPage.Data.Status = BLOCK_STATUS_INUSE;\r
RWBuffer.BlockCtrl.DataPage.Data.BlockNo = CurrentJob.BlockNumber;\r
RWBuffer.BlockCtrl.DataPage.Data.BlockDataAddress = AdminFls.NewBlockDataAddress;\r
RWBuffer.BlockCtrl.DataPage.Data.BlockDataLength = CurrentJob.Length;\r
- if (Fls_Write(CurrentJob.Op.Write.WriteAdminAddress + BLOCK_CTRL_DATA_POS_OFFSET, RWBuffer.Byte, BLOCK_DATA_PAGE_SIZE) == E_OK) {\r
+ if (Fls_Write(CurrentJob.Op.Write.WriteAdminAddress + BLOCK_CTRL_DATA_POS_OFFSET, RWBuffer.Byte, BLOCK_CTRL_DATA_PAGE_SIZE) == E_OK) {\r
SetFlsJobBusy();\r
AdminFls.NewBlockDataAddress += CurrentJob.Length;\r
AdminFls.NewBlockAdminAddress -= BLOCK_CTRL_PAGE_SIZE;\r
{\r
if (Fls_GetStatus() == MEMIF_IDLE) {\r
CurrentJob.State = FEE_WRITE_MAGIC;\r
- memset(RWBuffer.BlockCtrl.MagicPage.Byte, 0xff, BLOCK_MAGIC_PAGE_SIZE);\r
- memcpy(RWBuffer.BlockCtrl.MagicPage.Byte, MagicMaster, BLOCK_MAGIC_LEN);\r
- if (Fls_Write(CurrentJob.Op.Write.WriteAdminAddress + BLOCK_CTRL_MAGIC_POS_OFFSET, RWBuffer.BlockCtrl.MagicPage.Byte, BLOCK_MAGIC_PAGE_SIZE) == E_OK) {\r
+ memset(RWBuffer.BlockCtrl.MagicPage.Byte, 0xff, BLOCK_CTRL_MAGIC_PAGE_SIZE);\r
+ memcpy(RWBuffer.BlockCtrl.MagicPage.Byte, BlockMagicMaster, BLOCK_MAGIC_LEN);\r
+ if (Fls_Write(CurrentJob.Op.Write.WriteAdminAddress + BLOCK_CTRL_MAGIC_POS_OFFSET, RWBuffer.BlockCtrl.MagicPage.Byte, BLOCK_CTRL_MAGIC_PAGE_SIZE) == E_OK) {\r
SetFlsJobBusy();\r
} else {\r
AbortJob(Fls_GetJobResult());\r
{\r
if (Fls_GetStatus() == MEMIF_IDLE) {\r
CurrentJob.State = FEE_GARBAGE_COLLECT_MAGIC_WRITE;\r
- memset(RWBuffer.BlockCtrl.MagicPage.Byte, 0xff, BLOCK_MAGIC_PAGE_SIZE);\r
- memcpy(RWBuffer.BlockCtrl.MagicPage.Byte, MagicMaster, BLOCK_MAGIC_LEN);\r
- if (Fls_Write(CurrentJob.Op.GarbageCollect.WriteAdminAddress + BLOCK_CTRL_MAGIC_POS_OFFSET, RWBuffer.BlockCtrl.MagicPage.Byte, BLOCK_MAGIC_PAGE_SIZE) == E_OK) {\r
+ memset(RWBuffer.BlockCtrl.MagicPage.Byte, 0xff, BLOCK_CTRL_MAGIC_PAGE_SIZE);\r
+ memcpy(RWBuffer.BlockCtrl.MagicPage.Byte, BlockMagicMaster, BLOCK_MAGIC_LEN);\r
+ if (Fls_Write(CurrentJob.Op.GarbageCollect.WriteAdminAddress + BLOCK_CTRL_MAGIC_POS_OFFSET, RWBuffer.BlockCtrl.MagicPage.Byte, BLOCK_CTRL_MAGIC_PAGE_SIZE) == E_OK) {\r
SetFlsJobBusy();\r
} else {\r
AbortJob(Fls_GetJobResult());\r
RWBuffer.BlockCtrl.DataPage.Data.BlockNo = CurrentJob.BlockNumber;\r
RWBuffer.BlockCtrl.DataPage.Data.BlockDataAddress = AdminFls.NewBlockDataAddress;\r
RWBuffer.BlockCtrl.DataPage.Data.BlockDataLength = 0;\r
- memcpy(RWBuffer.BlockCtrl.MagicPage.Byte, MagicMaster, BLOCK_MAGIC_LEN);\r
+ memcpy(RWBuffer.BlockCtrl.MagicPage.Byte, BlockMagicMaster, BLOCK_MAGIC_LEN);\r
\r
if (Fls_Write(CurrentJob.Op.Invalidate.WriteAdminAddress + BLOCK_CTRL_DATA_POS_OFFSET, RWBuffer.Byte, BLOCK_CTRL_PAGE_SIZE) == E_OK) {\r
SetFlsJobBusy();\r