I was using Wiced 2.3.1 on a WCD8 eval board, running ping_powersave. This all worked OK.
I changed the WCD8 makefile to enable wait_mode_support, according to the Readme.txt.
* ^BCM943362WCD8 : OpenOCD Limitations with Power Save
OpenOCD is unable to wake up and halt the ARM Cortex-M3 CPU of the AT91SAM4S
MCU when the MCU enters deep sleep mode. Consequently, the powersave feature
for BCM943362WCD8 is disabled by default. It can be enabled by uncommenting
GLOBAL_DEFINES += WAIT_MODE_SUPPORT in <WICED-SDK>/Wiced/Platform/BCM943362WCD8/BCM943362WCD8.mk.
This issue will be addressed in a future SDK release.
After this, I got OpenOCD errors.
**** OpenOCD failed - ensure you have installed the driver from the drivers directory, and that the debugger is not running **** In Linux this may be due to USB access permissions. In a virtual machine it may be due to USB passthrough settings. Check in the task list that another OpenOCD process is not running. Check that you have the correct target and JTAG device plugged in. ****"
I tried a clean build, unplugged/plugged the board, rebooted PC, no luck.
I tried a USI09 eval board, it worked fine.
Any idea why the Atmel SAM4 board appears to be bricked?
The solution is to pull the flash ERASE pin of the MCU high for >220ms as noted on Page 28 of the SAM4 datasheet.