How to get the whole Firmware of BCM94343WWCD1 from external flash on EVB?

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

cross mob
JaLi_1762176
Level 1
Level 1
First question asked First reply posted 5 likes given

Hi,

I'm working on the BCM4343 for a while and focus on the testing.

I would like to pre-burned the whole firmware into the external flash on the EVB instead of burning the 1.bootloader 2.DCT 3.Application into the flash of every module.

This would save a lot time on manufacturing.

Is it possible to do this by modifying the SDK?

Thanks a lot for your seeing and reply.

0 Likes
1 Solution

Referring to STM app notes AN2606, AN4286, and others, the STM32 ROM bootloader provides an interface for a user to load a image to the internal flash via USART/CAN/USB/SPI. It does not have the capability to execute code that is not in the internal flash

View solution in original post

5 Replies
RaktimR_11
Moderator
Moderator
Moderator
500 replies posted 250 replies posted 100 replies posted

I am not completely sure about your question; nevertheless I will try to list the possible things achievable through SDK.

  • If you want to combine all the bins, you can merge all the bin files with objcopy and put together a single .bin file (Please check the attached standard_platform_targets.mk where I have provided an outline for combining the bins)
  • You can check How to generate scripts for downloading on 43907 board this help article to enable downloading through cmd prompt without using SDK. With a little modification, you can download the single bin file generated in previous step from the command line.
  • If you are trying to read the contents of flash to your MCU, you can enable TEST_SFLASH_READ in sflash_write.c and from command line, you can read the contents of the bin file (The prior requirements for these can be found at 43xxx_Wi-Fi/apps/waf/sflash_write/sflash_write.tcl). Instead of sflash_write_file string, you have to use the sflash_read_file string from CMD with similar syntax.

Please let me know the difficulties you are facing in following any of the above-mentioned process. If this is not at all what you intended to ask, please provide further clarifications regarding your question.

0 Likes

Hi rroy

Thanks a lot for your quickly reply. Sorry to make you confused on my question.

My issue is:

currently we use bellow script to download all the needed firmware

into the flash in the CYW4343W module and into the flash on the 4343 EVB.

====================script==================

echo Downloading Bootloader ...

.\tools\OpenOCD\Win32\openocd-all-brcm-libftdi.exe -s .\tools\OpenOCD\scripts -f ./tools/OpenOCD/CYW9WCD1EVAL1.cfg -f ./tools/OpenOCD/stm32f4x.cfg -f ./tools/OpenOCD/stm32f4x-flash-app.cfg -c "flash write_image erase build/waf.bootloader-NoOS-BCM94343WWCD1/binary/waf.bootloader-NoOS-BCM94343WWCD1.stripped.elf" -c shutdown

echo Downloading DCT ...

.\tools\OpenOCD\Win32\openocd-all-brcm-libftdi.exe -s .\tools\OpenOCD\scripts -f ./tools/OpenOCD/CYW9WCD1EVAL1.cfg -f ./tools/OpenOCD/stm32f4x.cfg -f ./tools/OpenOCD/stm32f4x-flash-app.cfg -c "flash write_image erase build/test.combo_mfg_test-BCM94343WWCD1/DCT.stripped.elf" -c shutdown

echo Downloading Application ...

.\tools\OpenOCD\Win32\openocd-all-brcm-libftdi.exe -s .\tools\OpenOCD\scripts -f ./tools/OpenOCD/CYW9WCD1EVAL1.cfg -f ./tools/OpenOCD/stm32f4x.cfg -f ./tools/OpenOCD/stm32f4x-flash-app.cfg -c "flash write_image erase build/test.combo_mfg_test-BCM94343WWCD1/binary/test.combo_mfg_test-BCM94343WWCD1.stripped.elf" -c shutdown

echo Downloading WIFI_FIRMWARE ... at sector 1  size 91...

.\tools\OpenOCD\Win32\openocd-all-brcm-libftdi.exe -s .\tools\OpenOCD\scripts -f ./tools/OpenOCD/CYW9WCD1EVAL1.cfg -f ./tools/OpenOCD/stm32f4x.cfg -f apps/waf/sflash_write/sflash_write.tcl -c "sflash_write_file build/test.combo_mfg_test-BCM94343WWCD1/filesystem.bin 4096 BCM94343WWCD1-SDIO 0 0" -c shutdown

.\tools\OpenOCD\Win32\openocd-all-brcm-libftdi.exe -s .\tools\OpenOCD\scripts -f ./tools/OpenOCD/CYW9WCD1EVAL1.cfg -f ./tools/OpenOCD/stm32f4x.cfg -f apps/waf/sflash_write/sflash_write.tcl -c "sflash_write_file build/test.combo_mfg_test-BCM94343WWCD1/APPS.bin 0x0000 BCM94343WWCD1-SDIO 0 0" -c shutdown

echo Reset target

.\Tools\OpenOCD\Win32\openocd-all-brcm-libftdi.exe -f ./tools/OpenOCD/BCM9WCD1EVAL1.cfg -f ./tools/OpenOCD/stm32f4x.cfg -c init -c "reset run" -c shutdown && echo Target running

==========================End 0f script===========================

according to the script, the Bootloader , DCT and Application are downloaded to the module flash.

And the filesystem.bin and APPS.bin are downloaded into the EVB flash.

Now what we attempt to do is also downloading Bootloader , DCT and Application into the flash on the EVB(not module flash).

But we are afraid that for ST411 MCU this is not possible to redirect the bootloader and something else from EVB flash.

Is it possible to boot up the CYW4343W+ST411 like the CYW43907? All firmware files are burned into the EVB flash and when booting up,

it loads needed file to RAM/flash in the module.

By this, it would improve our manufacture experience much.

Thanks a lot.

0 Likes

Hi supporters,

Do you have any information about above question for us?

We would like to know if it is possible to boot ST411 from external flash(on EVB).

Thanks.

0 Likes

Hi James,

We have not really tried this anytime. I will do some testing internally and will update the thread on feasibility of your request.

Referring to STM app notes AN2606, AN4286, and others, the STM32 ROM bootloader provides an interface for a user to load a image to the internal flash via USART/CAN/USB/SPI. It does not have the capability to execute code that is not in the internal flash