why BF706 do not boot from SPI ???


I just wanted to know when does SPI boot fails...?

My BF706 boots properly for certain working firmware. But when I add certain extra code, generate LDR and load it into flash, then up on power ON the BF706 does NOT boot at all....?

What could be the reason.... One difference between the correct working LDR and the NON-Working LDR is size. The non-working LDR is of bigger size...

Just wanted to know in what conditions does a BF fail to boot from SPI flash...?

Thanks & Regards,

  • 0
    •  Analog Employees 
    on Apr 5, 2016 12:32 AM

    Hi Sri,

    There can two problems here and we need to isolate it:

    1. The application might be booting properly. But the extra code that you added might be failing to run when booted. This would happen, if you have added printf like code in extra code.

    2. There could be some problem in booting.

    To isolate this, you can add a asm("JUMP 0;"); instruction at the start of main application. Build the code, generate ldr and boot it. After booting, connect target in DND emulator mode. If you see core stuck at this JUMP.0 instruction in main, the application is booted properly. Then you need to concentrate on what code in extra software is failing to run.

    Let me know if you need more details.



  • 0
    •  Analog Employees 
    on Apr 6, 2016 10:21 AM

    Hi Sri,

    Thanks for testing this. It looks like, it indeed failed to boot. The address 0x40026DA is Boot ROM location.

    Do you enable instruction cache for your application? When you connect target in DND mode, please check following things:


    - Status registers of DMA16, 17, 18, 19, 20, 21. Let me know if you see any errors.



  • Thanks Prashanth.

    I shall try this and get back to you..


  • Hi Prashanth,

    Thanks for the reply.

    I tried DND mode. What I observed is that code is stuck at JUMP.S -0x02 (NOT JUMP.0) . I do not know what does that mean. When I observed the stack, core is stuck at the following instruction:

    <heaps_and_stack_in_L1_data_a_length + 0x3fff94a> () at 0x40026da.

    I have no clue what does that mean.... Any thing to you???

    Please let me know.

  • I have the same problem on BF707 (The specified item was not found. ), can you please help me?