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.

C6727 : boot from prallel flash

Other Parts Discussed in Thread: SPRC203, TMS320C6727B

hello

has anyone succeeded  to boot from prallel flash using C6727 ?

I followed the instruction on the "using the tms320c672x bootloader" pdf (section 2.2),and I can't manage to boot from flash; 

I wrote simple code thats bilnks a led on my board and its running perfectly. 

I maped the main function to address 0x10000004(offset 4 at the internal RAM) the execution of the program starts from there according to the pdf (after copying the first 1K from the start of the flash) .

 i have burned the first byte on the flash to indicates 16 bit address access (as my flash works) and then i burend my simple program , my flash looked like this:

 start flash address -> 0x01010101

                                 my code

 

It looks like that on startup the dsp do copies the first 1kB from the flash but do not start the execution of the as the pdf asserts .

do you have any ideas?

(i wrote in the past boot for c6713 and it works a little bit different , the dsp generates a reset interrupt after copying the first 1k , according to the mentioned PDF the 6727 does not generates an interrupt but jumps to 0x10000004 and strts the execution from there)  

 

 

 

  • So did you write your own assembly boot loader?  Can you post it (at least the first bit)?  How did you go about getting your code to start at 0x10000004?
  • Hello,

    We will be using a similar scheme of parallel flash boot (with GPIO lines used for extending the address range of Flash).

    Let us know if anyone has been successful in doing so.

    Is there any sample code available for the same (apart from sprc203.zip)

    Thanks in advance.

    Regards,

    Ashwin.

     

  • Yes!  Others have absolutely been successful in extending the address lines by using GPIO.  Here was a good discussion we had earlier:

    https://community.ti.com/forums/t/78.aspx

    It started out discussing the flash programming, but later got into using the AIS boot mode.  I recommend using the AIS bootmode rather than trying to write your own secondary bootloader.

    Brad

  • Thanks for this info.

    We will be soon getting the 6727 Evaluation boards. Our scheme will be to Boot from Parallel Flash and then transfer the code to SDRAM. This is the basic requirement for the secondary boot-loader which we are planning to implement. Is there any other boot-scheme which can suffice this, like you suggested the use of AIS bootmode. Can you elaborate on it more.

    Regards,
    Ashwin

  • Thanks for this info.

    We will be soon getting the 6727 Evaluation boards. Our scheme will be to Boot from Parallel Flash and then transfer the code to SDRAM. This is the basic requirement for the secondary boot-loader which we are planning to implement. Is there any other boot-scheme which can suffice this, like you suggested the use of AIS bootmode. Can you elaborate on it more.

    Regards,
    Ashwin.

  • TI has already written a secondary bootloader for these devices.  That bootloader is permanently programmed into ROM on every c672x device TI ships.  So although you have the option of writing your own secondary bootloader, I recommend you use the bootloader that's already built into the device.

    The secondary bootloader will be expecting to see your code in a specific format in the flash.  We call this Application Image Script (AIS).  We also provide tools (e.g. genAIS.pl) to assist you in creating these scripts.  All of this is documented in the following app note:

    http://focus.ti.com/dsp/docs/dspsupporttechdocsc.tsp?sectionId=3&tabId=409&familyId=1404&abstractName=spraa69c

    Make sure to download the corresponding zip file on that page as well.

    Brad

  • In our applciation our executable code will be in FLASH which needs to be transfered to SDRAM at boot-up. So the program will run from SDRAM. Using the AIS will this be possible. We need to have Active PERL ver 5.8.4 for execution of AIS tools (e.g. genAIS.pl). Let us know if any version after 5.8.4 works fine. Its our assumption that PERL will be available for free on internet. Please confirm.

    The Evaluation board for TMS320C6727B uses a similar boot-up scheme. But i'm not sure if the code for secondary boot-loader code (to transfer application code from Flash to SDRAM) will be available with the evaluation board kit.

    Kindly let us know.

    Regards,

    Ashwin.

     

  • Ashwin said:
    In our applciation our executable code will be in FLASH which needs to be transfered to SDRAM at boot-up. So the program will run from SDRAM. Using the AIS will this be possible. We need to have Active PERL ver 5.8.4 for execution of AIS tools (e.g. genAIS.pl). Let us know if any version after 5.8.4 works fine. Its our assumption that PERL will be available for free on internet. Please confirm.


    I use ActivePERL 5.8.8, and I believe that this is the latest version that works with the genAIS script. Note that if your project places all of your code and data in SDRAM that the AIS conversion will create an AIS stream with the same allocation in memory. When the ROM Bootloader reads the AIS stream it will see the destination address in SDRAM and place your code/data there.

    Ashwin said:
    The Evaluation board for TMS320C6727B uses a similar boot-up scheme. But i'm not sure if the code for secondary boot-loader code (to transfer application code from Flash to SDRAM) will be available with the evaluation board kit.

    The ROM Bootloader is inside the DSP and not on any specific evaluation board. So you should be able to run the bootloader on the PADK.

  • Hello:

    Do I need to previously burn the Flash in order to boot the DSP in Boot Flash Mode? I mean, Is it inevitable to use a Flash programmer to put the first byte in the flash to indicate 16 bit address access?

    In case it is, what Flash programmer do you recommend me for a S29AL008D 48 TSOP Pins Flash Memory.

    Thank you very much in advance,

    regards

  • mi1980 said:
    Do I need to previously burn the Flash in order to boot the DSP in Boot Flash Mode? I mean, Is it inevitable to use a Flash programmer to put the first byte in the flash to indicate 16 bit address access?

    Yes, you will need to burn the flash yourself in order to boot from it. Unless the flash already contains some code from a previous build it will be filled with useless data. Any boot using this data would surely fail.

    mi1980 said:
    In case it is, what Flash programmer do you recommend me for a S29AL008D 48 TSOP Pins Flash Memory.
    The only flash writing software I know of is the software that comes with the Lyrtech C6727 PADK kit. This of course is designed to work specifically with the flash on that EVM and would not likely work with your memory without significant modification. I'm not sure if anyone else knows of some more readily available open-sourced software?

  • mi1980 said:

    In case it is, what Flash programmer do you recommend me for a S29AL008D 48 TSOP Pins Flash Memory.

    I recommend asking your flash vendor for a recommendation.  I don't know the answer and don't even know who to ask.

    Some customers (high volume generally) put the board on a "bed of nails" and it has the smarts to drive the pins to program the flash in-circuit.

  • OK Let's revive this. I'm looking at SPRAA69 doc and the examples. I noticed that gpioAsAddr.ais (or any flash boot samples) does not start with the magic number. Why is that? I can't find it called out in the doc. Thanks for any input.
  • I notice the same with tisecboot format.
    As per the document SPRAA69D, page 40, "The secondary bootloader is not converted to AIS".
    After copying the first 1kB, the PC is set to 0x10000004 which will load the secondary BL which will look for the AIS stream to load the application.
    That should answer why there is no magic number in flash boot AIS file.