Hi,
I have followed the below procedure to configure OTAP Client software in IAR Workbench
When i modify the otap_client_att source code to use Internal Flash memory as given in the above link, I'm getting following errors,
Error[Li005]: no definition for "INT_STORAGE_START"
Error[Li005]: no definition for "INT_STORAGE_SECTOR_SIZE"
Error[Li005]: no definition for "INT_STORAGE_SIZE"
Note : Configuring External memory works fine.
Kindly check and let me know how to resolve this issue.
Thanks in advance
Solved! Go to Solution.
Hi @Vishva,
I found that in the post there is a typo. I did a mistake writing the name of the linker flag that needs to be set to 1 for internal storage.
The proper name is "gUseInternalStorageLink_d=1". See the picture below:
Could you please try to build the OTAP Client again with this linker flag?
Best regards.
Edgar.
Hi @Vishva,
I found that in the post there is a typo. I did a mistake writing the name of the linker flag that needs to be set to 1 for internal storage.
The proper name is "gUseInternalStorageLink_d=1". See the picture below:
Could you please try to build the OTAP Client again with this linker flag?
Best regards.
Edgar.
Hello @Vishva,
Seems the predefine for the storage has been update, please change the previous one for this:
gUseInternalStorageLink_d = 1;
BR,
Alexis Andalon
Hi Alexis,
I tried changing the settings as you suggested. Refer to the LinkerSettings.png
Following change is done in app_preinclude.h
#define gEepromType_d gEepromDevice_InternalFlash_c
--------------------------------------
Still i got the following errors,
Error[Li005]: no definition for "INT_STORAGE_START" [referenced from D:\xxxx\boards\frdmkw38\wireless_examples\bluetooth\w_uart\freertos\iar\debug\obj\framework\OtaSupport\OtaSupport.o]
Error[Li005]: no definition for "INT_STORAGE_SECTOR_SIZE" [referenced from D:\xxxx\boards\frdmkw38\wireless_examples\bluetooth\w_uart\freertos\iar\debug\obj\framework\Flash\External\source\Eeprom_InternalFlash.o]
Error[Li005]: no definition for "INT_STORAGE_SIZE" [referenced from D:\xxxx\boards\frdmkw38\wireless_examples\bluetooth\w_uart\freertos\iar\debug\obj\framework\OtaSupport\OtaSupport.o]
---------------------------------------
I have tried to move the variables to OtaSupport.c file which resolved the issues(COMPILATION SUCCESSFUL) but follwoing warnings are there,
Warning[Pe1682]: array variable "INT_STORAGE_SIZE" assumed to have one element D:\xxxx\middleware\wireless\framework\Flash\External\interface\Eeprom.h 88
Warning[Pe1682]: array variable "INT_STORAGE_START" assumed to have one element D:\xxxx\middleware\wireless\framework\Flash\External\interface\Eeprom.h 89
Warning[Pe1682]: array variable "INT_STORAGE_SECTOR_SIZE" assumed to have one element D:\xxxx\middleware\wireless\framework\Flash\External\interface\Eeprom.h 90
Warning[Pe1682]: array variable "Image$$INT_STORAGE$$Base" assumed to have one element D:\xxxx\boards\frdmkw38\wireless_examples\bluetooth\w_uart\freertos\iar\debug\BrowseInfo\framework\OtaSupport\source\OtaSupport.c 29
Warning[Pe1682]: array variable "Image$$INT_STORAGE$$Length" assumed to have one element D:\xxxx\boards\frdmkw38\wireless_examples\bluetooth\w_uart\freertos\iar\debug\BrowseInfo\framework\OtaSupport\source\OtaSupport.c 30
-------------------------------------------
But after flashing the code, unable to do OTA update. Firmware update hangs in 0-1%.
Refer to FirmwareUpdateScreen.png
Please check and let me know.
Thanks in advance.
Hello @Vishva,
The latest SDK right now is the 2.6.14, could you try updating to the latest one?
BR,
Alexis Andalon
In Continuation with the previous query,
As we know OTA Image file can be stored in FlexNVM (Internal) or External flash available on FRDMKW38.
But why to write OTA image file, internal storage (P-flash) from 0x3e800 - 0x3d000 is selected in the example given?
Please refer to the attachment.
Please check and let me know how to use Internal flash (FlexNVM) to store OTA Image files.
Thanks