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: MCAL_AM263x_08.06.02.01 - ICU Init interface reports Det error

Part Number: AM2634-Q1


ICU init was called at part of ECUM start-up sequence.

Very first time Eval board is up ICU init was ok.

when we are trying reload the program, run, ICU Init report DET error - 

ICU_E_ALREADY_INITIALIZED

since, we are working in development, trying to reset (POR) to make this use to avoid and make it work for every startup. RAM re-initialization 

since it is production ECU for vehicle production, we require use case to re-initialize for various condition.

Icu_DrvStatus - Please check declaration, definition and memory allocation.

  • since, we are working in development, trying to reset (POR) to make this use to avoid and make it work for every startup. RAM re-initialization 

    Hi Ramesh,

    If I understand the issue correctly is the below thing is what's happening?

    1. You have your hardware in the No boot/JTAG boot mode where you can connect and load program into the SoC.

    2. You have connected to r50_0, loaded your binary and the first debug is happening correctly.

    3. Now, you performed a CPU reset (because you don't want to re-initialize RAM and reload the entire core) and setting PC back to _c_int00 so you could reach main and perform the re-run.

    4. But in the step-3 you have faced an DET error from ICU init because the global driver status variable is already set during the previous Run.

    The only way to avoid this is to either call ICU_Deinit correctly or do a POR and re-load the application.

    Thanks

  • Hello Kowshik, Thanks for reply.

    please refer other MCAL driver init and status ex.  pwm, Adc.  it works without de-init of the module. if ICU has unique requirement or design . if so Please update the ICU MCAL documents user guide.

    My understanding ICU module status variable (Icu_DrvStatus) is not following correct RAM memory section placement in order to initialize the RAM at startup. 

    Further info, Build map file is not listing the ICU status variable, noticed that declaration is used volatile keyword can be optimized by compiler.

    Please review it. 

  • Hi Ramesh,

    I have compared the ICU drv status variable to pwm driver and it seems ICU is initializing it exactly the same way pwm drivers are doing. 

    I also did a simple experiment where I loaded icu_app (which calls de-init API at the end) and ran it once. Gave a CPU_reset and ran it again (simulating your use-case) and the app perfectly fine without any DET errors. 

    It would be great if you can give me a reproducible test-case which I can use to report to MCAL team.

    Thanks