'download_bootloader' failed while downloading image

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
lock attach
Attachments are accessible only for community members.
SuLe_1710756
Level 5
Level 5
10 likes received First like received First like given

Hi gangi,

Our customer has met 'bootloader' failed issue while downloading image into BCM94390WCD2.

Maybe, customer had met this issue while trying to test OTA function.

I have no idea to solve this issue. Could you let me know what I should do?

Test environments are as follows,

Module and EVB version : BCM94390WCD2 / BCM9WCD3EVAL1

SDK : SDK 3.1.1

application : snip.scan-BCM94390WCD2 download run

Compile and Download error log :

**** Build of configuration Default for project Wiced-SDK ****

C:\WICED-SDK-3.1.1\Wiced-SDK\make.exe snip.scan-BCM94390WCD2 download run

Making .gdbinit

Building Bootloader

Building Serial Flash Loader App

Finished Building Bootloader

................

Creating Filesystem

Downloading Bootloader ...

Building apps lookup table

platforms/BCM94390WCD2/BCM94390WCD2_targets.mk:111: recipe for target 'download_bootloader' failed

make.exe[1]: *** [download_bootloader] Error 1

make.exe[1]: *** Waiting for unfinished jobs....

make: *** [main_app] Error 2

Makefile:185: recipe for target 'main_app' failed

Thanks,

Sung-Mok Lee

0 Likes
11 Replies
Anonymous
Not applicable

Hi,

Please follow these steps and see if it fixes your problem

1- Add an extra WIPE=1 variable in your command line. So if your make target is "snip.ota_fr-BCM94390WCD2 download donwload_apps" it should be "snip.ota_fr-BCM94390WCD2 download donwload_apps WIPE=1".  This will try to erase the full flash before programming

2- Using a pointed object, press the small brown button on the BCM94390WCD2 board. This is a chip select for the serial flash.

3- While pressing the button, run your make target. You should see a message saying "Erasing Full Flash". Once you see this message keep pressing the button for 5 more seconds, then release the button.

4- If every thing goes well, you should see donwloadind DCT and bootloader and it hopefully it passes.

Hi bassem_dawood,

First of all, I would like to say thank you for your reply.

BTW, I did as you said but another error occurred as below.

Flash memory seemed to be crashed. Do you have any idea?

--------------------------------------------------------------------------------------------------

Creating Filesystem

Erasing all flash...

platforms/BCM94390WCD2/BCM94390WCD2_targets.mk:167: recipe for target 'wipe_all' failed

make.exe[1]: *** [wipe_all] Error 1

make.exe[1]: *** Waiting for unfinished jobs....

make: *** [main_app] Error 2

Makefile:185: recipe for target 'main_app' failed

Thanks,

Sung-Mok Lee

0 Likes
Anonymous
Not applicable

Hi,

sorry for not answering fast on this. I'll have to check if the WIPE flag is working in 3.1.2.  In the mean time, can you try the same process with 3.1.1?

Regards,

Bassem

0 Likes

Hi Bassem,

I had already checked it with SDK 3.1.1 and SDK 3.1.2, the tesults were same.

Thanks,

Sung-Mok Lee

0 Likes
Anonymous
Not applicable

Sorry, may be I wasn't very clear, I meant can you try doing the WIPE process with version 3.1.1.

Regards,

Bassem

0 Likes

Hi Bassem,

I tried to do the WIPE process with 3.1.1 and 3.1.2 both, but the results are same.

The error message previous post was the results using SDK 3.1.1.

Thanks

Sung-Mok Lee

0 Likes
Anonymous
Not applicable

Dear

I had same problem with 4390 evb.  It was Ok first bit as time goes by I had same problem with you

I spent time a lot for this issue. But no answer.

There may seem to several version 4390EVB

So find another version of ebv.

It can save your time.  I think that is not SDK and 4390 issue

Find another EVB (other version) and save time

Tks

0 Likes
lock attach
Attachments are accessible only for community members.
Anonymous
Not applicable

Hi,

The error your seeing is due to a corruption in the serial flash, which makes the serial flash writer (issued by openOCD) unable to write anything. What we are trying to do now is basically erase your flash totally. I have tried the WIPE=1 on WICED 3.1.2 and it seems working fine. However i'm repeating the steps here with minor change from above (please use this one) :

1- Add an extra WIPE=1 variable in your command line. So if your make target is "snip.ota_fr-BCM94390WCD2 download donwload_apps" it should be "snip.ota_fr-BCM94390WCD2 download donwload_apps WIPE=1".  This will try to erase the full flash before programming

2- Using a pointed object, press the small brown button on the BCM94390WCD2 board. This is a chip select for the serial flash. Please note, This is a button on the daughter board that carries the WLAN chip (the smale green daughter board ) and not on the eval board itself (the bigger black board).

3- While pressing the button, run your make target. You should see a message saying "Erasing Full Flash".

4- KEEP PRESSING THE BUTTON UNTIL YOU SEE MESSAGE "Downloading Bootloader...", Keep pressing for 2 extra seconds, then release the button.

5- If every thing goes well, you should see donwloadind DCT and bootloader and it hopefully it passes.

============

6- If all of this didn't work, I'm attaching a modified sflash_write.c file, that you can use to overwrite the file in

apps/waf/sflash_write/sflash_write.c. This file will by pass serial flash initializatoin. after over writing the file repeat the above steps again. Use it only to unlock your board and then retrieve the old file.

Hi bassem_dawood,

I resolved this this("download_bootloader" failed error like below) by using steps as follows,

Step 1. Disconnect usb cable from PC

Step 2. Press and hold "SW2" button

            ; Absolutely, don't release until complete downloading and running(Step 5)

Step 3. Connect usb cable to PC

            ; Keep holding "SW2" button

Step 4. Compile and download user application by using ("snip.scan-BCM94390WCD2 download run")

            ; I did this command without using "WIPE=1" option.

Step 5. Wait until showing "Resetting target" and "Target running" and "Build complete" message.

Step 6. Release "SW2" button when finish Step 5.

            ; It will work well.

----------------------------------------------------------------------------------------------------------------------------------------------------------

platforms/BCM94390WCD2/BCM94390WCD2_targets.mk:111: recipe for target 'download_bootloader' failed

make.exe[1]: *** [download_bootloader] Error 1

make.exe[1]: *** Waiting for unfinished jobs....

make: *** [main_app] Error 2

Makefile:185: recipe for target 'main_app' failed

Thanks,

Sung-Mok Lee

Anonymous
Not applicable

Hi bassem_dawood,

We have same issue and we have made our module but leave no De-brick button on schematics.

So we have no access of the De-brick Chip Select pin.

Is is possible to write something like GPIO control code in sflash_write.c to control the Chip Select pin in software in WIPE process ?

Thank,

0 Likes
Anonymous
Not applicable

Hi,

From your attached openocd_log.txt:

Info : AP INIT COMPLETE

Warn : Only resetting the Cortex-M core, use a reset-init event handler to reset any peripherals or configure hardware srst support.

Error: timed out while waiting for target halted

TARGET: BCM439x.cpu - Not halted

in procedure 'transport'

Runtime Error: apps/waf/sflash_write/sflash_write.tcl:125:

in procedure 'sflash_write_file'

in procedure 'sflash_init' called at file "apps/waf/sflash_write/sflash_write.tcl", line 224

in procedure 'init' called at file "apps/waf/sflash_write/sflash_write.tcl", line 125

I suggest to address the BCM439x.cpu not halted issue before review WIPE fix.

0 Likes