Hi @FrankNatoli ,
I shared with you all the combinations to select the boot area. Let me share again the table.


To start the MCU from the bootloader or "System memory" you have to use one of these configurations. Once in the bootloader, you will be able to use I2C to program the main flash memory. Once programed to start form the flash you have to change again the option bytes.
Another particularity on G0, there is the empty check implemented to allow easy programming of virgin devices by the bootloader. Here is the reference manual description :
Internal empty check flag (the EMPTY bit of the FLASH access control register (FLASH_ACR)) is implemented to allow easy programming of virgin devices by the bootloader. This flag is used when BOOT0 pin is defining Main Flash memory as the target boot area. When the flag is set, the device is considered as empty and System memory (bootloader) is selected instead of the Main Flash as a boot area to allow user to program the Flash memory.
BR
Aime