SUOTA Error "INVALID PRODUCT HEADER" for custom board DA14580

⚠️
Hi there.. thanks for coming to the forums. Exciting news! we’re now in the process of moving to our new forum platform that will offer better functionality and is contained within the main Dialog website. All posts and accounts have been migrated. We’re now accepting traffic on the new forum only - please POST any new threads at//www.xmece.com/support. We’ll be fixing bugs / optimising the searching and tagging over the coming days.
4 posts / 0 new
Last post
shrikrishna.katore
Offline
Last seen:3 years 9 months ago
加入:2017-06-06 07:49
SUOTA Error "INVALID PRODUCT HEADER" for custom board DA14580

Hi Dialog,

I have custom DA14580 Board .
I am trying to Update my Firmware(Image1) to it using SUOTA IOS APP for first time i am getting success when i tried to update same image i am getting "SAME IMAGE ERROR" as expected.
When i updated NewFirmware (Image2) its shows success ,But when i trying to update older Firmware version(Image1) i am getting "INVALID PRODUCT HEADER".
After that I am unable to update the firmware neither older nor newer
What could be the issue ?

Thanks,
Shrikrishna.

Keywords:
Device:
MT_dialog
Offline
Last seen:2 months 6 days ago
工作人员
加入:2015-06-08 11:34
Hi shrikrishna.katore,

Hi shrikrishna.katore,

If you get this kind of code that means that the product header is corrupted, the SUOTA expects to read from the product header the location of the images, before doing that it checks the product header signature, which is 0x70 and 0x52 from position 0x1F000, if the product header doesn't match the signature bytes i ve mentioned then the application returns the INVALID PRODUCT HEADER message. So you can check the flash at that specific location and check if the data matches the data of the product header signature.

Thanks MT_dialog

mliu
Offline
Last seen:3 years 1 month ago
加入:2018-01-15十七36
Hi,

Hi,

I got the same error.
I am using a DA14583 daughter card with a DA14580 mother board.
的fw_multi_part_spi.bin was burned into the in-chip flash.
The daughter board is advertising. The SUOTA on an iPhone is connected to the daughter card.
When I sent the fw_image_2.img to the daughter card, I got the "Error: Invalid product header" message.

I used the smart snippets tool to check the product header and the fw_image_2.img.
Both headers are right. In the bootloader.h file in the secondary_bootloader project,
the product header signature is defined as 7052 and the image header is defined as 7051.

What is the problem?

Thanks.

MT_dialog
Offline
Last seen:2 months 6 days ago
工作人员
加入:2015-06-08 11:34
Hi milu,

Hi milu,

Well in that case perhaps the data returned from the flash are not proper (are you using a custom fw or one of the BLE examples ?), what you can do to verify that is to prepare a multipart image with same images and run the same fw via keil, then place a breakpoint in the app_spotar.c file in the app_read_image_headers() function in lines about 899 , so while the device is running and is connected to the SUOTA phone application hit the update button, so fw should hit the breakpoint and you can check what is the value that the device reads when accessing the flash for getting product header data, if the data are improper the fw should return SPOTAR_INVAL_PRODUCT_HDR.

Thanks MT_dialog