Strictly necessary cookies are on by default and cannot be turned off. Functional, Performance and Tracking/targeting/sharing cookies can be turned on below based on your preferences (this banner will remain available for you to accept cookies). You may change your cookie settings by deleting cookies from your browser. Then this banner will appear again. You can learn more details about cookies HERE.
Strictly necessary (always on)
Functional, Performance and Tracking/targeting/sharing (default off)
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.