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.

How to boot DM6437 through VLYNQ

Other Parts Discussed in Thread: CCSTUDIO

According the spraag0d guide,

VLYNQ Boot (BOOTMODE[3:0]=1010b, FASTBOOT = 0 or 1)

The ROM bootloader supports boot via VLYNQ with DSP as VLYNQ slave. The bootloader ensures that
VLYNQ is enabled and then polls for BOOTCMPLT.CMPLT flag in the BOOTCMPLT register to indicate
that the download of application by VLYNQ Host is complete. The bootloader will then branch to the start
address in DSPBOOTADDR as written by the VLYNQ Host. The boot process for VLYNQ then is as
follows:
1. If FASTBOOT is enabled bootloader configures PLL according using appropriate PLL multiplier.
2. Bootloader makes sure VLYNQ is enabled.
3. Bootloader executes empty loop polling for BOOTCMPLT.CMPLT flag.
4. VLYNQ Host downloads application to DSP.
5. VLYNQ Host writes application start address to DSPBOOTADDR register.
6. VLYNQ Host writes 1 to BOOTMCPLT.CMPLT register flag.
7. Bootloader detects BOOTCMPLT.CMPLT and branches to start address in DSPBOOTADDR.

 

 

So what I should have is the boot application code. Now the DM6437 was connected to DM6446 through VLYNQ.

How to get the VLYNQ booting application code? What is the format of the VLYNQ booting application code(According the spraag0d guide, the format is not AIS for VLYNQ boot code)?

Is the VLYNQ booting application code same with HPI booting application code?

  • The VLYNQ master would directly load the code into the memory of the VLYNQ slave.  It is very similar to the HPI boot mode.

  • Thanks for your reply

    Do you have the HPI boot code? I have to write the VLYNQ boot code, but I haven't the HPI boot code to imitate.

    If you have the HPI boot reference guide, I am expecting to have it too.

    Many thanks to you.

  • I'm not sure what code you're talking about.  If you want to use the VLYNQ boot mode then you would need to write a bootloader that runs on the VLYNQ master to write the code to the appropriate memory addresses on the slave that you're trying to boot.

  • To elaborate on Brad's response, there is typically no example boot code for master boots like HPI or VLYNQ as the boot code for the master tends to be very system specific (the one exception are the recent serial boot loader applications), as it is often mastered by another embedded processor that can be running an arbitrary software stack and have specific needs. So as Brad says, you must write code for your master processor to interpret the DM6437 binary and load it into the appropriate locations in the DM6437 over VLYNQ and than release the DM6437 from reset with the BOOTCMPLD.CMPLT register, it may also need to configure the DDR2 interface to allow the code to be loaded.

  • Through your explanation and the document, I try to write a bootloader wthich configer the clock, MAC and DDR2 of DM6437. Then compile them and send them through the VLYNQ of the host processor DM6446. But now I only have the document  which describe the register, I am not sure what I configure. SoI want to have a bootloader source code to imitate. So the SPI bootloader and the Nor bootloader source code are both OK. I can't find these bootloader source code. If you and  Brad have them, would you please send them (including the project file PJT) to me? I am so appreciating you.

  • In the case of a typical memory AIS boot the configuration is handled by the ROM boot loader based on AIS entries which tell it how to configure things, unfortunately the source for the boot loader itself is not available. If you want to see how the boot loader gets configured in the typical DM6437 EVM boot case take a look at C:\dvsdk_1_01_00_15\flashburn_files\hexAIS\DM643x.ini, this lists off the values that the ROM boot loader will use to configure the device.

    Another and perhaps more appropriate place to look for what needs to be done at initialization is the GEL file, if you have installed the Spectrum Digital package you should have a folder called C:\CCStudio_v3.3\boards\evmdm6437_v2\gel with a evmdm6437.gel file in it. This file contains the gel code that is used to initialize the board when it is connected to CCS, though this is not necessarily real C code you could use it as an outline for what your master processor would have to do to get the DM6437 in fully functional state, the same state it is in after conecting CCS.