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.

Booting multiple DSPs from NAND on 66AK2H12

Other Parts Discussed in Thread: 66AK2H12

Hello.

 

I have questions on booting multiple DSPs from NAND on 66AK2H12.

 

1. Is it possible to create one boot image file by combining .out files of multiple DSPs?

2. If 1 is impossible, how can I write each boot image to NAND.

 

 Any help would be great.

Thank you.

  • I've forwarded this to the software experts. Their feedback should be posted here.

    BR
    Tsvetolin Shulev
  • Hi HS,

    There isn't a good way to combine multiple .out files, but there are other options available.

    The bootloader is going to transfer in a single image, but that image can contain the code and data sections of the other cores, and it would be the responsibility of the master core to point each secondary core to their entry points.

    There are several ways to go about this.

    You can convert your secondary boot images into constant C arrays and copy them into your main boot image, and link/locate them during the master image build to areas for your secondary cores. Then your master core can point the secondary cores to this data through the magic address.

    Or, you could write your secondary core sections in the primary image build, and link/locate the sections as necessary.

    Another option would be to store all images for all cores on the NAND, but then it becomes the responsibility of the primary image to have the driver support to read the secondary images from NAND and transfer them into memory.

    Regards,
    Mike
  • Hi Mike,

    Thank you for your reply.
    But I'd like to boot DSPs without modifying code of core 0.

    How about the MAD utility? I found out that the MAD util can deploy multiple application images on multiple cores.
    However, according to Processor_SDK_RTOS_Release_Notes, the MAD util is not supported for the K2H EVM.
    So is it impossible to use the MAD util on 66AK2H12?
    Is there any way to use the MAD util?
  • Hi HS,

    Can you point me to the MAD utility you are referring to?
  • Hi Michael,

    1. Could you tell me whether I can use MAD utilities or not?

    2. And I've faced the basic problem with single DSP image booting.
    I converted dsp0.out image to dsp.dat file and flashed dsp.dat into NAND. But after power cycle, the device doesn't work.
    Of course I check dsp0.out works well in CCS6.
    Please tell me where I mistook in the sequence below.

    a. hex6x dsp_boot.rmd

    dsp_boot.rmd:
    dsp0.out
    -a
    -boot
    -e _c_int00
    -order L
    -map dsp.map
    ROMS
    {
    ROM1: org = 0x80000000, length = 0x20000, memwidth = 32, romwidth = 32
    files = { dsp.btbl }
    }

    b. b2ccs dsp.btbl dsp.btbl.ccs
    c. copy dsp.btbl.ccs dsp.dat
    d. ccs2bin dsp.btbl.ccs dsp.bin
    f. modify nand_writer_input.txt

    nand_writer_input.txt:
    file_name = dsp.bin
    start_addr = 0
    rbl_ecc = 0
    skip_bad = 0

    g. connect to DSP core 0 in CCS6 and load nandwriter_evmk2h.out.
    h. in a memory window load the dsp.dat to 0x80000000 and run.

    [C66xx_0] NAND Writer Utility Version 01.00.00.05

    Flashing block 0 (0 bytes of 97688)
    Reading and verifying block 0 (0 bytes of 97688)
    NAND programming completed successfully

    i. change DIP switch to [on off off off]
    j. reboot
  • After several trials, I resolved issue 2.

    I modified dsp_boot.rmd and nand_writer_input.txt as below.

    dsp_boot.rmd:

    dsp0.out
    -a
    -boot
    -e _c_int00
    -order L
    -map dsp.map
    ROMS
    {
    ROM1: org = 0x80000000, length = 0x20000, memwidth = 8, romwidth = 8
    files = { dsp.btbl }
    }

    nand_writer_input.txt:

    file_name = dsp.bin
    start_addr = 0
    rbl_ecc = 1
    skip_bad = 1

  • The MAD utilities are not supported on Keystone.

    Regards,

    Mike