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.

sRIO

Other Parts Discussed in Thread: SYSBIOS

Hi,

I'm testing the " Boot of remote TCI6474 and doorbell Tx/Rx " example given by the c6x wiki (http://linux-c6x.org/wiki/index.php/Serial_RapidIO).

First we have to load the "SRIO_boot.out " program to the core 0 of the second DSP and then we have to send a doorbell from the linux core to the remote DSP which will boot with the SRIO_boot.out DSP/BIOS application. I don't understand how this will happen ? how the remote DSP will know the memory location of the "SRIO_boot.out" to boot it ? what the remote DSP do when it receives the doorbell from the linux core ?

  • Hi,

     

    In the testing " Boot of remote TCI6474 and doorbell Tx/Rx”, the SRIO_boot.out program being loaded to second DSP is to send a doorbell to the first DSP. We issue the command “rioconfig –w 1 /dev/rio1.1” in first DSP to wait a door bell, hence if SRIO_boot.out is successfully booted up, the first DSP should be able to receive door bell from SRIO_boot.out in second DSP, and then exit from ‘waiting’ status.

     

    Since DSP is in SRIO boot mode, the SRIO_boot.out will be booted up after we issue the command “rioconfig –d 0 /dev/rio1.1” to send door bell from first DSP.

     

    The SRIO_boot.out is loaded to L2 RAM of second DSP by loadremotecore application. The boot loader code inside DSP ROM to make “Core 1 and core 2 run from the base address of L2 RAM (i.e., 0x800000), if they are taken out of reset.” Please refer to the section5.4.4, SRIO Boot Mode in Bootloader User’s Guide for the TMS320C645x/C647x (Rev.F) http://focus.ti.com/docs/prod/folders/print/tms320c6474.html.

     

    Regards,

    Garrett

  • Hi Garrett, thanks for your reply.

    In fact I want to load 3 SysBios programs on 3 cores and boot them from a remote Linux core.

    I'm wondering if it's possible to load the 3 programs on DDR instead of L2 because I may have problems if the booted program size  exceeds the L2 memory size.

    Thanks,


  • Mwere9,

     

    The utility loadremotecore in 0.7.3 release supports loading program to L2 RAM. You can modify the loadremotecore to load your SYS/BIOS applications to DDR2. In SRIO boot mode, the boot loader makes cores run from its base of L2 RAM upon receiving doorbell interrupt, so you also need to add small extra code in L2 RAM that can jump to your application entry point in DDR2.

     

    Regards,

    Garrett