int BOOL
Boolean datatype definition.
Definition: Defines.h:124
unsigned char U8
Binary 8-Bit unsigned integer datatype defenition.
Definition: Defines.h:183
TReturn_Test_Code
Global test status.
Definition: Defines.h:663
void VOID
Datatypesess datatype definition.
Definition: Defines.h:105
unsigned long U32
Binary 32-Bit unsigned integer datatype defenition.
Definition: Defines.h:203
float F32
IEEE-754 32-Bit single presession floating point numbers datatype defenition.
Definition: Defines.h:324
unsigned short U16
Binary 16-Bit unsigned integer datatype defenition.
Definition: Defines.h:193
SPI connected memory base class header file.
Definition: Protocol_Base.h:57
NAND memory hardware driver.
Definition: S25FL512.h:62
BOOL Read_Page_From_Cells_To_Cache(U32 u32_Linear_Address)
Read page from chip cells into the cache method.
Definition: S25FL512.cpp:1802
BOOL Erase_Block_By_Index(U16 u16_Block_Index)
Erase block referenced by block index.
Definition: S25FL512.cpp:959
VOID Increment_Block_Erase_Request_Counter()
Increment block erase request counter method.
Definition: S25FL512.cpp:2827
TChip_Type enum_Flash_Chip_Type
Flash chip type storage.
Definition: S25FL512.h:900
virtual BOOL Erase_Chip(BOOL bool_Force_Bad_Block_Erase)
Erase all blocks of the chip.
Definition: S25FL512.cpp:824
BOOL Is_Block_Empty(U16 u16_Block_Index)
Test for specified block is empty and be utilised for write operation.
Definition: S25FL512.cpp:2438
U32 u32_Page_Read_Error_Counter
Page read error counter.
Definition: S25FL512.h:934
VOID Increment_Page_Read_Request_Counter()
Increment page read request counter method.
Definition: S25FL512.cpp:2851
BOOL Get_Bad_Block_Status(U32 u32_Block_Index, BOOL *bool_Bad_Block_Status)
Test for specified block is bad and can not be utilised.
Definition: S25FL512.cpp:2273
U32 u32_Block_Erase_Error_Counter
Block read error counter.
Definition: S25FL512.h:928
U8 u8_Test_Buffer[2048]
Actual block index of the search bad block count process.
Definition: S25FL512.h:953
BOOL Get_Feature(TS25FL512SAdress enum_Feature_Adress, U8 *u8_Data)
Get flash memory feature method.
Definition: S25FL512.cpp:2739
BOOL Read_Page_From_Cache(U16 u16_Offset, U32 u32_Length, U8 *u8_Data_Buffer)
Read multiple byte from chip cache method.
Definition: S25FL512.cpp:1589
TReturn_Test_Code QA_Flash_Driver_Main_Test()
Method for starting the main test sequence.
Definition: S25FL512.cpp:3773
virtual BOOL Read_Identification()
Read memory device identification information method.
Definition: S25FL512.cpp:1180
U8 u8_BP2
BP2 bit in BL register.
Definition: S25FL512.h:919
VOID Execute()
Background execute method.
Definition: S25FL512.cpp:166
BOOL Is_Operation_In_Progress()
Get operation status method.
Definition: S25FL512.cpp:2132
BOOL Get_Write_Protection_Bits()
Get write protection bits.
Definition: S25FL512.cpp:2803
BOOL Is_Read_Failure()
Get read operation status method.
Definition: S25FL512.cpp:2167
TReturn_Test_Code QA_Single_Block_Erase_Test()
Single block erase test method.
Definition: S25FL512.cpp:3620
virtual BOOL Read_Buffer(U32 u32_Linear_Address, U32 u32_Size, U8 *u8_Data_Buffer)
Read data from memory into buffer.
Definition: S25FL512.cpp:230
BOOL Write_Page_To_Cache(U16 u16_Offset, U32 u32_Length, U8 *u8_Data_Buffer)
Write multiple byte into chip cache method.
Definition: S25FL512.cpp:1727
BOOL Write_Buffer_By_Page_Index(U32 u32_Page_Index, U16 u16_Offset, U32 u32_Size, U8 *u8_Data_Buffer)
Write data from buffer into memory.
Definition: S25FL512.cpp:618
U8 u8_BP1
BP1 bit in BL register.
Definition: S25FL512.h:916
U8 u8_BRWD
BRWD bit in BL register.
Definition: S25FL512.h:922
TReturn_Test_Code QA_Erase_Block_Test()
Erase block test method.
Definition: S25FL512.cpp:2898
BOOL Read_Buffer_By_Page_Index(U32 u32_Page_Index, U16 u16_Offset, U32 u32_Size, U8 *u8_Data_Buffer)
Read data from memory into buffer.
Definition: S25FL512.cpp:311
U32 u32_Page_Write_Error_Counter
Page write error counter.
Definition: S25FL512.h:940
virtual VOID Start()
Driver start operation method.
Definition: S25FL512.cpp:139
U16 u16_Bad_Block_Count
Bad block count.
Definition: S25FL512.h:946
virtual BOOL Read_Status_Register(U8 *u8_Status_Register)
Read memory device status register method.
Definition: S25FL512.cpp:1147
virtual VOID Send_Information(TProtocol_Base *object_Protocol)
Method sends actual driver information over specified communication link protocol.
Definition: S25FL512.cpp:2621
BOOL Write_Page_From_Cache_To_Cells_By_Page_Index(U32 u32_Page_Index)
Write page from cache into chip cells method.
Definition: S25FL512.cpp:1992
volatile U8 u8_JEDEC_ID[3]
JEDEC code storage.
Definition: S25FL512.h:909
virtual BOOL Write_Buffer(U32 u32_Linear_Address, U32 u32_Size, U8 *u8_Data_Buffer)
Write data from buffer into memory.
Definition: S25FL512.cpp:492
BOOL Write_Page_From_Cache_To_Cells(U32 u32_Linear_Address)
Write page from cache into chip cells method.
Definition: S25FL512.cpp:1908
BOOL Wait_For_Operation_Done(F32 f32_Timeout)
Wait specified time for hardware controller operation done method.
Definition: S25FL512.cpp:2075
U8 u8_Device_ID
Serial number storage.
Definition: S25FL512.h:906
U32 u32_Block_Erase_Request_Counter
Block erase request counter.
Definition: S25FL512.h:925
U16 u16_Bad_Block_Counter
Bad block search counter.
Definition: S25FL512.h:943
virtual BOOL Write_Disable()
Disable write operation into memory.
Definition: S25FL512.cpp:1126
BOOL Read_Page_From_Cache_By_Leniar_Address(U32 u32_Address, U32 u32_Length, U8 *u8_Data_Buffer)
Read multiple byte from chip cache method.
Definition: S25FL512.cpp:1518
U16 u16_Execute_Bad_Block_Count_Index
Actual block index of the search bad block count process.
Definition: S25FL512.h:949
BOOL Set_Feature(TS25FL512SAdress enum_Feature_Adress, U8 u8_Data)
Set flash memory feature method.
Definition: S25FL512.cpp:2773
U8 u8_Manufacturer_ID
Manufacturer number storage.
Definition: S25FL512.h:903
BOOL Is_Program_Failure()
Get program operation status method.
Definition: S25FL512.cpp:2237
BOOL Read_Extended_Buffer(U32 u32_Linear_Address, U32 u32_Size, U8 *u8_Data_Buffer)
Read data from memory into buffer.
Definition: S25FL512.cpp:393
virtual BOOL Write_Enable()
Enable write operation into memory.
Definition: S25FL512.cpp:1105
BOOL Read_Page_From_Cells_To_Cache_By_Index(U32 u32_Page_Index)
Read page from chip cells into the cache method. Page referenced by absolute page index within memory...
Definition: S25FL512.cpp:1825
TS25FL512SCommand
Define NVRAM commands.
Definition: S25FL512.h:330
@ command4RFC
Read from cache x4 command.
Definition: S25FL512.h:375
@ command2RFC
Read from cache x2 command.
Definition: S25FL512.h:369
@ commandPE
Program execute command.
Definition: S25FL512.h:357
@ commandRES
Reset chip command.
Definition: S25FL512.h:333
@ commandRDID
Read manufacture ID, memory type ID, capacity ID command.
Definition: S25FL512.h:366
@ commandSF
Set feature command.
Definition: S25FL512.h:342
@ commandWREN
Write enable command.
Definition: S25FL512.h:348
@ commandBE
Block erase command.
Definition: S25FL512.h:336
@ commandRFC
Read from cache (or 0x0B) command.
Definition: S25FL512.h:363
@ commandREAD
Read page command.
Definition: S25FL512.h:360
@ commandGF
Get feature command.
Definition: S25FL512.h:339
@ command4RPP
Random page program x4 command.
Definition: S25FL512.h:372
@ commandRPP
Random page program command.
Definition: S25FL512.h:354
@ commandPP
Page program command.
Definition: S25FL512.h:351
@ commandWRDI
Write disable command.
Definition: S25FL512.h:345
VOID Increment_Page_Read_Error_Counter()
Increment page read error counter method.
Definition: S25FL512.cpp:2862
BOOL Write_Page_To_Cache_By_Leniar_Address(U32 u32_Address, U32 u32_Length, U8 *u8_Data_Buffer)
Write multiple byte into chip cache method.
Definition: S25FL512.cpp:1640
TReturn_Test_Code QA_Write_Page_Test()
Write page test method.
Definition: S25FL512.cpp:3051
U32 u32_Identifier_Dummy_Byte_Counter
Read identifier dummy byte counter.
Definition: S25FL512.h:913
VOID Increment_Page_Write_Request_Counter()
Increment page write request counter method.
Definition: S25FL512.cpp:2874
VOID Reset()
Software reset memory chip method.
Definition: S25FL512.cpp:1497
TReturn_Test_Code QA_Read_Page_Test()
Read page test method.
Definition: S25FL512.cpp:3307
VOID Increment_Page_Write_Error_Counter()
Increment page write error counter method.
Definition: S25FL512.cpp:2886
VOID Increment_Block_Erase_Error_Counter()
Increment block erase error counter method.
Definition: S25FL512.cpp:2839
BOOL Is_Page_In_Cache_Empty()
Test for specified page is empty and be utilised for write operation.
Definition: S25FL512.cpp:2546
TChip_Type
Define chip types.
Definition: S25FL512.h:309
@ chip_type_Unknown
Unknown chip.
Definition: S25FL512.h:315
@ chip_type_S25FL512S
512 MBit, NOR, SPANSION, S25FL512S
Definition: S25FL512.h:324
@ chip_type_None
No chip.
Definition: S25FL512.h:312
@ chip_type_IS37SML01G1
1 GBit, NAND, ISSI, IS37SML01G1
Definition: S25FL512.h:318
@ chip_type_GD5F4GQ4UAYIG
4 GBit, NAND, GigaDevice, GD5F4GQ4UAYIG
Definition: S25FL512.h:321
VOID Init()
Class constructor method.
Definition: S25FL512.cpp:127
BOOL Is_Erase_Failure()
Get erase operation status method.
Definition: S25FL512.cpp:2202
U32 u32_Page_Read_Request_Counter
Page read request counter.
Definition: S25FL512.h:931
U32 u32_Page_Write_Request_Counter
Page write request counter.
Definition: S25FL512.h:937
TS25FL512SAdress
Feature address list.
Definition: S25FL512.h:381
@ address_BL
Block lock register address.
Definition: S25FL512.h:384
@ address_SR
Status register address.
Definition: S25FL512.h:390
@ address_OTP
OTP register address.
Definition: S25FL512.h:387
@ address_OD
Output data register address.
Definition: S25FL512.h:393
SPI memory base class.
Definition: SPI_Memory_Base.h:55
U8 BP1
Bit 4 : BP1.
Definition: S25FL512.h:457
U8 u8_Raw_Data
Raw data.
Definition: S25FL512.h:438
U8 BP2
Bit 5 : BP2.
Definition: S25FL512.h:460
U8 BRWD
Bit 7 : BRWD.
Definition: S25FL512.h:466
U8 bit_Write_Enable_Latch
Bit 1 :Write enable latch bit.
Definition: S25FL512.h:412
U8 u8_Raw_Data
Raw data.
Definition: S25FL512.h:402
U8 bits_ECC_Status
Bit 4 and 5 :ECC status bits.
Definition: S25FL512.h:421
U8 bit_Erase_Fail
Bit 2 : Erase fail bit.
Definition: S25FL512.h:415
U8 bit_Program_Fail
Bit 3 Program fail bit.
Definition: S25FL512.h:418
U8 bit_Operation_In_Progress
Bit 0 : Operation in progress bit.
Definition: S25FL512.h:409