OTA not working with SN8205

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

cross mob
Anonymous
Not applicable

Hello,

We are using SN8205 custom module with SST25VF080B Serial flash and Wiced 3.1.2.

When we are using snip.ota_fr-SN8205x JTAG=Olimex_ARM-USB-TINY-H download run

then we can download OTA app to our module.

After that over web page we are also able to download snip_scan-SN8205x.stripped.elf.

After downloading the binary web page displays rebooting the module but module side not starting any application.

Following steps we had seen and checked from other posts:

/* in ota_fr.mk */

DCT_IMAGE := $(OUTPUT_DIR)/DCT.stripped.elf           //It already had

/*in sn8205x.mk     */

/* it already ther in Makefile     */

APPS_LUT_HEADER_LOC := 0x0000

APPS_START_SECTOR := 1

in sflash_write.c

#define WRITE_CHUNK_SIZE        (4096)  /* Writing in chunks is only needed to prevent reset by watchdog */

also tested with

#define WRITE_CHUNK_SIZE        (8*1024)  /* Writing in chunks is only needed to prevent reset by watchdog */

#define SECTOR_SIZE             (4096)

If we try to use snip.ota_fr-SN8205x JTAG=Olimex_ARM-USB-TINY-H download download_apps run

then it gives following error

----------------------------------|---------|---------|

                                  |         |  Static |

              Module              |  Flash  |   RAM   |

----------------------------------+---------+---------|

App                               |   11427 |    1406 |

base64                            |     518 |       0 |

DHCP_Server                       |    1510 |     132 |

DNS                               |    1340 |      44 |

Host MCU-family library           |   11428 |    2720 |

HTTP_client                       |     195 |       0 |

Interrupt Vectors                 |     424 |       0 |

libc                              |   33035 |    3136 |

Networking                        |    4400 |   14358 |

NetX                              |   55570 |     536 |

NetX-Duo - Interfaces & Stacks    |       0 |      12 |

OTA_Server                        |    8235 |     676 |

Packet Buffers                    |       0 |   23142 |

platform                          |    1056 |     168 |

RAM Initialisation                |    2432 |       0 |

resources                         |      16 |       0 |

Ring_Buffer                       |      92 |       0 |

SPI_Flash_Library_SN8205x         |     636 |       0 |

Startup Stack & Link Script fill  |      30 |      22 |

Supplicant - BESL                 |   90140 |     516 |

ThreadX                           |    9176 |     396 |

Wi-Fi Firmware                    |  210412 |       0 |

WICED                             |    3800 |     844 |

WWD                               |   14684 |    1124 |

----------------------------------+---------+---------|

TOTAL (bytes)                     |  458124 |   49232 |

----------------------------------|---------|---------|

Downloading Bootloader ...

Building apps lookup table

No changes detected

Downloading DCT ...

No changes detected

Downloading Application ...

No changes detected

Downloading FR_APP (build/mesh-SN8205x/binary/ota_fr-SN8205x.stripped.elf) at sector 1...

tools/makefiles/wiced_apps.mk:89: recipe for target 'FR_APP_DOWNLOAD' failed

Makefile:185: recipe for target 'main_app' failed

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

make: *** [main_app] Error 2

Please help us on same.

Any help in this case highly appreciated.

Thanks & Regards,

Prashant

0 Likes
1 Solution
Anonymous
Not applicable

Hi, Prashant:

Can you please confirm if the connection between the SN8205 and the flash is correct? You can find the Murata SN8205 EVB schematic in the SN8205 Murata software package. It shows the connection to an external flash. The flash needs to be connected to the SPI1 of the built-in STM32F205 in the SN8205 module, not the SPI3 which is used as the host interface.

Thanks.

View solution in original post

0 Likes
19 Replies
MichaelF_56
Moderator
Moderator
Moderator
250 sign-ins 25 comments on blog 10 comments on blog

Moving to the Murata Forum and adding the Murata technical team:

keith​  randersonyfang@murata.comhhyogoghousedan

0 Likes
Anonymous
Not applicable

Hi, Prashant:

Can you please confirm if the connection between the SN8205 and the flash is correct? You can find the Murata SN8205 EVB schematic in the SN8205 Murata software package. It shows the connection to an external flash. The flash needs to be connected to the SPI1 of the built-in STM32F205 in the SN8205 module, not the SPI3 which is used as the host interface.

Thanks.

0 Likes
Anonymous
Not applicable

Hi,

Thanks for response.

Flash is working properly.

While loading program we are getting above error but even if we re-power the module then it will start the application which we have flashed and if we try to upgrade the scan application using OTA then scan application will upgraded but we are facing problem to load restore factory application at the time of  downloading firmware.

