The Particle.io Photon is the perfect evaluation tool for the WM-N-BM-09. When used along with the Particle.io "Programmer Shield", it is possible to have a nearly complete development environment similar to the WICED BCM943362WCD4_EVB. Based upon what I've seen, you probably need an external antenna to get acceptable RF performance. Also, be aware that for some reason Broadcom does not include a profile anymore. More on that at the bottom.
Setting up Particle.io Photon to support WICED Tools:
- Modify FT2232 93C46 to look like a Broadcom profile as per this site:
There is a ZIP file at the bottom of the page to get the command line tools for Windows. (Sorry MAC guys…)
I verified the profile by using the GUI version of FT_PROG. I tried to use the GUI version of FT_PROG by first extracting the "Template" from my EVB, but the GUI version of FT_PROG inserted a serial number when it reprogrammed the "Programmer Shield" from Particle.io. I am not sure this would affect operation, but it did create unique device names in my /dev directory of OS X, and I just wanted to plug it in and go, without playing with different things.
- Bring up a session to modify write protected flash blocks. I use OS X so this was done on the MAC. A warning to all: This will allow you to wipe your Photon clean. If you have dreams of going backward, then you probably will need to save the image and reverse the process. I don't care about that so I did not figure it out.
$ ./openocd-all-brcm-libftdi -f BCM9WCD1EVAL1.cfg -f stm32f2x.cfg -c "gdb_port 3334"
Note that I shortened the path names for the "BCM9WCD1EVAL1.cfg" and "stm32f2x.cfg" for clarity.
$ telnet localhost 4444
This is interesting because I just assigned the gdb_port to 3334, but when I used 4444 in the first step, openOCD responded with an error saying the port was in use. Just go with it.
telnet: connect to address ::1: Connection refused
Connected to localhost.
Escape character is '^]'.
Open On-Chip Debugger
> flash info 0
device id = 0x20036411
flash size = 1024kbytes
#0 : stm32f2x at 0x08000000, size 0x00100000, buswidth 0, chipwidth 0
# 0: 0x00000000 (0x4000 16kB) protected
# 1: 0x00004000 (0x4000 16kB) not protected
# 2: 0x00008000 (0x4000 16kB) not protected
# 3: 0x0000c000 (0x4000 16kB) not protected
# 4: 0x00010000 (0x10000 64kB) not protected
# 5: 0x00020000 (0x20000 128kB) protected
# 6: 0x00040000 (0x20000 128kB) protected
# 7: 0x00060000 (0x20000 128kB) protected
# 8: 0x00080000 (0x20000 128kB) protected
# 9: 0x000a0000 (0x20000 128kB) not protected
# 10: 0x000c0000 (0x20000 128kB) not protected
# 11: 0x000e0000 (0x20000 128kB) not protected
STM32F2xx - Rev: X
> flash protect 0 0 11 off
cleared protection for sectors 0 through 11 on flash bank 0
- Your Photon is now completely programmable and can be used as an evaluation tool for the WM-N-BM-09 and almost ready for your WICED SDK environment. But because there is not a profile in the current SDK for the WM-N-BM-09, you'll need to create that. I started with this page: https://community.broadcom.com/thread/2707
But this is a bit dated and you'll want something for the latest SDK's. I've included a file, but the only real change is as per the above thread. As per the thread…giving credit to those that figured it out before I tried, change two entries in the "platform.c" file of the "BCM943362WCD4" platform.c file. Note that you don't want to actually change the "platforms/BCM943362WCD4/platform.c" file. I created a new profile for the "BCM9WCDUSI09" as per the previous thread. I ended up basically replicating and changing the names where necessary to set up a new platform. Note that this platform works well on the "WICED-SDK-3.4.0-AWS" SDK.
- Create a target for testing. I created the proverbial Broadcom "hello world". That is "snip.scan-BCM9WCDUSI09 download run".
There you have it. I will credit other threads for the heavy lifting and the only new finding is the need to clear the "protected" flags to enable OpenOCD to rewrite the flash from the beginning.
BCM9WCDUSI09.zip 10.4 K