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 boot sample application

Other Parts Discussed in Thread: TMS320C6678

Hi All ,

I have been testing the PCIe boot sample application present in MCSDK 2.0.0.11(..tools/bootloader/examples/pcie). My test setup includes Linux PC and TMS320C6678 EVM. I was able to boot the hello world sample application from Shannon via PCIe link between the linux PC and the EVM.

I would now like to boot my custom SYS-BIOS application via PCIe. To test this i used the led play application mentioned in MCSDK user guide document (http://processors.wiki.ti.com/index.php?title=BIOS_MCSDK_2.0_User_Guide#Example_2_-_Building_and_running_your_first_tasking_application_using_MCSDK_and_BIOS). This application runs a background tak that will flash an on board LED. I followed the steps mentioned below to test the applciation to boot via PCIe.

1) Built the led_play application to generate the .out file

2) Converted the out file to .h file by executing helloworld_elf2HBin.bat . I had renamed the led_play.out file to pcieboot_helloworld_evm6678l.out to be able to be picked up by helloworld_elf2HBin.bat tool.

3) I than generated the .ko file on my linux PC using this .h file.

4) When insmod the .ko file i observe the following output message from the main function of LED play applciation

Start BIOS 6

5) The LEDs on the board do not toggle and there are no output messages from the ledPlayTask function

6)I am not sure why the task is not being executed and LEDS are not being toggled. The  Start BIOS 6 output message indicates that the control is being transferred  to the application. However the task seems to have not been launched.I have tested the led_play application to boot properly from NOR flash .

Can anyone advice if i have missed out any steps .Is my assumption that the PCIe boot sample application (present in MCSDK release )can be used to boot any custom application via PCIe wrong? Is there any other dependencies that i have missed ?

-Anil

  • Anil,

    Did you try the .out file through ccs and checked if it worked/

     

    Thanks,

    Arun.

  • Arun ,

    Thanks for the reply .Yes , I have tested the .out to work from NOR flash and by directly loading from CCS .

     I have made another observation. From looking at the PCIe boot applcaition i observed that the linux host loader loads only the .text, platform_lib, .const, .fardata, .switch, and .cinit sections (which belong to DDR3 memory region).What about the other sections of the applciation that belong to other regions like L2_SRAM and MSMC ? .The other sections like .bss etc which belong to L2_SRAM region are not loaded at all. Also the pcieBootCode.h does not contain these sections .i.e while generating this .h file, these sections are being ignored as indicated by the helloworld_image.rmd file.

    My initial suspect is that this would be preventing my custom application to execute properly as the sections required by the applciation may not be getting loaded. Any thoughts/comments  on this ?

    -Anil

     

     

     

     

  • All ,

    I have been able to resolve the issue and get my applciation to boot and execute properly over PCIe !. As pointed out in my previous post the linux host loader has been modified to copy all required sections(DDR2,L2SRAM,MSMCRAM) as specified by  pcieBootCode.h.

    -Anil

  • Hi Anil,

    Glad to hear that. Can you please share the new linux loader with us?

     

    thanks,

    arun.