I have created a prototype board and application. All issues have been resolved except for this: I need to run the BSL as an integral part of POR to detect corrupted software during software upgrades. According to slaa457b.pdf (sec.1.2), my circuit is the same minus the BSL switch. According to slaa450f.pdf (sec.1.2), I have created my software in 3 main parts:
BSL (BSL Protect Function) - this needs to be the 1st code to run from BOR/POR. Determines if main is good.
BootLoader (BSL) - this needs to run if main is corrupt. Reloads main. Functions as expected.
Main(RESET) - this runs after verification by the BSL. Reloads Bootloader. Functions as expected.
Having read the documentation and several e2e posts. My problem may be info overload. The circuit boards are powered from an external 3V3 supply. The USB port is powered from VBUS. The custom PC application will detect the device, read whether Main or BootLoader is running and respond accordingly.
What method can you recommend for the final product to invoke BSL without a switch?
Can a high value pullup resister be used without the USB cable attached to force BSL operation?
Thank you in advance for your help,