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 slow is NON-FASTBOOT?

Anonymous
Anonymous

Hi,

 

I would like to ask a question on booting.

 

On page 22 of SPRAAG0D, Using the TMS320DM643x Bootloader, it is said that

 

 

 

Quantitatively, how slow it is for “generally very slow”? Even without PLL multiplier, the external crystal frequency is still as high as 27MHz, why this is slow? In exact number, how long would the “slow boot” usually require?

 

Or is it because the primary task during booting is to load program and data from external memory into RAM? External memory can be hundreds of times slower than DSP, so if the DSP’s EMIFA is running at 27MHz, what is the speed of its reading external memory’s data into RAM? I routed a board myself, and I haven’t found there is any clock signal connected to the NOR flash, so it should be that the NOR flash is completely driven by signals from EMIFA.

 

But does the “hundreds of times” slower quantitative relationship still hold when the DSP is running at a low speed? I have no idea, and it is probably. If a DSP running at full speed is 100x faster than an external device, then this DSP running at 1/12 of its full speed is only 8 times faster than the external device.

 

I am somehow confused here. What is the advantage of FASTBOOT? How much time can it save?

 

 

 

Zheng

  • There are two factors that play into how fast you read memory from an external device.  The EMIFA module has a clock input, which for this chip is pll1 / 6.  Then, all of the operations of the EMIFA are specified by registers in terms of EMIFA clock cycles.  So a read from flash would be timed by specifying the number of EMIFA clock cycles to delay for each timed portion of the read.  All of these registers default to the maximum number of clock delays at reset, so you are basically reading the device as slow as possible.  AIS provides a way to set both the EMIFA input clock (by setting up the PLLs) and the EMIFA registers (through SET commands) to their highest speeds BEFORE you start reading all the code in to execute your bootloader.  The actual time that can be saved depends on how fast your external memory device is capable of running and how much memory you are reading.  It has the potential to be quite significant, especially if you need your application up and running as fast as possible.  If you need a hard number, you will have to calculate how long it takes to read your memory at the default slow speed vs. the speed you set through AIS mode.

  • Anonymous
    0 Anonymous in reply to MattLipsey

    Matt,

    MattLipsey said:

    So a read from flash would be timed by specifying the number of EMIFA clock cycles to delay for each timed portion of the read.  All of these registers default to the maximum number of clock delays at reset, so you are basically reading the device as slow as possible.

    Thanks for the detailed explanation, I now understand it.

     

    On desktop PCs, even Windows 7 takes at least 30 seconds to boot. This is obviously due to the gigantic size of these modern OS systems packed with numerous drivers, services and applications, and their boot should be multi-stage boot.

     

    But how fast does it take for a DaVinci chip to boot? The program for these chips of course cannot match OS size, and probably several hundreds of KB at maximum. However, flash is quite slow (maybe thousands of times slower than CPU). So could the overall booting time be long? Is it on the order of microsecond or second?

     

     

     

     

    Zheng

  • Boot time is going to vary depending on the read speed of the device you are booting from and the size of the program you are loading.  So if your flash has 100 ns total time to read a byte, and you are reading 100 kB of program from your chip, well, you do the math.  It also depends on your definition of "booting time".  Does that include the time it takes for your power supplies to stabilize and the 200 msec you should be asserting reset?  The time it takes for your clock source and plls to stabilize?  The time it takes to run your initialization routines in code? 

  • Anonymous
    0 Anonymous in reply to MattLipsey

    Matt,

     

    I am reading Spansion flash documents now, and I now see there are difference access modes for NOR flash drive (standard, page and burst mode), with increasing speed and complexity.

     

    Well, for 100KB x 100ns = 10-2s = 10ms, its indeed quite fast, and is beyond my expectation :)

        

     

     

    Zheng

  • Zheng,

    We've done boot time optimization on different TI platforms and has achieved very good boot time numbers as good as 2.6 secs on Linux with applications. We could boot linux kernel with bootloader and mount the filesystem in about 700ms on DM36x. If you are interested please get in touch with us.

    -Renjith

    www.pathpartnertech.com