DevoFS mass block count

22 Aug 2017 09:15 #63894 by vlad_vy
DevoFS mass block count was created by vlad_vy
Why for DevoFS mass block count = 19? It will be 19 * 4 * 8 = 608Kbit, but we have 512Kbit flash memory chip. Can it be the reason for unstable DevoFS?

uint32_t Mass_Block_Count[2] = {FAT_OFFSET + SPIFLASH_SECTORS - SPIFLASH_SECTOR_OFFSET, 0} = {3 + 16 - 0, 0} = {19, 0};

probably it has to be:

uint32_t Mass_Block_Count[2] = {SPIFLASH_SECTORS - FAT_OFFSET - SPIFLASH_SECTOR_OFFSET, 0} = {16 - 3 - 0, 0} = {13, 0}; // 13 * 4 * 8 = 416Kbit

Please Log in or Create an account to join the conversation.

22 Aug 2017 13:06 #63895 by PhracturedBlue
Replied by PhracturedBlue on topic DevoFS mass block count
The 1st 3 sectors are 'fake' sectors. We neither read or write to them. Basically over USB we are pretending to have a FAT filesystem so that there is an easy way to copy the devofs to the transmitter. We do that by faking the 1st 3 sectors of the filesystem (where file info is stored). That leaves us the entire flash size free to store the actual filesystem. So we lie to the mass-storage controller and say the falsh is 3 sectors bigger than it is, with the knowledge that those 3 sectors are dedicated to the filesystems and will never be available as storage anyway.

If you have stability issues with the devo filesystem, you need to file a bug and provide the elf file and a copy of your corrupted filesystem. As I haven't been active here recently, it is unlikely I'll notice a thread regarding it. Though I will monitor this thread if you want to discuss it here.

Please Log in or Create an account to join the conversation.

Time to create page: 0.024 seconds
Powered by Kunena Forum