PSoC3 I2C Bootloader failing to program component. | Cypress Semiconductor
PSoC3 I2C Bootloader failing to program component.
I'm working on setting up a very simple I2C bootloader for a CY8C3846-AXE176. I've attached the archive for the bootloader itself. The bootloadable project is proprietary, but I've added a bootloadable component to it, and have successfully linked it the bootloader HEX file.
There are some examples of bootloaders, bootloadables, and bootloader hosts that I've looked through, and I can't see any difference between those and what I've set up. However, I have gotten nothing out of the Bootloader Host other than
"Communication port reported error 'Unable to write data to the target device'."
I've tried bootloading immediately after a power cycle, externally powering the system, all I2C speeds, calling CySoftwareReset manually, starting the I2C component before the reset, and have gotten the same result every time.
I have a few things left to try.
1.) Looks like the Bootloader_Start function handles the software reset as well as the bootloader entry, so I don't believe that's a problem.
2.) The PSoC's I2C pins are on an I2C bus with pullups on this system due to a hardware oopsie in the programming header, hence this roundabout bootloader approach. I know the MiniProg3 has pullup resistors inside, so tomorrow my first action will be to remove those two pullup resistors so only one set of pullups is affecting it. Can I turn off the MiniProg's internal pullups?
I'm willing to answer any questions, and possibly doctor up the bootloadable application to make it uploadable. Thanks in advance for any help.