Using Arduino as an I2C PSOC Embedded Bootloader Host (ISP)
Looking at the complexity involved, I would not continue with your plan as it is now i.e. to go from "nothing" straight to "Arduino as PSOC I2C Bootloader Host". That's because, as you are finding, your application note assumes your PSOC Bootloader Host is another PSOC.

I have been in (and seen other people in) similar situations a few times i.e. documentation on how to do X assumes hardware A and toolchain B, but your project uses hardware C and toolchain D. Since you already have items C &amp; D, you think you'll save time and money going straight to C &amp; D and avoiding A &amp; B (which are the ones described in the documentation).

However, without being able to use much of the documentation, it can be a much bigger struggle going straight to C &amp; D than it appears at first. Instead, the seemingly "longer" route of getting A &amp; B (as documented and known to work) setup first, and then migrating to C &amp; D (your target final configuration) can be much quicker in the end.

Therefore, from experience, I recommend an approach like this:


Follow the application note, buy the recommended PSOC kits (for bootloader Host and Target) as described in that documentation, so that you can follow the documentation exactly.
Get that to work. If you have any problems, then you can ask questions to the manufacturer's normal support channels &amp; forums etc., since you are following their application note exactly at this stage.
Use a logic analyser to record, review and understand the I2C data transfers which are used during that successful bootloader process.
Only after doing that, then you start to port the bootloader Host code onto the Arduino. You now have the advantage of having a known-working bootloader Target device and recordings of the correct I2C data transfers from using a PSOC bootloader Host, which your Arduino bootloader Host code must match. If you have problems, you can compare exact behaviour between the PSOC bootloader Host (which you got working first, as explained above) and the Arduino bootloader Host.