This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

AM2634-Q1: Is there any register or memory without erase at warm booting?

Part Number: AM2634-Q1
Other Parts Discussed in Thread: AM2634

Dear Champs,

Is there any register or memory region which are not erased at warm booting in AM2634?

Customer wants to save some flag on register or memory region to check it after warm booting. 

Thanks and Best Regards,

SI.

  • Hello,

    We are looking into this and will respond by 10/26 next week. Thank you for your patience.

    Best Regards,

    Zackary Fleenor

  • Hi Fleenor,

    Any update on this?

    Thanks and Best Regards,

    SI.

  • Dear Champs,

    Any update on this?

    Thanks and Best Regards,

    SI.

  • Hi Sung-IL,

    Apologies for the delay. The experts for the matter are out of office and will be back by 7th November. You will be getting the response on the same by 10th November.

    Best Regards,
    Aakash

  • Hi Sung-IL,

    You could use any L2 Memory space. The content should not change for warm reset unless ROM or any SW changing it.

    Best Regards, Shiv 

  • Hi Shiv,

    Thanks for the info. BTW, What is L2 Memory in AM2634? Do you mean TCM?

    Do you mean R5FSS Boot from TCM described in TRM 7.1.3.10 R5F Boot Options?

    Thanks and Best Regards,

    SI.

  • Hi SI,

    Sorry for confusion.

    What Shiv meant by L2 memory is internal SRAM memory (2MB on chip memory in AM263x).

    Regards,

    Prasad

  • Hi Prasad and Shiv,

    Please provide more details on this - how the content of internal SRAM(OCSRAM) is not erased at warm boot.

    When my customer wrote '.bss' region using debugger and warm boot, they faced the memory was initialized. Is there any specific module to initialize memory in "empty_am263x-cc_r5fss0-0_nortos_ti-arm-clang" project on which my customer is developing their custom application?

    I could not find any details on OCSRAM yet in TRM. Please help and provide details on this.

    Thanks and Best Regards,

    SI.

  • Hi SI,

    Ok Can you please provide the steps followed, I will try to recreate here. I also presume you are using default empty_am263x-cc_r5fss0-0_nortos_ti-arm-clang project without any modification.

    Best Regards, Shiv

  • Hi Shiv,

    Please check below steps they tried.

    In order to reduce the difference in environment, I will explain based on "sbl_qspi_am263x-cc_r5fss0-0_nortos_ti-arm-clang".

     

    1. Code modification

    a. Add the loop_forever function to the first of the main function to make a breakpoint after Power On.

    b. Immediately afterward, a warm reset is performed through the SOC_generateSwWarmReset function. (Also add while(1) to prevent further action after the function.)

            2. Test

    a. After starting in QSPI BOOT mode, connect the debugger while it is stopped in the loop_forever function, and then suspend it.

    b. As a result of checking linker.cmd, the MSRAM_0 area is allocated up to 0x70041FFF, so directly access the 0x70042100 area and write the signature (0x12341234).

    c. After escaping the loop_forever function, resume and execute the SOC_generateSwWarmReset function.

    d. If you Suspend it again, you can see that it is stopped in loop_forever after a warm reset is performed.

    e. At this time, it can be seen that the signature value written at 0x70042100 is initialized to 0 as shown below.

     

    I checked that boot_armv7r_asm.S in the SDK initializes the .bss area through __mpu_init.

    However, in the above test, it was confirmed that even though the signature was written outside the .bss area, it was initialized.

    It would be very helpful for development if you could tell me where the RAM initialization is done.

    Thanks and Best Regards,

    SI.

  • Hi SI,

    thanks for the steps. Will check further and revert.

    Best Regards, Shiv

  • Hi SI, first 1 MB init is done by ROM code. Can you check with the Second 1 MB partition of L2 and do the same experiment to see the content retained for warm reset ? Note that you need to initialize L2 for first time to use it. 

    Best Regards, Shiv