hello,expert
there ia a question in my boot and app,
before step into boot ,i will write a flag ( program request ) in eeprom ,and use jump function jump to boot, after download all the data ,i will write a flag ( app valid ) , then i will jump to app.
but i find that every cyclic,the Fee_MainFunction loop and MemAcc_MainFunction loop will take longer time. for example, the 1st is 10ms,the 2nd cyclic is 20ms
it will lead to the fault of uds timer
It's probably caused by RAM initialization. This piece of RAM should be initialized conditionally. If the source of reset power-on reset, the RAM must be initialized. If it is not power-on reset, you can skip the initialization.
accoring to your advice, i allocate a RAM(ORIGIN = 0x20407E00, LENGTH = 0x00000100)section for flag which app jump to boot.
i am sure that the ram section will not be affected by DATA and BSS init.
then in app i set address 0x20407E00 as 0x55aa55aa,
and use jump function to boot ,
in boot read the address value is always zero.
that's why?
Hi @PINKMAN
This is natural and expected behavior of Fee module. The more data is present in Fee blocks, the more time will initialization take. If there are a lot of records, it can take much(!) more time than tens of milliseconds. Also cluster swap may be necessary sometimes during initialization which will significantly affect the timing.
If timing is critical, don't use Fee module for this. Either program some flash directly, so you can read the flash immediately without any delays after reset or use RAM only - if it is sufficient to keep the information only during reset and not during power off.
Regards,
Lukas