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.

VCP2 interrupt configuring and multiple runs for TCI 6638K2K device

Other Parts Discussed in Thread: SYSBIOS, TCI6638K2K

Hi

I am running VCP2 test code which is provide from TI e2e form, code changes are made for interrupt setup and running inside the tasks using CSL library, Interrupts configuration is done and also interrupts are generating,

 If i put break point inside interrupt function It is working fine and getting output, I need put break point inside void EDMA_ISR(void) function and step in through “F5” it is running fine for multiple times and getting expected results.

 After removing the break points step-in through “F7” getting an exception error show below, tried multiple times still same behavior,

 Please can you help what are the configuration or something I am missing, I am not able to proceed further waiting for reply. Code is shared below.

[C66xx_0] [Core0][doVCP2Test]: Enabling VCP2-0

[Core0][doVCP2Test]: Enabling VCP2-1

[Core0][doVCP2Test]: Enabling VCP2-2

[Core0][doVCP2Test]: Enabling VCP2-3

[Core0][doVCP2Test]: Enabling VCP2-4

[Core0][doVCP2Test]: Enabling VCP2-5

[Core0][doVCP2Test]: Enabling VCP2-6

[Core0][doVCP2Test]: Enabling VCP2-7

A0=0x829058 A1=0x80ecd0

A2=0x0 A3=0x8290d4

A4=0x829058 A5=0x1

A6=0xb7 A7=0x1

A8=0xe8 A9=0x829010

A10=0x4783 A11=0x0

A12=0x2 A13=0x0

A14=0x1 A15=0x20b149e8

A16=0x3b A17=0x21

A18=0x4b A19=0xb9

A20=0x0 A21=0x0

A22=0x0 A23=0x20

A24=0x0 A25=0x0

A26=0x0 A27=0x829058

A28=0x0 A29=0x8296a8

A30=0x4783 A31=0x0

B0=0x0 B1=0x0

B2=0x0 B3=0x0

B4=0x20b149e8 B5=0x8264ca

B6=0x1 B7=0x810510

B8=0x0 B9=0x816eda

B10=0x824998 B11=0x824a38

B12=0x1 B13=0x0

B14=0x2 B15=0x0

B16=0x826523 B17=0x828fb4

B18=0x8163bc B19=0x10000000

B20=0x0 B21=0x1e80000

B22=0x0 B23=0x8249c8

B24=0x0 B25=0x8249c8

B26=0xffffffff B27=0xffffffff

B28=0xfffffff7 B29=0x0

B30=0x66666666 B31=0x30666666

NTSR=0x8265ce

ITSR=0xfffffff1

IRP=0x824998

SSR=0x80273c

AMR=0x0

RILC=0x0

ILC=0x8

Exception at 0x0

EFR=0x2 NRP=0x0

Internal exception: IERR=0x1

Instruction fetch exception

ti.sysbios.family.c64p.Exception: line 256: E_exceptionMax: pc = 0x31000000, sp = 0x00816eda.

xdc.runtime.Error.raise: terminating execution

 task_TCI6638K2K_C66XX.7z

Thanks & regards,

