Hi !
I try to see if USB_SRAM at ox50100000 can be used for keep some data over reboot.
And it seems to me it is wiped by 0x00 by ROM code every reboot even ISP USB flashing is not used.
SRAM4 area at 0x30040000 is keep data over reboot for example.
Could you look in what cases USB_RAM wiped ? All the time over reboot or in some cases.
Can it be disabled some how in any setting if USB ISP flashing is not planned to be used at all ?
My application need a lot of SRAM and USB_SRAM need as well.
USB_SRAM is not mentioned in any Linked files and regular firmware is not counted it as bss are and not zeroed it for sure.
Regards,
Eugene
hi
We need to know the detailed steps of how to reproduce the problem.
You power off then power on again, then you can't see USB_RAM data? or press on board reset button? or click on restart with debugger button?
Besides, If you want to use USB_RAM as common RAM, you need define it in linker file as other memory sections.
Hi ZhangJennie !
I'm using direct pointer to USB_SRAM location and recognized data to it.
Reboot done be pressing Reset button and dump beginning of of USB_SRAM data after that.
USB_SRAM is not mentioned in any linker sections for avoid compiler impact.
Or it can be mentioned in linker script directly as NOINIT section
.data_USB_SRAM 0x50100000 (NOLOAD) :
/*.data_SRAM4 0x30042000 (NOLOAD) :*/
{
__reboot_storage_start = .;
KEEP(*(.reboot_sram_storage*))
__reboot_storage_end = .;
}
SRAM4 area is able to keep data and a lot of other areas as well.
But USB_SRAM is always set to 0x00 via reboot.
Regards,
Eugene
You use the default SDK project without any modification?
Hi ZhangJennie !
It is already my real project but few month ago I have tried with some simple SDK example ( hello_world_s) and result was the same.
And USB_SRAM was never ever defined in linker or MCU setting of IDE.
Regards,
Eugene