Project

General

Profile

Fixture to Flash Image in Production

Added by Holden Wozniak about 3 hours ago

We are looking into ways to flash an image onto a SOM with eMMC in production.

Our current thought was to utilize DFU/Snagboot; we would provide the custom Yocto files and a script to run on a host PC. The host PC would be connected to a USB dual-role port on the fixture with the SOM held in place mechanically and connecting it to the rest of the board with pogo pins.

Is this method advisable? If not, what would a recommended method of flashing an image in production be?
If it is reasonable, what is the minimal peripherals needed for DFU boot? Our idea was to eliminate all peripherals except for a USB-C dual role port, JTAG, and then having the boot mode configured for DFU boot


Replies (1)

RE: Fixture to Flash Image in Production - Added by Jonathan Cormier 36 minutes ago

Holden Wozniak wrote:

We are looking into ways to flash an image onto a SOM with eMMC in production.

Our current thought was to utilize DFU/Snagboot; we would provide the custom Yocto files and a script to run on a host PC. The host PC would be connected to a USB dual-role port on the fixture with the SOM held in place mechanically and connecting it to the rest of the board with pogo pins.

Is this method advisable? If not, what would a recommended method of flashing an image in production be?
If it is reasonable, what is the minimal peripherals needed for DFU boot? Our idea was to eliminate all peripherals except for a USB-C dual role port, JTAG, and then having the boot mode configured for DFU boot

DFU/snagboot was created for this scenario. We'd normally use our devkits to do factory programming but if you wanted to change the BOM on your design to create a dedicated programming hardware that would work as well. I would also keep the console serial port for debugging purposes. The snagfactory tool can handle multiple flashes at once, but does require someone hitting a start button. I think it would be nice to tweak it so it auto starts flashing when it detected a new usb device, but that's just me over engineering.

The only other reasonable alternate is to use a sdcard that's setup to program the emmc on boot. The biggest downside of this approach is tracking if programming failed, as someone needs to manually watch the serial output or have it blink LEDs. Also if you flash them in the final units, sometimes the factory can forget to take the sdcards out..
We do have a emmc flash sdcard recipe for yocto, located here to make some of that process easier.
https://gitlab.syr.criticallink.com/critical-link/yocto/meta-mitysom/-/tree/scarthgap/recipes-devtools/mitysom-auto-flash-emmc?ref_type=heads
https://gitlab.syr.criticallink.com/critical-link/yocto/meta-mitysom/-/blob/scarthgap/recipes/images/mitysom-flash-emmc-image.bb?ref_type=heads

    (1-1/1)
    Go to top
    Add picture from clipboard (Maximum size: 1 GB)