0 Likes
Anonymous
Not applicable

Hi, Preshant:

It does sound like the flash is working...If we are ruling out the flash issue, then you can probably focusing on the WICED OTA code now.

gangimwf_mmfae

0 Likes

Moving to Wi-Fi forum, adding Wi-Fi apps team: nsankarseyhanvik86abirjepatilrashijain

0 Likes
Anonymous
Not applicable

Any update in this case??

0 Likes
Anonymous
Not applicable

Any update on why snip.ota_fr-SN8205x JTAG=Olimex_ARM-USB-TINY-H download download_apps run throws errors.

We are stuck here because without this command we cannot store factory reset image.

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

If we are using snip.ota_fr-SN8205x JTAG=Olimex_ARM-USB-TINY-H download run ​this command then OTA workes properly without factory image but in some modules we are getting problem while writing binary to serial flash

Error setting application size!!

Writing chunk 2 of size 1024 from offset 1024

Here Writing chunk 1 of size 1024 from offset 1024 is missing when this types of problem occurs module will take more time to restart about 1.30 mins.

Please find attached log file.

We have 5 modules.

If we are using snip.ota_fr-SN8205x JTAG=Olimex_ARM-USB-TINY-H download run ​then 3 modules are working properly but 2 module got writing problem.

We are still not able to download Factory image.

Any help in this case would be great appreciated.

0 Likes
Anonymous
Not applicable

Could you please attach your openocd.log when you get the error?

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

hello nsankar

Thank you for your response.

Please find attached openocd_log.txt file.

0 Likes
Anonymous
Not applicable

Can you confirm that the serial flash is correctly connected to the module? From the log it is clear that openOCD is not able to write to the external Serial Flash

this is not the internal flash in the MCU

0 Likes
Anonymous
Not applicable

If i am using only command snip.ota_fr-SN8205x JTAG=Olimex_ARM-USB-TINY-H download run OTA feature is working properly.

I.e, Module runs in AP mode

     After connecting with Access Point i can access OTA webpage

     after selecting Binary binary get successfully transfer to module over the AIR.

     After rebooting module new binary got executed.

It means flash is working.Problem only occurs when i try to store factory reset binary using

snip.ota_fr-SN8205x JTAG=Olimex_ARM-USB-TINY-H download download_apps run

If serial flash is not connected properly then first case also not suppose to work.

0 Likes
Anonymous
Not applicable

That is not correct. You are misunderstanding

If you don't have the download_apps makefile parameter, the external SFLASH is not being used. Only the internal Flash is being used.

So in your case - Flash is not working - or at least not proven to be working.

Anonymous
Not applicable

Apology for misunderstanding as you said without SFLASH module is also working with OTA so SFLASH is not proven to be working.

We have checked SPI connection that connection is as per SN8200 EVM module(Not any sn8205 EVM so we have taken ref. from SN8200).

Below is connection with SFLASH.

Sflash_connection.png

We have changed SFLASH in our module.

EVM has  W25Q80BL serial flash which has 4K erase sector.

http://www.winbond.com/resource-files/da00-w25q80blf1.pdf

We are using M95M02-DR  serial flash which has 4K erase sector.

http://www.mouser.com/ds/2/268/S71296-45086.pdf

If hardware connection is true than how can we verify using software?

Please let me know if you require further information.

0 Likes
Anonymous
Not applicable

Any update on this issue??

0 Likes
Anonymous
Not applicable

Are you able to probe the SPI bus and make sure the device is trying to access the Flash?

0 Likes
Anonymous
Not applicable

Did this ever get resolved?

I seem to have had a similar issue:      recipe for target 'FR_APP_DOWNLOAD' failed

The problem goes away when I comment out     platform_gpio_init( &platform_gpio_pins[WICED_BUTTON1], INPUT_PULL_DOWN );

within     platform_init_external_devices() and move it into     platform_get_factory_reset_button_time()

This seems to have solved the problem for me.

I figured this out by observing that after the     download     I can see that code starts running in     platform_init_external_devices()     and is running at approximately the same time (or more likely, just before) the      Downloading FR_APP     occurs. I then removed code from     platform_init_external_devices()     until I observed that the problem was no longer occurring.

0 Likes
Anonymous
Not applicable

Can  you confirm if that GPIO is configured as INPUT_PULL_DOWN or INPUT_PULL_UP?

It should be configured as PULL_UP and this may be the reason why you are having issues

0 Likes
Anonymous
Not applicable

Just to clarify, my issue regarding this was resolved.

I simply had to move     platform_gpio_init( &platform_gpio_pins[WICED_BUTTON1], INPUT_PULL_DOWN );     out of platform_init_external_devices()

And in my case, PULL_DOWN was appropriate based on the HW config.