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.

RTOS/TDA3: MPEG encoding implementation in VisionSDK

Part Number: TDA3

Tool/software: TI-RTOS

Hi,

my customer wants to implement video recorder on TDA3xx. And faced with the issue:

Hello,

Right now, I am trying to implement a video recorder on TDA3xx, since it does not have an onboard encoder, I have decided to use a mpeg2 library for DSP (C66x_mpeg2venc_01_00_00_01_ELF). As a starting point I took encLink for iva encoder since iva library uses the same IALG framework. I replaced all structures and functions from iva with DSP ones.

At first linker was complaining about memory mapping. I’ve added 3 lines in Dsp1.cfg

 

Program.sectMap[".extMem_Pool"]               = "SR1_FRAME_BUFFER_MEM";

Program.sectMap[".intDataMem"]               = "DSP1_DATA_MEM";

Program.sectMap[".bss:gItelmaEncLink_objSection"]= "DSP1_DATA_MEM";

 

After that linker finished without errors.

But now when I try to start the link I get some strange error.

[DSP1 ]     5.408406 s: A0=0x0 A1=0x0

[DSP1 ]     5.408467 s: A2=0x0 A3=0x0

[DSP1 ]     5.408497 s: A4=0x0 A5=0x0

[DSP1 ]     5.408558 s: A6=0x5800 A7=0x303cc

[DSP1 ]     5.408619 s: A8=0x8 A9=0x30000

[DSP1 ]     5.408680 s: A10=0x83eedd58 A11=0x30200

[DSP1 ]     5.408772 s: A12=0x303d0 A13=0x83eedd58

[DSP1 ]     5.408802 s: A14=0x0 A15=0x0

[DSP1 ]     5.408863 s: A16=0x0 A17=0x0

[DSP1 ]     5.408924 s: A18=0x0 A19=0x0

[DSP1 ]     5.408955 s: A20=0x0 A21=0x1

[DSP1 ]     5.409016 s: A22=0x1 A23=0x0

[DSP1 ]     5.409046 s: A24=0x1 A25=0x1

[DSP1 ]     5.409107 s: A26=0x0 A27=0x1

[DSP1 ]     5.409138 s: A28=0x1 A29=0x0

[DSP1 ]     5.409199 s: A30=0x0 A31=0x1

[DSP1 ]     5.409260 s: B0=0x0 B1=0x1

[DSP1 ]     5.409290 s: B2=0x0 B3=0x8202592c

[DSP1 ]     5.409351 s: B4=0x0 B5=0x87e91800

[DSP1 ]     5.409412 s: B6=0x2 B7=0x0

[DSP1 ]     5.409443 s: B8=0x0 B9=0x0

[DSP1 ]     5.409534 s: B10=0x83eedd58 B11=0x87e918c4

[DSP1 ]     5.409595 s: B12=0x83eede78 B13=0x1

[DSP1 ]     5.409687 s: B14=0x83ef4910 B15=0x83e243c8

[DSP1 ]     5.409717 s: B16=0x0 B17=0x0

[DSP1 ]     5.409778 s: B18=0x0 B19=0x0

[DSP1 ]     5.409839 s: B20=0x0 B21=0x1

[DSP1 ]     5.409870 s: B22=0x1 B23=0x0

[DSP1 ]     5.409931 s: B24=0x0 B25=0x0

[DSP1 ]     5.409961 s: B26=0x0 B27=0x1

[DSP1 ]     5.410022 s: B28=0x0 B29=0x0

[DSP1 ]     5.410083 s: B30=0x5d B31=0x7c8

[DSP1 ]     5.410114 s: NTSR=0x1020d

[DSP1 ]     5.410144 s: ITSR=0x20d

[DSP1 ]     5.410205 s: IRP=0x82106620

[DSP1 ]     5.410236 s: SSR=0x0

[DSP1 ]     5.410266 s: AMR=0x0

[DSP1 ]     5.410297 s: RILC=0x0

[DSP1 ]     5.410327 s: ILC=0x0

[DSP1 ]     5.410388 s: Exception at 0x0

[DSP1 ]     5.410419 s: EFR=0x2 NRP=0x0

[DSP1 ]    5.410449 s: Utils_dspExceptionHookFxn:

[DSP1 ]     5.410480 s:   efr=0x2

[DSP1 ]     5.410480 s:   nrp=0x0

[DSP1 ]     5.410510 s:   ntsr=0x1020d

