Factory programming from Linux

Announcements

Live Webinar: USB-C adoption. Simple & Cost-efficient solutions | April 18th @9am or 5pm CEST. Register now !

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

cross mob
DaEr_349131
Level 5
Level 5
25 likes received 50 sign-ins 5 comments on KBA

Hi,

For CCG5 or CCG6, what's the best/fastest way to flash the firmware onto the CCG's?

Note: we have to run from Linux machines, so miniprog/psoc programmer is not an alternative

0 Likes
1 Solution

Hi David,

The bootloader is stored in the flash. If the I2C upgrade fails, the bootloader will still be intact and you can recover the device.

Please refer to the CCGx User Guide for the flash memory map. There are two firmware images present in the flash so if primary firmware is corrupted, the backup firmware will run. Even if both are corrupted, you can use the bootloader to flash a new firmware binary.

Best Regards,

Sananya

View solution in original post

0 Likes
5 Replies
Sananya_14
Moderator
Moderator
Moderator
750 replies posted 500 replies posted 250 solutions authored

Hi,

As you mentioned, we dont have PSOC Programmer for Linux so SWD programming wont be possible. Could you please let us know if firmware update over I2C is okay?

Best Regards,

Sananya

0 Likes

Hi Sananya,

  • Does CCG5, 6 come pre-programmed with a bootloader?
    • if yes, i2c programming is fine. please advice if there is a .c or python driver example for how to do this

  • Do the CCG's come with a bootloader/feature to configure/flash them via USB D+/D-

  • I saw that miniprog4 and kitprog3 is supported on mac and linux. Can't this be used to flash the CCG parts?
0 Likes

Hi,

-Yes, both the devices have a I2C bootloader. We do have a command line tool on Windows which you can port to Linux but we require a NDA since the update happens over HPI protocol.

-The CCG5 and CCG6 parts dont have a USB bootloader. You can take a look at CCG3 which does have a USB bootloader and check if it is suitable.

-MiniProg4 is supported on Linux and Mac but with Cypress Programmer utility which does not support CCG (based on PSoC 4) parts.

Best Regards,

Sananya

0 Likes

Last follow-up,

Is the I2C bootloader in ROM or protected flash?

ie no risk of bricking the CCG in case of am i2c upgrade fails in the middle of a transfer?

please describe the mechanism how you ensure failsafe InSystemUpgrades (incl fallback if a "broken" custom application is flashed)

thx

0 Likes

Hi David,

The bootloader is stored in the flash. If the I2C upgrade fails, the bootloader will still be intact and you can recover the device.

Please refer to the CCGx User Guide for the flash memory map. There are two firmware images present in the flash so if primary firmware is corrupted, the backup firmware will run. Even if both are corrupted, you can use the bootloader to flash a new firmware binary.

Best Regards,

Sananya

0 Likes