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.

PCIe Based Video Demonstration on single C6678 EVM with AMC to PCIe Adapter Card (i.e., TMDSEVM6678L with TMDXEVMPCI) hangs

Other Parts Discussed in Thread: TMDXEVMPCI

Hi,
I'm trying to implement a pcie based video demo : processors.wiki.ti.com/.../MCSDK_VIDEO_2.1_PCIE_Demo_Guide; based on H.264 HP encoding.

I'm getting stuck at this point..

Prepare the EVM
Since I'm using a single C6678 EVM with AMC to PCIe Adapter Card (i.e., TMDSEVM6678L with TMDXEVMPCI), please follow the instructions below to set up the hardware, and then proceed to the next chapter.
Should I follow both steps 1 and 2, or just step 2 to setup hardware?

If I follow just the step 2, and proceed,

After ./initi_dsp.sh 1000,

Number of devices: 1
./init_dsps.sh: 23: [: Illegal number: c01
./init_dsps.sh: 27: [: Illegal number: c01
Device: 0 : evmc6678l

boot config file initcfg_1000.txt
 DSP boot config addr 0x86ff00
 DSP boot config size in bytes 8
Boot config words: 0xbabeface,
Boot config words: 0x14,
 Overriding image entry point with input 860000 Download image success !

After ./reset_dsp.sh 1000

Num of devices 1
" ERROR: Reset code is not working : Timedout
 Dsp 0:  DSP Reset Fail !
Number of devices: 1
./init_dsps.sh: 23: [: Illegal number: c01
./init_dsps.sh: 27: [: Illegal number: c01
Device: 0 : evmc6678l

boot config file initcfg_1000.txt
 DSP boot config addr 0x86ff00
 DSP boot config size in bytes 8
Boot config words: 0xbabeface,
Boot config words: 0x14,
 Overriding image entry point with input 860000 Download image success !

After ./dnld_dsp.sh 1
boot config file ./bootcfg/bootcfg_0.txt
 DSP boot config addr 0x800000
 DSP boot config size in bytes 20
Boot config words: 0xbabeface,
Boot config words: 0x0,
Boot config words: 0x3,
Boot config words: 0x12345678,
Boot config words: 0x90abcdef,
 Overriding image entry point with input c000000 Download image success !

After  ./demoSave2File.sh


Number of Channels supported : 1

checkHostBufReqs() Complete.

Channel 1 Configuration:

Channel . ..... 1
Algorithm ..... H264HPENC
Width ......... 1920
Height ........ 1080
Verbosity ..... 0
Team 1 ........ 0 1 2 3


Node Mapping:
     1  1  1  1  0  0  0  0

[DEBUG] openDevices() : There are a total of 1 devices discovered in the system.
[DEBUG] initDevices() : Opening cmem driver...
[DEBUG] initDevices() : cmem driver opened.
[DEBUG] initDevices() : Allocating contiguous memory for static mapping...
[DEBUG] initDevices() : Static global memory allocated.
[DEBUG] initDevices() : Reserving shared memory range for static global memory...
[DEBUG] initDevices() : Static global memory range allocated for Dev 0, Memrage: 0x60000000
[DEBUG] initDevice() : Mapping x86 contiguous memory for channel 1 to static global memory on device #0...
[DEBUG] initDevices() : Global IO memory range allocated for Dev 0, Memrage: 0x63000000
[DEBUG] initDevices() : Shared static global memory starts at 0x60000000.
[DEBUG] initDevices() : Shared input starts at 0x63000000.
initDevices() Complete.
[DEBUG] createBufferPools() : Allocating contiguous memory...
[DEBUG] createBufferPools() : 32 Input and 80 Output Buffers.
[DEBUG] createBufferPools() : Contiguous memory allocated.
[DEBUG] createBufferPools() : Input buffer pool created.
[DEBUG] createBufferPools() : Output buffer pool created.
[DEBUG] DeviceIOCreateNode(0,0) : TX mailbox handle allocated.
[DEBUG] DeviceIOCreateNode(0,0) : TX Mailbox created.
 
Then it hangs over here..

Thank you.

OS- Linux Ubuntu 14.04 64 bit
desktop-linux-sdk_01_00_00_07
bios mcsdk_2_01_02_05
mcsdk_video_2_1_0_8

  • Hi,

    RBL not properly initialize the PLL register, So Step 1 and Step 2 are required for C6678 PCIe boot. If the IBL is already flashed on the EVM means step 1 is not required.

    Have you validated the DSP C6678 is properly detected on Host PC? If the EVM is detected properly means IBL is already flashed.

    Type “lspci –n” under Linux command shell after Linux OS is loaded, a TI device (VENDOR_ID: 0x104c) should be in the list:
    local-ubuntu:~$ lspci -n
    00:00.0 0600: 8086:2774
    00:1b.0 0403: 8086:27d8 (rev 01)
    ….
    00:1f.3 0c05: 8086:27da (rev 01)
    01:00.0 0480: 104c:b005 (rev 01)
    03:00.0 0200: 14e4:1677 (rev 01)

    Similarly, one can type “lspci”,
    local-ubuntu:~$ lspci
    ….
    00:1f.3 SMBus: Intel Corporation N10/ICH 7 Family SMBus Controller (rev
    01)
    01:00.0 Multimedia controller: Texas Instruments Device b005 (rev 01)
    ....

    Thanks,
  • Thanks Ganapathi for the quick reply,

    Yes, the lspci command displays the device "Multimedia controller: Texas Instruments Device b005 (rev 01)".

    Ok, I tried doing the step 1 too, IBL flash.

    It redirects to this link : processors.wiki.ti.com/.../BIOS_MCSDK_2.0_User_Guide
    Question: Do I have to again setup EVM to NoBoot mode?

    I'm getting stuck at step 3. Question: How to do this step?
    "Turn on and connect your EVM. Open CCSv5, load the appropriate Target Configuration, connect to Core 0, and load the corresponding GEL file."

    first of all, I have tried it for CCSv5.4, v 5.5 , v.6.x , for all these versions, the pdk c6678 doesn't get installed saying "filter not applicable". I have removed the flag "ws=win32" from .xml files , but still shows the same.



    Mrudula.
  • The EVM is detected properly means IBL is already flashed, so step 1 is not required for your setup.

    Please provide your C6678 EVM revision.

    Thanks,
  • TMDSEVM6678L rev. 3B


    Mrudula
  • It still hangs after ./demoSave2File.sh ..
  • I will try to run the same demo with my setup and get back to you.
  • Hi Mrudula,

    I would suggest to follow MCSDK video 2.x PCI demo guide (latest one):
    processors.wiki.ti.com/.../MCSDK_VIDEO_2.x_Getting_Started_PCIe_Demo_Guide

    I think IBL flash update is required for properly running video demos (BAR region sizes tuned) so please follow below link instructions processors.wiki.ti.com/.../BIOS_MCSDK_2.0_User_Guide
    Please setup your EVM to "No Boot"

    thank you,
    Paula
  • Hi Paula,
    If I follow the steps for IBL flash update from the above link..

    1) I have setup the EVM to No Boot Mode and put it back to the PCIe Slot.
    After that, Which connection type should I select to connect the target configuration to core 0?
    Do I have to connect the EVM thru USB to update the IBL flash ?

    2) Is it necessary to use CCS5?

    Thank you,
    Mrudula
  • Hi Mrudula,

    1) You don't need to connect the board to a PCIe slot for IBL flash. Please connect the board with its 12V adapter and connect CCS via USB Jtag.

    2) I don't think CCS5 is totally required.. but it is always good (simpler) to use the same version that was used for testing and documenting wiki pages. I think CCS6 should be fine as well.

    thank you,

    Paula

  • Hi Paula,
    I was successful in doing the IBL flash from the above link till step 9.
    then I did set EVM card to PCIE boot and connected to the pcie slot on my PC.
    When I do "lspci" command, it doesn't get enumerated..

    Before the IBL flash, lspci command used to show the pcie device.

    How do I fix it?

    Thank you,
    Mrudula
  • Hi Mrudula,

    Could you please check you use the right IBL file endianness?

    http://processors.wiki.ti.com/index.php/File:I2crom_0x51_c6678_le.zip is for little endian only, address 0x80000000 vs. 0x0C000000...

    Thank you,

    Paula 

  • Yes, I have used the LE only IBL file.
    I'm getting this response too "C66xx_0] EEPROM Writer Utility Version 01.00.00.05[C66xx_0] [C66xx_0] Writing 52207 bytes from DSP memory address 0x0c000000 ..."

    Any more solutions to why this is unable to enumerate?

    Thank you,
    Mrudula.
  • Hi,

    Which IBL file format you using to flash EEPROM? *.bin or *.dat

    Better to use *.bin IBL binary file to re-flash the IBL to EEPROM. Note: By default, the browse menu only displays .dat files. You will have to change the option TI Data Format (*.dat) to Raw Data Format (*.bin) to find your binary file.

    Have you change the file_name, bus_addr, start_addr and swap_data in writer\eeprom\evmc66xxl\bin\eepromwriter_input.txt
    Share your EEPROM writer input file data

    Thanks,
  • Yes, I'm using *.bin.


    EEPROM writer input file data
    file_name = app.bin
    bus_addr = 0x51
    start_addr = 0
    swap_data = 0

    I followed this document as mentioned : processors.wiki.ti.com/.../BIOS_MCSDK_2.0_User_Guide


    Thank you,
    Mrudula
  • Hi,

    Have you using below wiki link IBL binary to flash to EEPROM?

    I have flashed the same IBL binary on my EVM. It is working fine. See my console window log

    [C66xx_0] EEPROM Writer Utility Version 01.00.00.05

    Writing 52072 bytes from DSP memory address 0x0c000000 to EEPROM bus address 0x0051 starting from device address 0x0000 ...

    Reading 52072 bytes from EEPROM bus address 0x0051 to DSP memory address 0x0c010000 starting from device address 0x0000 ...

    Verifying data read ...

    EEPROM programming completed successfully

    But you mentioned the on your previous post "C66xx_0] EEPROM Writer Utility Version 01.00.00.05[C66xx_0] [C66xx_0] Writing 52207 bytes from DSP memory address 0x0c000000 ..." Have you using the same file means, how the byte count is different for you and me.

    Thanks,

  • I'm sorry Ganapathi, It was a typing error.

    I'm getting the same console window log as yours.. 52072 bytes.

    What did you do after that?

    I disconnected it, setup the EVM hardware as specified in step 2 ( processors.wiki.ti.com/.../MCSDK_VIDEO_2.1_PCIE_Demo_Guide )
    then, shutdown my system,removed the cable, put in the PCIe slot, Turned on my system, and did a lspci command.. and it doesn't show the "Texas instrument" in the terminal.


    Thanks,
    Mrudula.
  • Hi,

    I am not sure what is the problem on your setup, but the IBL binary is woks fine.

    Do the following steps to validate the IBL: After flashed the IBL refer section "4. Verification" on program evm user-guide document to setup serial port and select NOR/NAND boot and check the IBL print will show on terminal window. It shows means the IBL is flashed successfully.
    Doc Path: \ti\mcsdk_2_01_02_06\tools\program_evm

    Note: Make sure the COM_SEL1 jumper setting for USB over serial. For more information refer below link
    e2e.ti.com/.../1458439

    Thanks,
  • Hi Ganapathi,

    I tried to verify using the above steps. It doesn't print the IBL print on the terminal.

    I'm guessing the IBL is NOT flashed properly, even though it shows successful.

    I wanted to verify few steps in the IBL flash from the document processors.wiki.ti.com/.../BIOS_MCSDK_2.0_User_Guide.


    In step 3, it says load the "appropriate config file" and corresponding GEL file..

    Where do I find the appropriate config file for EVMC6678? I'm using Linux Ubuntu 14.04
    I have used ti/mcsdk_2_01_02_05/tools/program_evm/configs/evm6678l/evm6678l-linuxhost.ccxml. Is it correct?

    When I do that, I do get an error saying "No source available for "0x20b01154" when I connect the target.

    But If I ignore and proceed further steps,

    Memory Browser shows at 0x0C000000 00000000    00000018    000000FF

    console says " Writing 52072 bytes from DSP memory address 0x0c000000 to EEPROM bus address 0x0051 starting from device address 0x0000 ...
    Reading 52072 bytes from EEPROM bus address 0x0051 to DSP memory address 0x0c010000 starting from device address 0x0000 ...
    Verifying data read ...
    EEPROM programming completed successfully"

    But there is an SW breakpoint at abort() at exit.c:109 0x0086F3C0  (abort does not contain frame information)    

    Can't find a source file at "/tmp/TI_MKLIBlwBz8I/SRC/exit.c"
    Locate the file or edit the source lookup path to include its location.

    What am I doing wrong?

    Thank you,

    Mrudula.

  • Hi,

    Your steps are correct for flashing IBL. Better to use latest MCSDK package. Please download the latest MCSDK for Keystone I devices(C6657/70/78) and the follow user guide here.

    Thanks,

  • Hi, FYI, MCSDK video is always paired with a particular version of MCSDK bios.

    For example for latest MCSDK video 2.2.045 we need MCSDK BIOS 2.1.2.6

    Thank you,

    Paula

  • Hi ,

    I tried with an updated versions of all.

    but it still cannot enumerate the pcie device.

    I'm using Ubuntu 14.04 64-bit. Is it something to do with it? But earlier it was detecting it...

    Thanks,

    Mrudula.

  • Mrudula, I created an IBL bin using MCSDK BIOS 2.1.2.6 (attached) with increased BAR size.

    New BAR sizes are:

    PCIE_BAR1 =4M

    PCIE_BAR2 =4M

    PCIE_BAR3 =8M

    PCIE_BAR4 =32M

    I haven't tested Linux Desktop SDK + MCSDK video with Ubuntu 14.04 64bit.  All testing have been done on Ubuntu 12.04 LTS. Wondering if you can give a try to this Ubuntu version in order to be safe.

    Also I was wondering if you have a PC with >4 GB in order to reserve CMEM memory for video demos

    i2crom_0x51_c6678_le.bin

    Thank you,

    Paula

  • Hi Paula,

    So I flashed using the above file. It said writing 51912 bytes ...Still the PC doesn't recognize the TI card. I tested with Ubuntu 14.04 64 bit.

    Yes PC has memory greater than 4GB.

    I guess I have to with 12.04. Just wondering, Will it be able to function if I install 12.04 in a virtual machine?

    Thanks,

    Mrudula

  • Hi Mrudula, We recently created a TI design document for HEVC codecs running on Shannon EVM. Please see below link:
    www.ti.com/.../tidua83.pdf
    This TI design was tested on 12.04 64bit. One thing I notice was that after IBL flash board was not recognized but it was my fault, different EVMs reviews has Switches in different positions on the board. After modifying correctly switch selection for PCIe boot mode the board was correctly recognized. Please check this. Another option that I can think is that maybe there is a harware issue with your board-adapter. Maybe good to test if you can again get your board recognized using default IBL image.
    I personally haven't tried to use MCSDK video with a virtual machine, it might work.. but maybe better to install 12.04 in a spare hard disk.
    thank you,Paula
  • Hi Paula,

    The board is being recognized now after the IBL flash. Thank you.

    But the main topic problem  still remains.

    I'm trying to encode HEVC encoder using the above document. After following each step, The console hangs after the same step as mentioned in the main topic question.  ( .......  [DEBUG] DeviceIOCreateNode(0,0) : TX Mailbox created.)

    Also, I have mcsdk video 2.2.45 and HOST_MANAGED_MEM : origin = 0x83C00000, length = 0x01200000 , not 0x02000000  as mentioned in the document. How do I change this?

    Thank you,

    Mrudula

  • Hi Mrudula, thanks for your confirmation that IBL is OK now. About how to change memory regions size please modify <MCSDK Video Install
    Dir>/dsp/ggcfg/build/hdg/sv04/ggvf0.becmd as mentioned in the TI design document, please also check section 12 for guidance on how remove other codecs from SV04 in order to only leave only HEVC codec. This is required due to DDR_CACHE size increase.
    After modifying ggvf0.becmd (and siuVctSupportedCodecs.c) please rebuild the application (make clean and make sv04), please refer to the TI design doc for more details on how to build app.
    Let me know how this goes.

    thank you,
    Paula
  • So I followed the steps, modified the memory region size, removed other codecs from SV04... however, make sv04 gives me error : "ggvf0.cmd", line 250: error: DDR_CACHED memory range overlaps existing memory
    range HOST_MANAGED_MEM
    "ggvf0.cmd", line 418: warning: no matching section
    error: errors encountered during linking; "sv04.out" not built


    Mrudula.
  • Mrudula, please check Host Memory and DDR cache don't overlap

    HOST_MANAGED_MEM : origin = 0x83C00000, length = 0x02000000 //value Increased from 0x01200000
    DDR_CACHED : origin = 0x85C00000, length = 0x1A1FFF00 //value decreased from 0x1AFFFF00

    And rebuild, thank you,
    Paula
  • ok, done. So I continue to step 7.. where after ./makeCleanVideoApp.sh , I get a warning

    src/utils/parse_prof.c:123:15: warning: format ‘%lld’ expects argument of type ‘long long int’, but argument 5 has type ‘uint64_t’ [-Wformat=]
    summary[i].count > 0 ? (double)summary[i].total_time / (double)summary[i].count : -1.0, (float)(100.0*summary[i].accounted_time)/summary[i].total_time);
    ^
    src/utils/parse_prof.c: In function ‘mcsdk_profPrintSummaryCSV’:
    src/utils/parse_prof.c:154:15: warning: format ‘%lld’ expects argument of type ‘long long int’, but argument 5 has type ‘uint64_t’ [-Wformat=]
    summary[i].count > 0 ? (double)(100.0*summary[i].accounted_time)/summary[i].total_time : -1.0);

    Ignoring that, I continue to step 8, Install and Run HEVC demo,
    Step 8.2 : ./init_dsp 1250

    Number of devices: 1
    ./init_dsps.sh: 23: [: Illegal number: c01
    ./init_dsps.sh: 27: [: Illegal number: c01
    Device: 0 : evmc6678l

    boot config file initcfg_1250.txt
    DSP boot config addr 0x86ff00
    DSP boot config size in bytes 8
    Boot config words: 0xbabeface,
    Boot config words: 0x19,
    Overriding image entry point with input 860000 Download image success !



    step 8.3 ./reset_dsp.sh 1250

    Num of devices 1
    " ERROR: Reset code is not working : Timedout
    Dsp 0: DSP Reset Fail !
    Number of devices: 1
    ./init_dsps.sh: 23: [: Illegal number: c01
    ./init_dsps.sh: 27: [: Illegal number: c01
    Device: 0 : evmc6678l

    boot config file initcfg_1250.txt
    DSP boot config addr 0x86ff00
    DSP boot config size in bytes 8
    Boot config words: 0xbabeface,
    Boot config words: 0x19,
    Overriding image entry point with input 860000 Download image success !




    ./dnld_dsp.sh 1

    boot config file ./bootcfg/bootcfg_0.txt
    DSP boot config addr 0x800000
    DSP boot config size in bytes 20
    Boot config words: 0xbabeface,
    Boot config words: 0x0,
    Boot config words: 0x3,
    Boot config words: 0x12345678,
    Boot config words: 0x90abcdef,
    Overriding image entry point with input c000000 Download image success !



    ./demoSave2File.sh

    Get_Num_IO_Bufs() : Demo will use 2 CMEM buffers for input, 8 CMEM buffers for output.
    [1437594164.077767772] (ERROR) utils_open_log() : Could not open the debug log file :
    [1437594164.077808368] (ERROR) utils_open_log() : Continuing by using stdout instead...
    [1437594164.077822490] (ERROR) utils_open_log() : Could not open the error log file :
    [1437594164.077825610] (ERROR) utils_open_log() : Continuing by using stderr instead...
    checkHostBufReqs() Complete.

    Demo Configuration:

    Verbosity ..... 2
    Channel 1 Configuration:

    Channel . ..... H265 Encode
    Width ......... 1280
    Height ........ 720
    Algorithm ..... HEVCENC
    Team 1 ........ 0 1 2 3 4 5 6 7


    Node Mapping:
    1 1 1 1 1 1 1 1



    [1437594164.077929702] (DEBUG) openDevices() : There are a total of 1 devices discovered in the system.
    [1437594164.077933951] (DEBUG) device2deviceMapping() : Device 0 does not need to map to another device. Reserving PCIe memory range.
    [1437594164.077939731] (DEBUG) device2deviceMapping() : Memory range reserved for Dev 0, Memrage: 0x60000000, Size: 0x01800000
    [1437594164.077943516] (DEBUG) device2deviceMapping() : Memory range reserved for Dev 0, Memrage: 0x61800000, Size: 0x01800000
    [1437594164.077947557] (DEBUG) initDevices() : Opening cmem driver...
    [1437594164.077958689] (DEBUG) initDevices() : cmem driver opened.
    [1437594164.077998598] (DEBUG) initDevices() : Allocating contiguous memory for static mapping...
    [1437594164.078036210] (DEBUG) initDevices() : Static global memory allocated.
    [1437594164.080591686] (DEBUG) initDevices() : Reserving shared memory range for static global memory...
    [1437594164.080612826] (DEBUG) initDevices() : Static global memory range allocated for Dev 0, Memrage: 0x62800000
    [1437594164.080616750] (DEBUG) initDevice() : Mapping x86 contiguous memory to static global memory on device #0...
    [1437594164.080621228] (DEBUG) initDevices() : Global IO memory range allocated for Dev 0, Memrage: 0x63800000
    [1437594164.080624672] (DEBUG) initDevices() : Shared static global memory starts at 0x62800000.
    [1437594164.080627773] (DEBUG) initDevices() : Shared input starts at 0x63800000.
    initDevices() Complete.
    [1437594164.080635218] (DEBUG) createBufferPools() : Demo will use 2 CMEM buffers for input, 8 CMEM buffers for output.
    [1437594164.080638759] (DEBUG) createBufferPools() : Actual CMEM buffer size 0x160000 AlignedToNext2Power 0x200000
    [1437594164.080642001] (DEBUG) createBufferPools() : Demo needs CMEM buffers of size 0x200000 Bytes. Max size is of Channel-0
    [1437594164.080645245] (DEBUG) createBufferPools() : Actual CMEM buffer size 0x160000 AlignedToNext2Power 0x200000
    [1437594164.080648281] (DEBUG) createBufferPools() : Demo needs CMEM buffers of size 0x200000 Bytes. Max size is of Channel-0
    [1437594164.080652515] (DEBUG) createBufferPools() : Allocating contiguous memory...
    [1437594164.080655395] (DEBUG) createBufferPools() : 2 Input and 8 Output Buffers.
    [1437594164.080687099] (DEBUG) createBufferPools() : Input Contiguous memory allocated.
    [1437594164.080699431] (DEBUG) createBufferPools() : Input buffer pool created.
    [1437594164.080750144] (DEBUG) createBufferPools() : Output Contiguous memory allocated.
    [1437594164.080754783] (DEBUG) createBufferPools() : Output buffer pool created.
    createBufferPools() Complete.
    [1437594164.080782472] (DEBUG) DeviceIOCreateNode(0,0) : TX mailbox handle allocated.
    [1437594164.080787705] (DEBUG) DeviceIOCreateNode(0,0) : TX Mailbox created.




    And.. Just hangs over there..
  • Mrudula,
    What I see suspicious is:

    " ERROR: Reset code is not working : Timedout
    Dsp 0: DSP Reset Fail !

    could you please restart your PC, then check PCIe board is detected if so, then try to run the demo
    cd demos/codecs/pcie_h265enc_demo/scripts
    ./reset_dsp.sh 1250
    ./dnld_dsp.sh 1
    ./demoSave2File.sh

    One think that I would like to confirm with you, did you rebuild host side (section 6)?.. there is one detail there, after changing host memory size on the DSP side you should reflect the same change on the host side as shown below

    <MCSDK Video Install Dir>/host/src/demoBufferPoolCfg.h
    /*Configuration for input buffer pool in the DSP DDR memory.*/
    #define DEMO_C667X_DEV_OUTPUT_POOL_BASEADDR 0x83C00000
    #define DEMO_C667X_DEV_OUTPUT_POOL_SIZE 0x01000000
    /*Configuration for output buffer pool in the DSP DDR memory.*/
    #define DEMO_C667X_DEV_INPUT_POOL_BASEADDR 0x84C00000
    #define DEMO_C667X_DEV_INPUT_POOL_SIZE 0x01000000

    Also please double check you have defined #define SINGLE_DSP_EVM_BUILD Inside <MCSDK Video Install Dir>/host/src/dspMemMap.h,

    Let me know how it goes, thank you,
    Paula
  • Paula,

    Yes I rebuilt the host side. That is when the warning appear after ./makeVideoApp.


    Also , I did restart the pc and it detects the pcie,

    If I run ./reset_dsp.sh 1250 directly, then it says no dsps found.

    If i do "source setEnv.sh" then, ./reset_dsp.sh 1250 gives the same error.

    Thank you,
    Mrudula
  • Mrudula, are you using Ubuntu 14.xx version or 12.04? from another post user Andrey faced a similar issue when using Desktop linux SDK reset_dsp scripts drivers with Advantech card on Ubuntu 14, however scripts worked on Ganapathi's Ubuntu 14 setup... Please check this thread
    e2e.ti.com/.../415026

    Could you please check if Desktop linux sdk demos works in your setup?
    processors.wiki.ti.com/.../Desktop-linux-sdk_01.00.00_Getting_Started_Guide
    These are the same init, reset and dnld used for MCSDK video ..

    thank you,
    Paula
  • Yes Paula, I'm using Ubuntu 14.04. The reset does not work from Desktop linux SDK too.
    From the desktop linux sdk document, I can successfully run the demos with ./run_dspmaptest.sh 1 0x400000.

    with ./run_dmatest.sh 1 0x400000
    ./run_memcpytest.sh 1 0x400000
    I get segmentation fault.

    Thank you,
    Mrudula
  • Hi Mrudula, I would think Ubuntu version could be the problem here. We verify Desktop linux SDK and MCSDK video using 12.04 version.
    Desktop Linux SDK and MCSDK video framework on 14.04 seems working for some users but not all..
    thank you,Paula
  • Hi Paula,

    So I installed Ubuntu 12.04 and tried to run the HEVC demo.

    In the last step, ./demoSave2File.sh, it starts encoding but kind of stops here

    .
    [1438115322.693514976] (DEBUG) DeviceIOTxThread(0) : Finished with message #3.
    [1438115322.710269651] (DEBUG) FileReaderThread(H265 Encode) : Read 1382400 bytes in 18632943 ns.
    [1438115322.710297497] (DEBUG) FileReaderThread(H265 Encode) : Iter = 0, Clip = ../testVecs/input/airshow_p1280x720.yuv, Frame = 3 / 5, Size = 1382400


    I believe it started encoding 3 frames out of 5.. and it hangs again!

    Thank you,

    Mrudula.

  • Hi Paula,

    So I installed Ubuntu 12.04 and tried to run the HEVC demo.

    In the last step, ./demoSave2File.sh, it starts encoding but kind of stops here

    .
    [1438115322.693514976] (DEBUG) DeviceIOTxThread(0) : Finished with message #3.
    [1438115322.710269651] (DEBUG) FileReaderThread(H265 Encode) : Read 1382400 bytes in 18632943 ns.
    [1438115322.710297497] (DEBUG) FileReaderThread(H265 Encode) : Iter = 0, Clip = ../testVecs/input/airshow_p1280x720.yuv, Frame = 3 / 5, Size = 1382400


    I believe it started encoding 3 frames out of 5.. and it hangs again!

    Thank you,

    Mrudula.
  • Hi Mrudula, could you please share logs with us? You can add --debug-log =debug log.txt and --debug-error =error log.txt inside ./demoSave2file script for adding log and error files when runing the demo.

    Thank you,
    Paula
  • Hi Paula,

    Please do find the attachemnt.

    Mrudula

    debug_log.txt
    checkHostBufReqs() Complete. 
    
    Demo Configuration: 
    
    Verbosity ..... 2 
    Channel 1 Configuration: 
    
    Channel . ..... H265 Encode 
    Width ......... 1280 
    Height ........ 720 
    Algorithm ..... HEVCENC 
    Team 1 ........ 0 1 2 3 4 5 6 7 
    
    
    Node Mapping: 
    	 1  1  1  1  1  1  1  1 
    
    
    
    [1438357093.640204457] (DEBUG) openDevices() : There are a total of 1 devices discovered in the system. 
    [1438357093.640209021] (DEBUG) device2deviceMapping() : Device 0 does not need to map to another device. Reserving PCIe memory range.
    [1438357093.640212854] (DEBUG) device2deviceMapping() : Memory range reserved for Dev 0, Memrage: 0x60000000, Size: 0x01800000 
    [1438357093.640215264] (DEBUG) device2deviceMapping() : Memory range reserved for Dev 0, Memrage: 0x61800000, Size: 0x01800000 
    [1438357093.640217468] (DEBUG) initDevices() : Opening cmem driver... 
    [1438357093.640225886] (DEBUG) initDevices() : cmem driver opened. 
    [1438357093.640235374] (DEBUG) initDevices() : Allocating contiguous memory for static mapping... 
    [1438357093.640270176] (DEBUG) initDevices() : Static global memory allocated. 
    [1438357093.641843654] (DEBUG) initDevices() : Reserving shared memory range for static global memory... 
    [1438357093.641851067] (DEBUG) initDevices() : Static global memory range allocated for Dev 0, Memrage: 0x62800000 
    [1438357093.641853655] (DEBUG) initDevice() : Mapping x86 contiguous memory to static global memory on device #0...
    [1438357093.641856556] (DEBUG) initDevices() : Global IO memory range allocated for Dev 0, Memrage: 0x63800000 
    [1438357093.641858699] (DEBUG) initDevices() : Shared static global memory starts at 0x62800000. 
    [1438357093.641860640] (DEBUG) initDevices() : Shared input starts at 0x63800000. 
    initDevices() Complete. 
    [1438357093.641865215] (DEBUG) createBufferPools() : Demo will use 2 CMEM buffers for input, 8 CMEM buffers for output.
    [1438357093.641867547] (DEBUG) createBufferPools() : Actual CMEM buffer size 0x160000 AlignedToNext2Power 0x200000
    [1438357093.641869771] (DEBUG) createBufferPools() : Demo needs CMEM buffers of size 0x200000 Bytes. Max size is of Channel-0
    [1438357093.641871849] (DEBUG) createBufferPools() : Actual CMEM buffer size 0x160000 AlignedToNext2Power 0x200000
    [1438357093.641873730] (DEBUG) createBufferPools() : Demo needs CMEM buffers of size 0x200000 Bytes. Max size is of Channel-0
    [1438357093.641875920] (DEBUG) createBufferPools() : Allocating contiguous memory... 
    [1438357093.641877776] (DEBUG) createBufferPools() : 2 Input and 8 Output Buffers. 
    [1438357093.641901199] (DEBUG) createBufferPools() : Input Contiguous memory allocated. 
    [1438357093.641909792] (DEBUG) createBufferPools() : Input buffer pool created. 
    [1438357093.641970642] (DEBUG) createBufferPools() : Output Contiguous memory allocated. 
    [1438357093.641973347] (DEBUG) createBufferPools() : Output buffer pool created. 
    createBufferPools() Complete. 
    [1438357093.641995915] (DEBUG) DeviceIOCreateNode(0,0) : TX mailbox handle allocated. 
    [1438357093.641999033] (DEBUG) DeviceIOCreateNode(0,0) : TX Mailbox created. 
    [1438357093.642003166] (DEBUG) DeviceIOCreateNode(0,0) : Opened Tx mailbox. 
    [1438357093.642014857] (DEBUG) DeviceIOCreateNode(0,0) : RX mailbox handle allocated. 
    [1438357093.642019633] (DEBUG) DeviceIOCreateNode(0,0) : RX Mailbox created. 
    [1438357093.642022765] (DEBUG) DeviceIOCreateNode(0,0) : Opened Rx mailbox. 
    [1438357093.642033365] (DEBUG) DeviceIOCreateNode(0,1) : TX mailbox handle allocated. 
    [1438357093.642035272] (DEBUG) DeviceIOCreateNode(0,1) : TX Mailbox created. 
    [1438357093.642038736] (DEBUG) DeviceIOCreateNode(0,1) : Opened Tx mailbox. 
    [1438357093.642051392] (DEBUG) DeviceIOCreateNode(0,1) : RX mailbox handle allocated. 
    [1438357093.642055807] (DEBUG) DeviceIOCreateNode(0,1) : RX Mailbox created. 
    [1438357093.642058773] (DEBUG) DeviceIOCreateNode(0,1) : Opened Rx mailbox. 
    [1438357093.642071317] (DEBUG) DeviceIOCreateNode(0,2) : TX mailbox handle allocated. 
    [1438357093.642073329] (DEBUG) DeviceIOCreateNode(0,2) : TX Mailbox created. 
    [1438357093.642076739] (DEBUG) DeviceIOCreateNode(0,2) : Opened Tx mailbox. 
    [1438357093.642091620] (DEBUG) DeviceIOCreateNode(0,2) : RX mailbox handle allocated. 
    [1438357093.642096203] (DEBUG) DeviceIOCreateNode(0,2) : RX Mailbox created. 
    [1438357093.642099235] (DEBUG) DeviceIOCreateNode(0,2) : Opened Rx mailbox. 
    [1438357093.642110158] (DEBUG) DeviceIOCreateNode(0,3) : TX mailbox handle allocated. 
    [1438357093.642112209] (DEBUG) DeviceIOCreateNode(0,3) : TX Mailbox created. 
    [1438357093.642115671] (DEBUG) DeviceIOCreateNode(0,3) : Opened Tx mailbox. 
    [1438357093.642126390] (DEBUG) DeviceIOCreateNode(0,3) : RX mailbox handle allocated. 
    [1438357093.642130631] (DEBUG) DeviceIOCreateNode(0,3) : RX Mailbox created. 
    [1438357093.642133611] (DEBUG) DeviceIOCreateNode(0,3) : Opened Rx mailbox. 
    [1438357093.642144655] (DEBUG) DeviceIOCreateNode(0,4) : TX mailbox handle allocated. 
    [1438357093.642146527] (DEBUG) DeviceIOCreateNode(0,4) : TX Mailbox created. 
    [1438357093.642149950] (DEBUG) DeviceIOCreateNode(0,4) : Opened Tx mailbox. 
    [1438357093.642162113] (DEBUG) DeviceIOCreateNode(0,4) : RX mailbox handle allocated. 
    [1438357093.642166607] (DEBUG) DeviceIOCreateNode(0,4) : RX Mailbox created. 
    [1438357093.642169604] (DEBUG) DeviceIOCreateNode(0,4) : Opened Rx mailbox. 
    [1438357093.642179779] (DEBUG) DeviceIOCreateNode(0,5) : TX mailbox handle allocated. 
    [1438357093.642181680] (DEBUG) DeviceIOCreateNode(0,5) : TX Mailbox created. 
    [1438357093.642185064] (DEBUG) DeviceIOCreateNode(0,5) : Opened Tx mailbox. 
    [1438357093.642196893] (DEBUG) DeviceIOCreateNode(0,5) : RX mailbox handle allocated. 
    [1438357093.642201604] (DEBUG) DeviceIOCreateNode(0,5) : RX Mailbox created. 
    [1438357093.642204625] (DEBUG) DeviceIOCreateNode(0,5) : Opened Rx mailbox. 
    [1438357093.642233633] (DEBUG) DeviceIOCreateNode(0,6) : TX mailbox handle allocated. 
    [1438357093.642238175] (DEBUG) DeviceIOCreateNode(0,6) : TX Mailbox created. 
    [1438357093.642242770] (DEBUG) DeviceIOCreateNode(0,6) : Opened Tx mailbox. 
    [1438357093.642256517] (DEBUG) DeviceIOCreateNode(0,6) : RX mailbox handle allocated. 
    [1438357093.642262273] (DEBUG) DeviceIOCreateNode(0,6) : RX Mailbox created. 
    [1438357093.642277419] (DEBUG) DeviceIOCreateNode(0,6) : Opened Rx mailbox. 
    [1438357093.642294718] (DEBUG) DeviceIOCreateNode(0,7) : TX mailbox handle allocated. 
    [1438357093.642297958] (DEBUG) DeviceIOCreateNode(0,7) : TX Mailbox created. 
    [1438357093.642302638] (DEBUG) DeviceIOCreateNode(0,7) : Opened Tx mailbox. 
    [1438357093.642316580] (DEBUG) DeviceIOCreateNode(0,7) : RX mailbox handle allocated. 
    [1438357093.642322330] (DEBUG) DeviceIOCreateNode(0,7) : RX Mailbox created. 
    [1438357093.642326945] (DEBUG) DeviceIOCreateNode(0,7) : Opened Rx mailbox. 
    createDeviceIO(0) Complete. 
    [1438357093.642442734] (DEBUG) DeviceIOTxThread(0) : Hello! ThreadID = 0x7E28D700
    [1438357093.642453330] (DEBUG) DeviceIORxThread(0) : Hello! ThreadID = 0x7DA8C700 
    [1438357093.642479452] (DEBUG) sendDeviceConfig(H265 Encode:HEVCENC) : 
    codecName = HEVCENC 
    nCores = 8 
    coreTeamMapping = 0 1 2 3 4 5 6 7 -1 
    channelId = 0 
    
    #StaticParams - IVIDENC2_Params
    static_param0   = 836                     # IVIDEND2_Params :: size                                             
    static_param1   = 4                      # IVIDEND2_Params :: encodingPreset                            
    static_param2   = 2                      # IVIDEND2_Params :: rateControlPreset                                
    static_param3   = 720                      # IVIDEND2_Params :: MaxHeight                                        
    static_param4   = 1280                      # IVIDEND2_Params :: MaxWidth                                         
    static_param5   = 1                      # IVIDEND2_Params :: dataEndianness                                   
    static_param6   = 1                      # IVIDEND2_Params :: MaxInterFrameInterval                      
    static_param7   = 20000000                      # IVIDE[1438357093.642615241] (DEBUG) DeviceIOTxThread(0) : Received pipe message for node 0. 
    [1438357093.642687250] (DEBUG) DeviceIOTxThread(0) : Allocated buffer for the configuration of node #0! 
    [1438357093.642810562] (DEBUG) DeviceIOTxThread(0) : Configuration written to 0x84C00000 for node #0. 
    [1438357093.642822996] (DEBUG) DeviceIOTxThread(0) : Message sent to DSP mailbox.
    [1438357093.642825154] (DEBUG) DeviceIOTxThread(0) : Finished with message #-1487406992. 
    [1438357093.642830756] (DEBUG) DeviceIOTxThread(0) : Received pipe message for node 1. 
    [1438357093.642836995] (DEBUG) DeviceIOTxThread(0) : Allocated buffer for the configuration of node #1! 
    [1438357093.642946378] (DEBUG) DeviceIOTxThread(0) : Configuration written to 0x84E00000 for node #1. 
    [1438357093.642952155] (DEBUG) DeviceIOTxThread(0) : Message sent to DSP mailbox.
    [1438357093.642954000] (DEBUG) DeviceIOTxThread(0) : Finished with message #-1487406992. 
    [1438357093.642957088] (DEBUG) DeviceIOTxThread(0) : Received pipe message for node 2. 
    [1438357093.642962836] (DEBUG) DeviceIOTxThread(0) : Allocated buffer for the configuration of node #2! 
    [1438357093.643073017] (DEBUG) DeviceIOTxThread(0) : Configuration written to 0x85000000 for node #2. 
    [1438357093.643081480] (DEBUG) DeviceIOTxThread(0) : Message sent to DSP mailbox.
    [1438357093.643084024] (DEBUG) DeviceIOTxThread(0) : Finished with message #-1487406992. 
    [1438357093.643088447] (DEBUG) DeviceIOTxThread(0) : Received pipe message for node 3. 
    [1438357093.643096480] (DEBUG) DeviceIOTxThread(0) : Allocated buffer for the configuration of node #3! 
    [1438357093.643206791] (DEBUG) DeviceIOTxThread(0) : Configuration written to 0x85200000 for node #3. 
    [1438357093.643215504] (DEBUG) DeviceIOTxThread(0) : Message sent to DSP mailbox.
    [1438357093.643218083] (DEBUG) DeviceIOTxThread(0) : Finished with message #-1487406992. 
    [1438357093.643222361] (DEBUG) DeviceIOTxThread(0) : Received pipe message for node 4. 
    [1438357093.643231191] (DEBUG) DeviceIOTxThread(0) : Allocated buffer for the configuration of node #4! 
    [1438357093.643341100] (DEBUG) DeviceIOTxThread(0) : Configuration written to 0x85400000 for node #4. 
    [1438357093.643350000] (DEBUG) DeviceIOTxThread(0) : Message sent to DSP mailbox.
    [1438357093.643353001] (DEBUG) DeviceIOTxThread(0) : Finished with message #-1487406992. 
    [1438357093.643357533] (DEBUG) DeviceIOTxThread(0) : Received pipe message for node 5. 
    [1438357093.643366568] (DEBUG) DeviceIOTxThread(0) : Allocated buffer for the configuration of node #5! 
    sendDeviceConfig(0) Complete. 
    createOutputPipe(0) Complete. 
    createReorder(0) Complete. 
    [1438357093.643409952] (DEBUG) createScheduler(H265 Encode:HEVCENC) : Master: 0,0 
    [1438357093.643412903] (DEBUG) createScheduler(H265 Encode:HEVCENC) : Slave 0 : 0,1 
    [1438357093.643415266] (DEBUG) createScheduler(H265 Encode:HEVCENC) : Slave 1 : 0,2 
    [1438357093.643417444] (DEBUG) createScheduler(H265 Encode:HEVCENC) : Slave 2 : 0,3 
    [1438357093.643419569] (DEBUG) createScheduler(H265 Encode:HEVCENC) : Slave 3 : 0,4 
    [1438357093.643421687] (DEBUG) createScheduler(H265 Encode:HEVCENC) : Slave 4 : 0,5 
    [1438357093.643423795] (DEBUG) createScheduler(H265 Encode:HEVCENC) : Slave 5 : 0,6 
    [1438357093.643425896] (DEBUG) createScheduler(H265 Encode:HEVCENC) : Slave 6 : 0,7 
    createScheduler(0) Complete. 
    [1438357093.643486160] (DEBUG) DeviceIOTxThread(0) : Configuration written to 0x85600000 for node #5. 
    [1438357093.643496458] (DEBUG) DeviceIOTxThread(0) : Message sent to DSP mailbox.
    [1438357093.643498832] (DEBUG) DeviceIOTxThread(0) : Finished with message #-1487406992. 
    [1438357093.643502867] (DEBUG) DeviceIOTxThread(0) : Received pipe message for node 6. 
    [1438357093.643518646] (DEBUG) DeviceIOTxThread(0) : Allocated buffer for the configuration of node #6! 
    [1438357093.643675925] (DEBUG) DeviceIOTxThread(0) : Configuration written to 0x85800000 for node #6. 
    [1438357093.643682340] (DEBUG) DeviceIOTxThread(0) : Message sent to DSP mailbox.
    [1438357093.643684182] (DEBUG) DeviceIOTxThread(0) : Finished with message #-1487406992. 
    [1438357093.643687790] (DEBUG) DeviceIOTxThread(0) : Received pipe message for node 7. 
    [1438357093.643695192] (DEBUG) DeviceIOTxThread(0) : Allocated buffer for the configuration of node #7! 
    [1438357093.643827704] (DEBUG) DeviceIOTxThread(0) : Configuration written to 0x85A00000 for node #7. 
    [1438357093.643840382] (DEBUG) DeviceIOTxThread(0) : Message sent to DSP mailbox.
    [1438357093.643843207] (DEBUG) DeviceIOTxThread(0) : Finished with message #-1487406992. 
    [1438357093.825439544] (DEBUG) DeviceIORxThread(0) : Getting message from node #0 ... 
    [1438357093.825495746] (DEBUG) DeviceIORxConfig(0) : Received configuration response from node 0. 
    [1438357093.825515168] (DEBUG) DeviceIORxThread(0) : Getting message from node #1 ... 
    [1438357093.825537635] (DEBUG) DeviceIORxConfig(0) : Received configuration response from node 1. 
    [1438357093.825552609] (DEBUG) DeviceIORxThread(0) : Getting message from node #2 ... 
    [1438357093.825574337] (DEBUG) DeviceIORxConfig(0) : Received configuration response from node 2. 
    [1438357093.825588765] (DEBUG) DeviceIORxThread(0) : Getting message from node #3 ... 
    [1438357093.825609837] (DEBUG) DeviceIORxConfig(0) : Received configuration response from node 3. 
    [1438357093.825624461] (DEBUG) DeviceIORxThread(0) : Getting message from node #4 ... 
    [1438357093.825645483] (DEBUG) DeviceIORxConfig(0) : Received configuration response from node 4. 
    [1438357093.825660236] (DEBUG) DeviceIORxThread(0) : Getting message from node #5 ... 
    [1438357093.825681329] (DEBUG) DeviceIORxConfig(0) : Received configuration response from node 5. 
    [1438357093.825696287] (DEBUG) DeviceIORxThread(0) : Getting message from node #6 ... 
    [1438357093.825717159] (DEBUG) DeviceIORxConfig(0) : Received configuration response from node 6. 
    [1438357093.825732173] (DEBUG) DeviceIORxThread(0) : Getting message from node #7 ... 
    [1438357093.825753105] (DEBUG) DeviceIORxConfig(0) : Received configuration response from node 7. 
    ackDeviceConfig(0) Complete. 
    [1438357094.643595543] (DEBUG) FileReaderCreate(H265 Encode) : Creating instance of FileReader... 
    [1438357094.643612193] (DEBUG) FileReaderCreate(H265 Encode) : Instance memory allocated. 
    [1438357094.643624180] (DEBUG) FileReaderCreate(H265 Encode) : Allocated memory for 1 files. 
    [1438357094.643669536] (DEBUG) FileReaderCreate(H265 Encode) : Configured to read from 1 files. 
    [1438357094.643775963] (DEBUG) FileReaderCreate(H265 Encode) : Instance creation succeeded! 
    createFileReader(0) Complete. 
    createDataSrc(0) Complete. 
    [1438357094.643813980] (DEBUG) FileWriterCreate(H265 Encode) : Creating instance of FileWriter... 
    [1438357094.643828023] (DEBUG) FileWriterCreate(H265 Encode) : Instance memory allocated. 
    [1438357094.643831435] (DEBUG) FileReaderThread(H265 Encode) : Hello from FileReader thread. ThreadID = 0x7D28B700
    [1438357094.643868917] (DEBUG) FileReaderThread(H265 Encode) : File No. 0 to be Read... ../testVecs/input/airshow_p1280x720.yuv 
    [1438357094.643954036] (DEBUG) FileWriterCreate(H265 Encode) : Instance creation succeeded! 
    [1438357094.643960800] (DEBUG) FileWriterThread(H265 Encode) : Hello from FileWriter thread. ThreadID = 0x7CA8A700
    createFileWriter(0) Complete. 
    createDataSnk(0) Complete. 
    [1438357094.644707678] (DEBUG) FileReaderThread(H265 Encode) : Read 1382400 bytes in 773573 ns. 
    [1438357094.644723132] (DEBUG) FileReaderThread(H265 Encode) : Iter = 0, Clip = ../testVecs/input/airshow_p1280x720.yuv, Frame = 0 / 5, Size = 1382400 
    [1438357094.644737670] (DEBUG) FileReaderThread(H265 Encode) : Sending task #1 to device #0, node #0 ...
    [1438357094.644764566] (DEBUG) FileReaderThread(H265 Encode) : Finished writing message. 
    [1438357094.644809647] (DEBUG) DeviceIOTxThread(0) : Received pipe message for node 0. 
    [1438357094.644846513] (DEBUG) DeviceIOTxProcess(0) : Received message: #1, Task ID: 1, Frame ID: 1, Node 0, BufSize 1382400 bytes. Chan-Id 0
    [1438357094.644860541] (DEBUG) DeviceIOTxThread(0) : Allocated input device buffer (0x84C00000). 
    [1438357094.644872483] (DEBUG) DeviceIOTxThread(0) : Allocated output device buffer (0x83C00000). 
    [1438357094.644884580] (DEBUG) DeviceIOSendFrame(0) : Participant Device 0
    [1438357094.644916899] (DEBUG) DeviceIOSendFrame(0) : DMA'd frame to 0x84C00000 on device 0. (retVal = 0, dma_trans_id = 1)
    [1438357094.644928475] (DEBUG) DeviceIOTxThread(0) : DMA Triggered.
    [1438357094.645541340] (DEBUG) FileReaderThread(H265 Encode) : Read 1382400 bytes in 760665 ns. 
    [1438357094.645557560] (DEBUG) FileReaderThread(H265 Encode) : Iter = 0, Clip = ../testVecs/input/airshow_p1280x720.yuv, Frame = 1 / 5, Size = 1382400 
    [1438357094.645569832] (DEBUG) FileReaderThread(H265 Encode) : Sending task #2 to device #0, node #0 ...
    [1438357094.645583705] (DEBUG) FileReaderThread(H265 Encode) : Finished writing message. 
    [1438357094.646704249] (DEBUG) DeviceIOXferComplete(0) : DMA to device 0 Complete! dma_trans_id = 1
    [1438357094.646723185] (DEBUG) DeviceIOTxThread(0) : DMA Complete.
    [1438357094.646746994] (DEBUG) DeviceIOTxThread(0) : Message sent to DSP mailbox.
    [1438357094.646756534] (DEBUG) DeviceIOTxThread(0) : Finished with message #1. 
    [1438357094.646774605] (DEBUG) DeviceIOTxThread(0) : Received pipe message for node 0. 
    [1438357094.646786627] (DEBUG) DeviceIOTxProcess(0) : Received message: #2, Task ID: 2, Frame ID: 2, Node 0, BufSize 1382400 bytes. Chan-Id 0
    [1438357094.646798234] (DEBUG) DeviceIOTxThread(0) : Allocated input device buffer (0x84E00000). 
    [1438357094.646808670] (DEBUG) DeviceIOTxThread(0) : Allocated output device buffer (0x83E00000). 
    [1438357094.646818951] (DEBUG) DeviceIOSendFrame(0) : Participant Device 0
    [1438357094.646835080] (DEBUG) DeviceIOSendFrame(0) : DMA'd frame to 0x84E00000 on device 0. (retVal = 0, dma_trans_id = 2)
    [1438357094.646845516] (DEBUG) DeviceIOTxThread(0) : DMA Triggered.
    [1438357094.647297443] (DEBUG) FileReaderThread(H265 Encode) : Read 1382400 bytes in 515189 ns. 
    [1438357094.647313382] (DEBUG) FileReaderThread(H265 Encode) : Iter = 0, Clip = ../testVecs/input/airshow_p1280x720.yuv, Frame = 2 / 5, Size = 1382400 
    [1438357094.647325234] (DEBUG) FileReaderThread(H265 Encode) : Sending task #3 to device #0, node #0 ...
    [1438357094.647339902] (DEBUG) FileReaderThread(H265 Encode) : Finished writing message. 
    [1438357094.648650962] (DEBUG) DeviceIOXferComplete(0) : DMA to device 0 Complete! dma_trans_id = 2
    [1438357094.648664520] (DEBUG) DeviceIOTxThread(0) : DMA Complete.
    [1438357094.648685307] (DEBUG) DeviceIOTxThread(0) : Message sent to DSP mailbox.
    [1438357094.648696443] (DEBUG) DeviceIOTxThread(0) : Finished with message #2. 
    [1438357094.648711262] (DEBUG) DeviceIOTxThread(0) : Received pipe message for node 0. 
    [1438357094.648720622] (DEBUG) DeviceIOTxProcess(0) : Received message: #3, Task ID: 3, Frame ID: 3, Node 0, BufSize 1382400 bytes. Chan-Id 0
    [1438357094.648731544] (DEBUG) DeviceIOTxThread(0) : Allocated input device buffer (0x85000000). 
    [1438357094.648741860] (DEBUG) DeviceIOTxThread(0) : Allocated output device buffer (0x84000000). 
    [1438357094.648751895] (DEBUG) DeviceIOSendFrame(0) : Participant Device 0
    [1438357094.648766979] (DEBUG) DeviceIOSendFrame(0) : DMA'd frame to 0x85000000 on device 0. (retVal = 0, dma_trans_id = 3)
    [1438357094.648777245] (DEBUG) DeviceIOTxThread(0) : DMA Triggered.
    [1438357094.649188353] (DEBUG) FileReaderThread(H265 Encode) : Read 1382400 bytes in 496828 ns. 
    [1438357094.649203497] (DEBUG) FileReaderThread(H265 Encode) : Iter = 0, Clip = ../testVecs/input/airshow_p1280x720.yuv, Frame = 3 / 5, Size = 1382400 
    [1438357094.650602083] (DEBUG) DeviceIOXferComplete(0) : DMA to device 0 Complete! dma_trans_id = 3
    [1438357094.650606931] (DEBUG) DeviceIOTxThread(0) : DMA Complete.
    [1438357094.650613340] (DEBUG) DeviceIOTxThread(0) : Message sent to DSP mailbox.
    [1438357094.650615657] (DEBUG) DeviceIOTxThread(0) : Finished with message #3. 
    Terminating remaining threads... 
    [1438357133.853331208] (DEBUG) ReorderDestroy(H265 Encode:HEVCENC): Freeing resources... 
    [1438357133.853338549] (DEBUG) ReorderDestroy(H265 Encode:HEVCENC) : Sucessfully freed all queue elements. 
    [1438357133.853344375] (DEBUG) 		Scheduler(H265 Encode:HEVCENC):    0 |    0 |    3 |    3 |        3 |        3 
    Terminating remaining threads... 
    
    0257.error_log.txt
    [1438357094.646737914] (ERROR) FileReaderThread(H265 Encode) : Made 6249 attempts to allocate host input buffer. 
    [1438357094.648677732] (ERROR) FileReaderThread(H265 Encode) : Made 7702 attempts to allocate host input buffer. 
    

  • Hi Mrudula, we didn't find anything wrong in the logs. Few questions / thinks to check
    - Can you run now Desktop linux SDK demos without issues?
    - have you confirmed SV04 and host application build OK? (no errors)
    - Have you tried to run HEVC decoder? If so. it also hangs or it works?
    - When running HEVC encoder, do you have an output files for the first 3 frames?
    - Could you tried another YUV clip? more frames, just to checkThank you,Paula
  • Hi Paula,

    1) I'm able to run Desktop linux SDK demos without issues. The console shows "Test Complete" .

    2) make SV04 is giving me this error now: "../../../siu/osal/siuDmaType.h", line 43: fatal error #5: could not open source file "ti/sdo/fc/ecpy/ecpy.h"
    1 fatal error detected in the compilation of "../../../siu/common/main.c".
    Compilation terminated.

    >> Compilation failure
    make[2]: *** [main.oc] Error 1
    make[2]: Leaving directory `/home/extron/ti/mcsdk_video_2_2_0_45/dsp/siu/c64x/make'
    make[1]: *** [siu] Error 2
    make[1]: Leaving directory `/home/extron/ti/mcsdk_video_2_2_0_45/dsp/mkrel/c64x'
    make: *** [sv04] Error 2

    3) HEVC decoder demo worked, It gave me an output YUV.

    4) No, I do not get any output for 3 frames for HEVC encoder.

    5) I'm yet to try another YUV clip.

    Mrudula

  • Hi Mrudula, no sure how could you run HEVC decoder if SV04 fails to build .. maybe you were running prebuilt SV04? in that case that could be the reason HEVC encoder was failing?..
    About, your error, it seems framework components cannot be found. From building scripts (C:\TI\mcsdk_video_2_2_0_45\dsp\mkrel) I see the version we are using for MCSDK video drop 45 is "framework_components_3_23_02_16". Please check this is correctly installed and it has read/write access..
    thank you,Paula
  • Paula, I could be running on the pre built sv04.

    So I'm still getting errors while doing make clean for <mcsdk_video>/dsp/mkrel

    cleaning vtk
    make: Entering an unknown directory
    make: *** ../../vtk/c64x/make: No such file or directory. Stop.
    make: Leaving an unknown directory
    make[1]: *** [vtk_makeclean] Error 2
    make[1]: Leaving directory `/home/user/ti/mcsdk_video_2_2_0_45/dsp/mkrel/c64x'
    make: *** [clean] Error 2

    and for make sv04

    "../../../siu/vct/codec/siuVctSupportedCodecs.c", line 89: warning #145-D: a value of type "void (*)(void *, IVIDMC3_t *)" cannot be used to initialize an entity of type "void (*)(void *, void *)"
    "../../../siu/vct/codec/siuVctSupportedCodecs.c", line 106: error #20: identifier "jpegEncAPI" is undefined
    "../../../siu/vct/codec/siuVctSupportedCodecs.c", line 108: warning #1045-D: extra braces are nonstandard
    "../../../siu/vct/codec/siuVctSupportedCodecs.c", line 108: error #145: a value of type "const char *" cannot be used to initialize an entity of type "tuint"
    "../../../siu/vct/codec/siuVctSupportedCodecs.c", line 108: error #68: expected a "}"
    "../../../siu/vct/codec/siuVctSupportedCodecs.c", line 112: error #20: identifier "jpegDecAPI" is undefined
    "../../../siu/vct/codec/siuVctSupportedCodecs.c", line 114: warning #1045-D: extra braces are nonstandard
    "../../../siu/vct/codec/siuVctSupportedCodecs.c", line 114: error #145: a value of type "const char *" cannot be used to initialize an entity of type "tuint"
    "../../../siu/vct/codec/siuVctSupportedCodecs.c", line 114: error #68: expected a "}"
    6 errors detected in the compilation of "../../../siu/vct/codec/siuVctSupportedCodecs.c".

    >> Compilation failure
    make[2]: *** [siuVctSupportedCodecs.oc] Error 1
    make[2]: Leaving directory `/home/user/ti/mcsdk_video_2_2_0_45/dsp/siu/c64x/make'
    make[1]: *** [siu] Error 2
    make[1]: Leaving directory `/home/user/ti/mcsdk_video_2_2_0_45/dsp/mkrel/c64x'
    make: *** [sv04] Error 2

    How do I go about solving this?

    Thank you,

    Mrudula.

  • Mrudula, it seems something is not right on your modified siyVctSupportedCodecs.c

    I am attaching the file I used for your reference

    thank you,

    Paula

    siuVctSupportedCodecs.c
    /******************************************************************************
    * FILE PURPOSE: Install XDM compliant Encoder
    ******************************************************************************
    * FILE NAME:   siuVctSupportedCodecs.c
    *
    * DESCRIPTION: Install XDM compliant Encoder
    *
    * TABS: NONE
    *
    *
    * (C) Copyright 2011, Texas Instruments Incorporated
     * 
     *  Redistribution and use in source and binary forms, with or without 
     *  modification, are permitted provided that the following conditions 
     *  are met:
     *
     *    Redistributions of source code must retain the above copyright 
     *    notice, this list of conditions and the following disclaimer.
     *
     *    Redistributions in binary form must reproduce the above copyright
     *    notice, this list of conditions and the following disclaimer in the 
     *    documentation and/or other materials provided with the   
     *    distribution.
     *
     *    Neither the name of Texas Instruments Incorporated nor the names of
     *    its contributors may be used to endorse or promote products derived
     *    from this software without specific prior written permission.
     *
     *  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 
     *  "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 
     *  LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
     *  A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 
     *  OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
     *  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 
     *  LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
     *  DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
     *  THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 
     *  (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 
     *  OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
     *
    */
    #include <ti/mas/types/types.h>
    #include <stdio.h>
    #include <string.h>
    #include "siuVctCodecAPI.h"
    
    /*#include "vctMpeg4EncClient.h"*/
    /*#include "vctH264EncClient.h"*/
    /*#include "vctMpeg4DecClient.h"*/
    /*#include "vctH264HpDecClient.h"*/
    /*#include "vctMpeg2DecClient.h"*/
    /*#include "vctH264BpMpDecClient.h"*/
    /*#include "vctMctnfClient.h"*/
    /*#include "vctJ2KDecClient.h"*/
    /*#include "vctJ2kEncClient.h"*/
    /*#include "vctAvciuEncClient.h"*/
    #include "vctHevcEncClient.h"
    #include "vctHevcDecClient.h"
    #include "vctH264HpEncClient.h"
    /*#include "vctMpeg2EncClient.h"*/
    /*#include "vctJpegDecClient.h"*/
    /*#include "vctJpegEncClient.h"*/
    /*#include "vctAACEncClient.h"*/
    /*#include "vctMp3DecClient.h"*/
    /*#include "vctSorsparkDecClient.h"*/
    /*#include "vctDv100DecClient.h"*/
    /*#include "vctDv50DecClient.h"*/
    /*#include "vctDv25DecClient.h"*/
    /*#include "vctVc1DecClient.h"*/
    
    vidEncoderAPI_t supportedVidEncoders[] = {
      /*mpeg4EncAPI,*/
      /*h264EncAPI,*/
      /*j2kEncAPI,*/
      /*avciuEncAPI,*/
        h264hpEncAPI,
      /*mpeg2EncAPI,*/
        hevcEncAPI,
        /* INSTALL MORE CODECS HERE */
        vidEncNullAPI
    };
    
    vidDecoderAPI_t supportedVidDecoders[] = {
        /*mpeg4DecAPI,*/
        /*h264hpDecAPI,*/
        /*h264bpmpDecAPI,*/
        /*mpeg2DecAPI,*/
        /*j2kDecAPI,*/
        hevcDecAPI,
        /*sorsparkDecAPI,*/
        /*dv100DecAPI,*/
        /*dv50DecAPI,*/
        /*dv25DecAPI,*/
        /*vc1DecAPI,*/
        /* INSTALL MORE CODECS HERE */
        vidDecNullAPI
    };
    
    vidFilterAPI_t supportedVidFilters[] = {
        /*mctnfAPI,*/
        /* INSTALL MORE CODECS HERE */
        vidFilterNullAPI
    };
    
    imgEncoderAPI_t supportedImgEncoders[] = {
        /*jpegEncAPI,*/
        /* INSTALL MORE CODECS HERE */
        imgEncNullAPI
    };
    
    imgDecoderAPI_t supportedImgDecoders[] = {
        /*jpegDecAPI,*/
        /* INSTALL MORE CODECS HERE */
        imgDecNullAPI
    };
    
    audEncoderAPI_t supportedAudEncoders[] = {
        /*aacEncAPI,*/
        /* INSTALL MORE CODECS HERE */
        audEncNullAPI
    };
    
    audDecoderAPI_t supportedAudDecoders[] = {
        /*mp3DecAPI,*/
        /* INSTALL MORE CODECS HERE */
        audDecNullAPI
    };
    
    
    /* nothing past this point */
    
     

  • Hi Paula,
    I used your reference.

    Now it has another error:
    ient.c -eo.oc
    "../../../siu/vct/codec/decoder/jpeg/vctJpegDecClient.h", line 47: fatal error #5: could not open source file "ti/sdo/codecs/jpegdec/jpegdec_ti.h"
    1 fatal error detected in the compilation of "../../../siu/vct/codec/decoder/jpeg/vctJpegDecClient.c".
    Compilation terminated.

    Thanks,
    Mrudula.
  • Hi Mrudula, no completely sure why it is still looking for Jpeg decoder (This codec was commented in the scripts and .c file). Anycase, attached my ggvf0.becmd for your reference.

    Please do "make clean" "make sv04" after this changes.. it could be a sporious file which still has jpeg decoder around..

     

    ggvf0.becmd

  • Hi Paula,
    Thanks for the file.
    I'm able to get the HEVC encoded file.

    It works fine with multiple frames.
    Do I have to init_dsp every time I encode another YUV file?

    Thank you for the continuous support.
    Mrudula.
  • hi Mrudula, thanks for the confirmation =).. no you don't need to init_dsp but you need to use "reset_dsp.sh" everytime you want to re-run the demo.
    Paula