[realtek-ambz] Fix reading flash ID and size
This commit is contained in:
@@ -79,16 +79,16 @@ void sys_info(void) {
|
||||
HalGetCpuClk(), xPortGetFreeHeapSize(), tcm_heap_freeSpace());
|
||||
}
|
||||
|
||||
flash_t flashobj;
|
||||
bool fspic_isinit = false;
|
||||
|
||||
unsigned int GetFlashSize(void)
|
||||
{
|
||||
unsigned int FlashSize;
|
||||
if(!fspic_isinit) flash_get_status(&flashobj);
|
||||
if(!fspic_isinit) flash_get_status(NULL);
|
||||
fspic_isinit = true;
|
||||
uint8_t* flash_id = *(uint8_t**)(&flashobj.SpicInitPara.FLASH_Id);
|
||||
if(flash_id[3] >= 0x14 && flash_id[0] <= 0x19) {
|
||||
uint8_t flash_id[3];
|
||||
flash_read_id(NULL, flash_id, 3);
|
||||
if(flash_id[2] >= 0x14 && flash_id[2] <= 0x19) {
|
||||
FlashSize = 1<<(flash_id[2]); // Flash size in bytes
|
||||
}
|
||||
else FlashSize = 1024*1024; // 1 mbytes
|
||||
@@ -97,9 +97,10 @@ unsigned int GetFlashSize(void)
|
||||
|
||||
unsigned int GetFlashId(void)
|
||||
{
|
||||
if(!fspic_isinit) flash_get_status(&flashobj);
|
||||
if(!fspic_isinit) flash_get_status(NULL);
|
||||
fspic_isinit = true;
|
||||
uint8_t* flash_id = *(uint8_t**)(&flashobj.SpicInitPara.FLASH_Id);
|
||||
uint8_t flash_id[3];
|
||||
flash_read_id(NULL, flash_id, 3);
|
||||
return (flash_id[0]<<16) | (flash_id[1]<<8) | flash_id[2];
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user