How to download firmware to CW308_SAM4S via Husky

I have a new CW Husky and am going through the first tutorial “Connecting to Hardware” and have successfully connected as well as built the simpleserial-base-CW308_SAM4S.hex.

The jupyter page states: “ChipWhisperer has built in support for XMEGA, STM32F*, and AVR bootloaders”.

So how does one load firmware into another platform such as the SAM4S which ships with the Husky?

… and it also states below: " 2. For other targets, you’ll need to use an external programmer or a debugger to flash the firmware onto the target."

Suggestions on the details would be appreciated. Thanks.

BTW, the flow for platform CWXMEGALITE (compile and download) appears to work fine.

The “Connecting to Hardware” notebook was updated for the SAM4S after the last release; if you look at the notebook on the git develop branch, you’ll find instructions for the SAM4S.

Our develop branch is well tested and quite stable.
A word of caution: the CW305 material got a big overhaul after the 5.7.0 release (files moved, re-organized, better documented, and support added for the CW312T-A35 target), so the CW305 experience is better on develop than on the stable release.

Digging around in the capture/api/ module, I found SAM4SProgrammer class. I did not see this documented anywhere, but gave it a try as follows:

cw.program_target(scope, cw.programmers.SAM4SProgrammer, “…/hardware/victims/firmware/simpleserial-base/simpleserial-base-CW308_SAM4S.hex”)

If this is an available facility, it would be good to document it.

OK, thanks for the heads up on the CW305!