[DSP1 ]     5.410510 s:   ierr=0x0

[DSP1 ]     5.410541 s:   excContext=0x837e98

[DSP1 ]     5.410541 s: A0=0x0 A1=0x0

[DSP1 ]     5.410571 s: A2=0x0 A3=0x0

[DSP1 ]     5.410602 s: A4=0x0 A5=0x0

[DSP1 ]     5.410602 s: A6=0x5800 A7=0x303cc

[DSP1 ]     5.410632 s: A8=0x8 A9=0x30000

[DSP1 ]     5.410632 s: A10=0x83eedd58 A11=0x30200

[DSP1 ]     5.410663 s: A12=0x303d0 A13=0x83eedd58

[DSP1 ]     5.410693 s: A14=0x0 A15=0x0

[DSP1 ]     5.410724 s: A16=0x0 A17=0x0

[DSP1 ]     5.410724 s: A18=0x0 A19=0x0

[DSP1 ]     5.410754 s: A20=0x0 A21=0x1

[DSP1 ]     5.410754 s: A22=0x1 A23=0x0

[DSP1 ]     5.410785 s: A24=0x1 A25=0x1

[DSP1 ]     5.410815 s: A26=0x0 A27=0x1

[DSP1 ]     5.410815 s: A28=0x1 A29=0x0

[DSP1 ]     5.410846 s: A30=0x0 A31=0x1

[DSP1 ]     5.410876 s: B0=0x0 B1=0x1

[DSP1 ]     5.410876 s: B2=0x0 B3=0x8202592c

[DSP1 ]     5.410907 s: B4=0x0 B5=0x87e91800

[DSP1 ]     5.410937 s: B6=0x2 B7=0x0

[DSP1 ]     5.410937 s: B8=0x0 B9=0x0

[DSP1 ]     5.410968 s: B10=0x83eedd58 B11=0x87e918c4

[DSP1 ]     5.410968 s: B12=0x83eede78 B13=0x1

[DSP1 ]     5.410998 s: B14=0x83ef4910 B15=0x83e243c8

[DSP1 ]     5.411029 s: B16=0x0 B17=0x0

[DSP1 ]     5.411059 s: B18=0x0 B19=0x0

[DSP1 ]     5.411059 s: B20=0x0 B21=0x1

[DSP1 ]     5.411090 s: B22=0x1 B23=0x0

[DSP1 ]     5.411090 s: B24=0x0 B25=0x0

[DSP1 ]     5.411120 s: B26=0x0 B27=0x1

[DSP1 ]     5.411151 s: B28=0x0 B29=0x0

[DSP1 ]     5.411151 s: B30=0x5d B31=0x7c8

[DSP1 ]     5.411181 s: NTSR=0x1020d

[DSP1 ]     5.411212 s: ITSR=0x20d

[DSP1 ]     5.411212 s: IRP=0x82106620

[DSP1 ]     5.411242 s: SSR=0x0

[DSP1 ]     5.411242 s: AMR=0x0

[DSP1 ]     5.411273 s: RILC=0x0

[DSP1 ]     5.411273 s: ILC=0x0

[DSP1 ]     5.411303 s: Terminating Execution...

[DSP1 ]     5.411364 s: Internal exception: IERR=0x1

[DSP1 ]     5.411456 s: Instruction fetch exception

[DSP1 ]     5.411486 s:

[DSP1 ]     5.411486 s: ### XDC ASSERT - ERROR CALLBACK START ###

[DSP1 ]     5.411517 s:

[DSP1 ]     5.411639 s: E_exceptionMax: pc = 0x00000000, sp = 0x83e243c8.

[DSP1 ]     5.411639 s:

[DSP1 ]     5.411669 s: ### XDC ASSERT - ERROR CALLBACK END ###

[DSP1 ]     5.411700 s:

[DSP1 ]     5.411883 s: ti.sysbios.family.c64p.Exception: line 256: ti.sysbios.family.c64p.Exception: line 256: E_exceptionMax: pc = 0x00000000, sp = 0x83e243c8.

[DSP1 ]     5.412005 s: xdc.runtime.Error.raise: terminating execution

 

This error is called within the library so I can’t debug the exact line. But in my code, it stops at

if (fxns->algInit(alg, memTab, p, params) == IALG_EOK)

 

What could be the problem? Did I incorrectly change memory settings? Or maybe I need additional configuration?