Anil Kumar 

 

  • I will ask our experts to comment here.
  • Hi Raja,

    Thanks a lot for support, Waiting for reply.

    Thanks & regards,

    Anil Kumar

  • Hi Anil,

    Please refer below thread for solutions and debugging procedure for this issue,

    C6678 - Instruction fetch exception - Processors forum - Processors - TI E2E support forums

    e2e.ti.com
    Other Parts Discussed in Thread: SYSBIOS [C66xx_0] A0=0x80000da0 A1=0x0 [C66xx_0] A2=0x0 A3=0xc08ae24 [C66xx_0] A4=0x863a0bf8 A5=0x864b4b30 [C66xx_0] A6=0x0 A7

    Internal exception: IERR - Processors forum - Processors - TI E2E support forums

    e2e.ti.com
    Other Parts Discussed in Thread: TMS320C6678 , SYSBIOS Hi All, I encountered with strange error. I use TMS320C6678 with Blackhawk XDC560v2 Mezzanine Emulator

    C6678 Instruction Fetch exception - Processors forum - Processors - TI E2E support forums

    e2e.ti.com
    Other Parts Discussed in Thread: SYSBIOS I got the following error message after loading the binary to one DSP core. I am new to TI multicore DSP. What is the possible

    Internal exception Instruction fetch exception - Processors forum - Processors - TI E2E support foru...

    e2e.ti.com
    Other Parts Discussed in Thread: SYSBIOS Hi, I am using Sys/BIOS on TMDSEVM6670L in CCS5.5 taskParams.stackSize = 0x800; Memory.defaultHeapSize = 4096;

    Thank you.

  • Hi Raja,

    Thanks a lot,

    I have gone through the threads which you mentioned, it does not help me to solve the issue, please can you help me if I am missing some configuration or coding?.. in my code which is shared already.

    I am not able to proceed further please provide inputs, waiting for reply.

    Thanks & regards,
    Anil Kumar
  • Hi Raja,

    I am not able to proceed further waiting for reply, Please pravide inputs.

    Thanks & regards,

    Anil Kumar  

  • Hi Anil,

    I've pinged the VCP2 experts. Their feedback will be posted directly here.

    Best Regards,
    Yordan
  • Hi Yordan,

    Thanks a lot, I am waiting for feedback.

    Thanks & regards,
    Anil Kumar
  • Hi Yordan, 

    I am waiting for reply not able to proceed further from long time.

    I would be grateful if you could send me some inputs,

    Thanks & regards,

    Anil Kumar 

  • Hi Yorden/Raja,

    Still I am not received any inputs I would be grateful if you could send me some inputs. I am not able to proceed further waiting for reply.

    Thanks & regards,

    Anil Kumar 

  • Hi Yorden,

    Can you please update me on the issue status? I am not able to proceed further VCP2 integration on my application from long time looking for reply,

    I would be grateful if you could send me some inputs.


    Regards & regards,

    Anil Kuamr

  • Hi Yorden,

    I am not able to proceed further waiting for your reply, please provide inputs.

    Thanks & regards,
    Anil Kumar
  • Anil,

    I'm looking into this question and will provide my inputs soon.

    -Nitin

  • Hi Nitin,

    Thanks a lot,

    I was wondering if you could get some input sooner, I am not able to proceed further, waiting for your reply.

    Thanks & regards,

    Anil Kumar 

  • Anil,

    I would come to the correct way of setting up the VCP for continuous operation later, but assuming that your approach works with breakpoint but not without it, I believe the reason is that the tight while(1) look inside the task function TEST_VCP2 is getting executed faster than you're resetting the EDMA and interrupt configuration after each execution and thus you're getting the exception. You should move the Task_sleep inside the while(1) loop and increase the sleep time to an appropriate value. 

    However, as I mentioned, the above approach is not the correct / best way to setup the VCP for repeated operation. You shouldn't reset and reconfigure everything after every single decode cycle as this is extremely inefficient.

    The correct way to do this is to setup the configuration once (VCP2, EDMA and interrupts) at startup outside the task function and use EDMA's linking feature to reload the IC0 PARAM after the completion of the last Branch Metrics transfer for TX and similarly reload the Decision 0 PARAM after the completion of the last Output Parameters transfer.

    I have modified the original ported example I provided for 4 VCPs on Kepler. Look in VCP2_edma.c for code changes under the following comments:

    1. /* Copy the IC0 PARAM for continous operation */

    2. /* Link the last blocks BM to the copy of IC0 Param (since the original IC0 Param gets overwritten)*/

    3. /* Copy the Dec0 PARAM for continous operation */

    4. /* Link the last block's OP to the copy of Dec0 Param (since the original Dec0 Param gets overwritten)*/

    Extending this to 8 VCPs is trivial.

    -Nitin 

    vcp2example_K2K_continuous.zip 

  • Hi Nitin,

    Thanks a lot for your support,

    I am grateful to receive the information about VCP2, I am eagerly waiting for the setting up the VCP2 for continuous operation inside the task. I very much appreciate if VCP2 continues operation done in the task, could be done sooner.

    “You should move the Task_sleep inside the while (1) loop and increase the sleep time to an appropriate value.”

    I tried using sleep with appropriate values it does not help me to run still, the behavior is same “getting exception code getting terminated”.

    I run the recent code which you shared, “vcp2example_K2K_continuous” it does not run until the end waiting inside the while (1) loop, screen picture shared.

    I very much appreciate if could send the code sooner VCP2 for continuous operation inside the task, my application deliveries are pending, I am eagerly waiting for a reply.


    Thanks & regards,

    Anil Kumar 

  • Did you check the ChannelTxCount and ChannelRXCount variables in the debugger? The new code is not supposed to run to finish because of the while(1) loop. The variables mentioned above should increment continuously indicating the number of blocks decoded.
  • Hi Nitin,

    Thanks a lot,

    I have checked the "ChannelTxCount" and "ChannelRXCount" variables values in the debugger, values are getting incrementing.

    I very much appreciate if could send the code sooner VCP2 for continuous operation inside, the task, I am waiting for a reply.

    Thanks & regards,

    Anil Kumar

     

  • Hi Nitin,

    Did you have a chance to look into the issue? I am eagerly awaiting further updates on the issue, VCP2 for continuous operation inside the task.

    Thanks & regards,

    Anil Kumar 

  • Hi Nitin,

    I am waiting for your updates, I am not able to proceed further, I would very much appreciate it if you could do early, I am eagerly waiting for a reply. 

    Thanks & regards,

    Anil Kumar