Other Parts Discussed in Thread: C2000WARE
Hello,
The TRM mentions RAM Blocks but does not give any Flash block size and never mentions sectors as being a block of memory. Are the Flash block size 4096 bytes each and also a sector? I have not found any reference to a sector being a 4KB blocks. The confusion stems from ARM driverlib functions define a TM4C1294 Flash block 16KB. Yet C2000 driverlib has no flash.c module, relies on FAPI and sector writes of 4096 byte sectors with 0x001000 length. Yet the compiler linker CMD file assumes sector length include 0x1, not 0x0 as does FAPI seem to start from memory address 0x0. These two are not keeping consistent methods of flash sector lengths adding to confusion of block R/W manipulation.
So It would require 4 sectors to make 16KB block if a sector is considered a C2000 flash block alignment (4)?
3.12.9.1 Erase
When the target flash is erased, it reads as all 1's. This state is called 'blank.' The erase function must be
executed before programming. The user should NOT skip erase on sectors that read as 'blank' because these
sectors may require additional erasing due to marginally erased bits columns. The FSM provides an “Erase
Sector” command to erase the target sector. The erase function erases the data and the ECC together. This
command is implemented by the following Flash API function: Fapi_issueAsyncCommandWithAddress();
The Flash API provides the following function to determine if the flash bank is 'blank': Fapi_doBlankCheck();