I2C Bootloader/Bootloadable | Cypress Semiconductor
I've had an I2C bootloader loading a bootloadable project on a CY8C3846AXE-176. I tested this less than two weeks ago and it worked just fine. Went to write some SOPs for guys who would be changing firmware and it doesn't work anymore. After lots of troubleshooting, I ended up simply building as simple a bootloader and bootloadable as possible. This workspace has been archived and attached.
Programming the bootloader through the SWD interface works fine every time, as expected. As far as I know, nothing has been done to the bootloadable project, but when I open the .cyacd file in Bootloader Host and try to program, I'm immediately hit with the following:
11:03:41 AM - program Started
11:03:42 AM - The slave failed to successfully acknowledge the packet.
11:03:42 AM - Communication port reported error 'Unable to write data to the target device'.
11:03:42 AM - program failed in 206 ms.
My I2C addresses match, the I2C speed setting matches, and I'm externally powering our boards. This is not a dual-boot application. The bootloadable application version matches, the correct comms component is selected. The only part I'm a little confused about is how PSoC Creator marks bootloader and bootloadable projects now that it's not explicitly done in the project build settings.
Also, the only connections I have between our boards and the MiniProg3 (while trying to program the bootloadable) are GND, SDA, & SCL, as listed on page 7 of AN60317.
I've updated all components to their latest versions (Bootloader/Loadable v1.50, Pins 2.20, etc), and PSoC Creator is updated to 3.3 SP1.