- Posts: 3333
DevoFS mass block count
- vlad_vy
- Topic Author
- Offline
Less
More
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
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.
- PhracturedBlue
- Offline
Less
More
- Posts: 4402
22 Aug 2017 13:06 #63895
by PhracturedBlue
Replied by PhracturedBlue on topic DevoFS mass block count
No,
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.
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.026 seconds
- Home
- Forum
- Development
- Development
- DevoFS mass block count