Remove dependency of DCT and Bootloader

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

cross mob
ErSt_4460741
Level 3
Level 3
First like received First like given

Dear Cypress support,

I am running WICED on a custom platform board and I noticed that the WICED application is dependent on a DCT.

In our project we don't want to use the WICED bootloader and also not the DCT. We have our own bootloader and our own standard mechanism of updating applications. We have our own linker scripts and WICED is already customized so it uses our own style of linking.


Currently we have our own bootloader, the wiced bootloader and the wiced application. I noticed that the wiced application creates a default DCT at 0x0800C000, equal to region FLASH_DCT1. Our memory map looks like this

MEMORY {

FLASH_DEVICE (rx) : o = 0x08000000 /* FLASH_ORIGIN */ , l = 1m /* FLASH_SIZE size of flash of device */

FLASH_BL (rx) : o = 0x08000000 /* FLASH_ORIGIN */ , l = 32K /* boot loader size, normal build */

FLASH_DCT1 (rx) : o = 0x08000000 + 32K /* FLASH_ORIGIN + OFFSET_BL */ , l = 16K /* DCT1 size */

FLASH_DCT2 (rx) : o = 0x08000000 + 32K + 16K /* FLASH_ORIGIN + OFFSET_BL + OFFSET_DCT1 */ , l = 16K /* DCT2 size */

FLASH_BL_WICED (rx) : o = 0x08000000 + 32K + 16K + 16K /* FLASH_ORIGIN + OFFSET_BL + OFFSET_DCTS1+2 */ , l = 16K /* WICED bootloader size, normal build */

FLASH_APL (rx) : o = 0x08000000 + 128K /* FLASH_ORIGIN + OFFSET_FW */ , l = 1m - 128K - 0 /* FLASH_SIZE - OFFSET_FW - NVM, normal build */

RAM_DEVICE (rwx) : o = 0x20000000 /* RAM_ORIGIN */ , l = 256K /* RAM_SIZE */

RAM_BL (rwx) : o = 0x20000000 + 256 /* RAM_ORIGIN + MAX_NO_INIT_FW*/ , l = 256K - 256 /* RAM_SIZE - MAX_NO_INIT_FW */

RAM_BL_WICED (rwx) : o = 0x20000000 /* RAM_ORIGIN */ , l = 256K /* 256 bytes reserved for no_init */

RAM_APL (rwx) : o = 0x20000000 /* RAM_ORIGIN */ , l = 256K /* 256 bytes reserved for no_init */

}

We don't use the DCT anywhere in our application.

My questions:

  • Is there a compile flag or define for our platform so a DCT is NOT build
  • Is there a compile flag to not build the bootloader?
  • How can we remove the dependency of the WICED bootloader
  • How can we remove the dependency of the DCT
    • If not possible, can you show how to put a DCT inside the wiced application. Perhaps statically allocated so at least the application starts?

Is it really necessary for our application to reserve 32K (two times 16K) of memory for around 405 bytes?

(sizeof(platform_dct_header_t) +  sizeof(platform_dct_version_t) + sizeof( zero_byte ))

0 Likes
1 Solution

I understand that your application is big. But unfortunately, there is no direct work around to remove the entire dependency on the DCT during the build procedure and the available option(under apps/wwd) which has a lesser memory footprint doesn't work readily out of the box with the chip under consideration and needs some modifications to be made to the SDK for the build to go through.

Please contact local sales with your query and they should be able to help you out.

For instructions on how to have a single binary image for download, please go through : WICED application framework and manufacturing image in CYW943907AEVAL1F

View solution in original post

0 Likes
12 Replies