- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I am using WICED 6.2.1. And I want to configure WICED SDK without using external flash.
Of course from WICED 5.2 it needs external flash like shown below,
---- from WICED 6.0.0 release note -----
WICED 5.2 or later releases:
a. WLAN firmware and CLM blobs are separated.
b. By default, WLAN firmware and CLM blobs are placed in WICEDFS on the external flash. Specify “download_apps” in the build target for 43364, 43438 and 4343W based platforms to place WLAN firmware and CLM blobs in WICEDFS on external flash as in the example below:
make snip.scan-BCM943364WCD1 download download_apps run
--------
But there is also written,
----
f. Optionally, CLM blob can be made a direct resource while leaving WLAN firmware in WICEDFS. This scenario also requires specifying “download_apps” flag.
g. If both WLAN firmware and CLM blob are made direct resources, there is no need to specify “download_apps” flag.
-----
Currently I cannot configure without external flash.
Can someone teach me how to put everything on internal flash without external flash ?
Thank you.
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Can you go into debug mode and check what is the assert that you have been hitting inside wiced_wlan_connectivity_init()?
This is the only change required in platform.mk file to put the firmware and blob in internal flash. All the other sections are already stored in internal flash, so there should not be any reason to use the external flash.
You can try one more thing:
In the platform.h, remove or comment out
/* SPI flash is present */
#define WICED_PLATFORM_INCLUDES_SPI_FLASH
#define WICED_SPI_FLASH_CS ( WICED_GPIO_5 )
and to be doubly sure, you can remove the spi flash initialization in platform.c
/* SPI flash. Exposed to the applications through include/wiced_platform.h */
#if defined ( WICED_PLATFORM_INCLUDES_SPI_FLASH )
const wiced_spi_device_t wiced_spi_flash =
{
.port = WICED_SPI_1,
.chip_select = WICED_SPI_FLASH_CS,
.speed = 25000000,
.mode = (SPI_CLOCK_RISING_EDGE | SPI_CLOCK_IDLE_HIGH | SPI_USE_DMA | SPI_MSB_FIRST),
.bits = 8
};
#endif
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
In your platform.mk file, you can specify RESOURCES_LOCATION ?= RESOURCES_IN_DIRECT_RESOURCES to download the firmware and blob into main application but this might cause the internal flash to overflow.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi! RaktimR_11
Thanks for your suggestion.
Also I checked the size of binary. Used last address was 0x08020888+36 .
It shouldnt make over flow.
The last block was read from C:\Users\xxx\Documents\WICED-Studio-6.2\43xxx_Wi-Fi\build\yyy.zzz\binary\yyy_zzz_map.csv
" WICED sleep_event_handlers.wiced_sleep_call_event_handlers 36 0x08020888 "You told "but this might cause the internal flash to overflow." must not happen in this case.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I must explain the detail.
The problem is,
Without external flash. It doesnt work.
After boot process it stopped at ,,, it seems to stopped at "wiced_wlan_connectivity_init( )"
Maybe waiting for spi-flash response.
If all the software and blob was on internal flash. It doesnt need ex.flash access.
But still have access. Why ? Where do I need to change the parameter of makefile or somewhere ?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Can you go into debug mode and check what is the assert that you have been hitting inside wiced_wlan_connectivity_init()?
This is the only change required in platform.mk file to put the firmware and blob in internal flash. All the other sections are already stored in internal flash, so there should not be any reason to use the external flash.
You can try one more thing:
In the platform.h, remove or comment out
/* SPI flash is present */
#define WICED_PLATFORM_INCLUDES_SPI_FLASH
#define WICED_SPI_FLASH_CS ( WICED_GPIO_5 )
and to be doubly sure, you can remove the spi flash initialization in platform.c
/* SPI flash. Exposed to the applications through include/wiced_platform.h */
#if defined ( WICED_PLATFORM_INCLUDES_SPI_FLASH )
const wiced_spi_device_t wiced_spi_flash =
{
.port = WICED_SPI_1,
.chip_select = WICED_SPI_FLASH_CS,
.speed = 25000000,
.mode = (SPI_CLOCK_RISING_EDGE | SPI_CLOCK_IDLE_HIGH | SPI_USE_DMA | SPI_MSB_FIRST),
.bits = 8
};
#endif