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.

TMS320C6748: General question about BOOT

Part Number: TMS320C6748
Other Parts Discussed in Thread: OMAPL138

Dear Forum

we are developing owr board with C6748.

Some doubt about boot process :

1)In the Dev Kit, but also in other schematic, is present a NAND Flash of 4Gb , 16 bit ..The MT29F4G16xxx

   It is connect with EMIF interface.This require a lot of pin.

  Question is: what is the avantage/disadvantage  to use a SPI NAND flash ,that require only some 3 pin ?

 There is some BOOT performance to consider ? 

2)When we will have owr board, the NAND will be connect, with no possibility to disconnect.

Question is: how do we update the BOOT contents ? There is a way via JTAG and owr Emulator

USB560 Blackhawk ?

3)And of course: how do we programm the first time the NAND with boot contents ? Do we need to

buy a flash programmer ?? What ?

Thanks for your time, and excuse for this maybe to simple questions?

Roberto  

  • Hi Roberto,

    I've notified the C67x team. Their feedback will be posted directly here.

    Best Regards,
    Yordan
  • Roberto,

    Generally speaking for boot related queries, you can refer to the Bootloader application notes:
    www.ti.com/.../spraat2f.pdf

    Note for EMIF NAND , NAND needs to connected to CE0 and if you are using SPI, you need to connect it in 4 pin mode (Refer Chapter 9)

    SPI NAND would give you faster speeds provided you program the PLL And SPI clocks. you can compare EMIF NAND vs SPI boot times herE:
    processors.wiki.ti.com/.../OMAP-L138_Boot_Benchmarks

    In general to program the NAND on the EVMs, we support CCS based flash writer and UART based flashing using Serial flash and boot utilities, you can modify the code based on the boot media :
    processors.wiki.ti.com/.../Serial_Boot_and_Flash_Loading_Utility_for_OMAP-L138

    Typically, we see a lot of customers use flash programmers for production to program the flash before putting it on the board but if you modify the utilities for your board, you may be able program the flash after creating the board.

    Regards,
    Rahul
  • Thanks for the link
    Just onother question ,so we can proceed in parallel with schematic:

    -For simplify the update of sw, we could boot by SD card...beacuse SD is removable. Could be possible
    start the boot from I2C ,load some setting, and then continue the boot via SD. In this way seem a little
    more secure that let all code in SD (secure from a reverse enginn point of view)?

    If yes, we can start the schematic before read a lot in details...maybe

    Thanks Again

    Roberto
  • Roberto,

    The following is the boot sequence on this device.

    * When you power on the boot pins are latched and the DSP starts executing primary ROM bootloader.
    * The ROM bootloader reads the boot pins, and determines the boot media initializes the SOC (clock, pinmux etc) and copies image into device memory
    * Once the image is copied, it passes control to the application by loading the program counter with the application entry point.

    This means that the primary bootloader will boot only from one media and then users are required to use secondary bootloader to use a different boot media, speed up the device or load larger application. We provide several secondary bootloaders for reference which you can use to implement this scheme in software but you need to talk to your software team whether this software complexity is acceptable for your product boot.

    Example secondary bootloaders:
    * UBL (small secondary bootloader to wake up secondary core )
    * SBL (Bare-metal code to boot )
    * Uboot (mostly used with OMAPL138 (ARM+DSP part) to load linux)

    When creating schematics, I highly recommend that you follow the guidelines provided here:
    processors.wiki.ti.com/.../OMAP-L138_Hardware_Design_Guide

    Hope this helps.

    Regards,
    Rahul