Re: Help regarding MFSConfig
Posted: Mon Oct 04, 2021 1:27 pm
Hi Giovanni,
Thanks for the reply. I shall check it now
Regards,
Akshai M
Thanks for the reply. I shall check it now
Regards,
Akshai M
Code: Select all
#include "osal.h"
#include "hal.h"
#include "hal_mfs.h"
#include "chprintf.h"
#include <stdlib.h>
MFSDriver mfs1;
const MFSConfig mfscfg1 = {
.flashp = (BaseFlash *)&EFLD1,
.erased = 0xFFFFFFFFU,
.bank_size = 4096U,
.bank0_start = 59U,
.bank0_sectors = 2U,
.bank1_start = 61U,
.bank1_sectors = 2U
};
/**
* Get the active flash bank (the bank the controller started from).
*
* \return Active flash bank number (1 or 2)
*/
int _get_active_bank(void)
{
if (!(SYSCFG->MEMRMP & SYSCFG_MEMRMP_FB_MODE))
return 1; // Flash Bank 1 mapped at 0x0800 0000 ( (and aliased @0x0000 0000 if BFB2 is set)
else
return 2; //Flash Bank2 mapped at 0x0800 0000
}
/**
* Get bank select status.
*
* \return Bank select status.
*/
int _get_bank_select(void)
{
return (FLASH->OPTR & FLASH_OPTR_BFB2) ? 1 : 0; // Dual-bank boot disable/enable
}
int main(void) {
halInit();
osalSysEnable();
sdStart(&SD4, NULL);
chprintf(stream, "Starting up ! on active bank %d , selected %d \n", _get_active_bank(), l_get_bank_select());
mfs_error_t error;
eflStart(&EFLD1, NULL);
mfsObjectInit(&mfs1);
error = mfsStart(&mfs1, &mfscfg1);
if (error != 0) {
chprintf(stream, "mfsStart Error %d\n", error);
}
error = mfsErase(&mfs1);
if (error != 0) {
chprintf(stream, "mfsErase Error %d\n", error);
}
}Code: Select all
efl_lld_verify_erase(..)Code: Select all
Starting up ! on active bank 1 , selected 1 ␊
strt addr 134342656 ␊
␊
strt addr 134344704 ␊
␊
strt addr 134338560 ␊
␊
strt addr 134340608 ␊
␊
strt addr 134342656 ␊
␊
strt addr 134344704 ␊
␊
strt addr 134338560 ␊
␊
strt addr 134340608 ␊
␊
strt addr 134342656 ␊
␊
strt addr 134344704

Code: Select all
Starting up ! on active bank 2 , selected 1 ␊
strt addr 134338560 ␊
␊
strt addr 134340608 ␊
␊
strt addr 134342656 ␊
␊
strt addr 134344704 ␊
␊
strt addr 134338560 ␊
␊
Error efl_lld_verify_erase 0xEC705ADE ␊