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.

RE-loading code in Netra IVAHD subsystem

Between decode and encode we are reloading the icont 1 and 2 code with a bootloader.  This runs on M3 out of sl2 memory as described in publication SWPU140 page 28.  After the new code has been loaded into the ITCM, DTCM and sl2 the PRCM is used to issue a reset via the M3.  However, the iconts do not start to execute code until the CCS "Target run" is manually issued (although it works fine on the simulator, not on the EVM). I am missing a step that must be required to restart the iconts running.  In the document, it states that icont1 is waiting for a mailbox interrupt.  However, I am not clear how this is issued or whether this is actually the missing command.  I guess I need to understand what is is that "Target run" does.

  • Hello,

    If PRCM related reset assertion/de-assertion is to work properly, iCONTs should not be connected via CCS.

    CCS prevents iCONTs from running automatically when reset is released (on EVM).

    Connect CCS only to M3

    Regarding Mail Box Interrupt - this comes little later. Once iConts start executing, first thing they do is, they get into WFI. When codec SW on M3 starts processing a frame, it will wakeup iConts through mail box interrupt.

    Regards,

    Pavan

  • Also please note - there is a dedicated forum for codec SW, which you can use for faster reponse.

    TI E2E Community > Support Forums > Embedded Software > Multimedia Software Codecs forum

    Regards,

    Pavan

     

  • Jane,

    Here are some more comments from a colleague...

    While I can’t particularly comment on the specifics of the ICONT1/2 hardware module and how the codec software make use it them, but from what I understand they are ARM9 CPUs. From what I know about CCS and auto-execute upon load is that this must be configured in the CCS debugger.

     

    • From Debug Panel, right click on Device configuration name
    • Select Edit <config name>.ccxml
    • Select the Target Tab
    • From the Device pull down menu select the ARM9 that corresponds to the ICONT1
    • Under the Auto Run Options  check “On a program load or restart” and “On a reset” options

     

    Do the same step for ICONT2.

     

    Hopefully this helps.

    BR,

    Steve

  • Jane,

    Here are some more comments from another colleague...

    M3 sends the interrupt (IPC via mail box) to IVA-HD so as to begin processing the frame. “TargetRun” will allow iConts to process the interrupts else they will be in halt stage.

    BR,

    Steve

  • The solution to the above post is as follows:(using EVM)

    The iconts must not be connected, just initialized.  When the iconts are connected after a reboot they will not run until the user manually uses "Target run".  To let them free run, controlled by M3 they are initialized with the GEL script but not connected.