Strictly necessary cookies are on by default and cannot be turned off. Functional, Performance and Tracking/targeting/sharing cookies can be turned on below based on your preferences (this banner will remain available for you to accept cookies). You may change your cookie settings by deleting cookies from your browser. Then this banner will appear again. You can learn more details about cookies HERE.
Strictly necessary (always on)
Functional, Performance and Tracking/targeting/sharing (default off)
We can specify the storage type in the platform makefile directly as shown above, or specify the storage type by added the parameter in the make target as below:
For example, in application “ota_secure_firmware_upgrade”, its default make target is “ota_secure_firmware_upgrade-BCM920737TAG_Q32 download”. If want to change the storage type to SFLASH, we just need to add the parameter “PLATFORM_NV=SFLASH” behind “ota_secure_firmware_upgrade-BCM920737TAG_Q32”. It is like
There should be at least two sections (SS and DS) in an application image. Both of them should be flashed into storage. We need specify the location which these two sections should be flashed into. And we also need to configure a VS section to store user data.
The file to configure the section layout is defined in the variable PLATFORM_BOOTP in the platform’s makefile as shown in Figure 1.
We call this file as BTP file. Its path is “WICED-Smart-SDK\Platforms\[PLATFORM]\[PLATFORM_BOOTP]”.
In the BTP file, user can configure the following parameters based on their requirement:
DS location, use to indicate which location the DS should be downloaded into storage by UART. In other word, it is the start address of a DS in storage.
SS location, use to indicate which location the SS should be downloaded into storage by UART. In other word, it is the start address of a SS in storage.
After built an application, it generates an Intel HEX file used to indicate what data is flashed and how to flash the data into storage by UART. For Intel HEX format, you can easy to learn it in internet (ex. http://en.wikipedia.org/wiki/Intel_HEX ).
In the HEX file as shown in Figure 4, we can see application image contains two sections:
The start address of the first HEX section is 0x0000, same as the parameter “DLConfigSSLocation” configured in BTP file, as shown in Figure 2. It means that this section will be flashed into SS sections by UART.
The start address of the second HEX section is 0x0580, same as the parameter “ConfigDSLocation” configured in BTP file, as shown in Figure 2. It means that this section will be flashed into DS section by UART.
I understood external memory size is required 32KB for user application, it is also required additional 32KB for f/w upgrade. Moreover, if 128KB EEPROM is used, 64KB upper address can be accessed by using second slave address.
However, I am somewhat confused in using serial flash of 1Mbit(128KB) or 4Mbis(512KB) size.
If 128KB or 512KB serial flash is used and the serial flash supports for 24 bit addressing, user is possible to access whole space from 64KB upper of 128KB or 512KB so as to store user data? If to do so, serial driver in SDK should be modified? Otherwise, it can be used without modification of serial driver?