В настоящее время многие микроконтроллеры, поддерживающие IAP, могут программировать свою флэш-память при выполнении программы на одной и той же флэш-памяти.
Для IAP программная память во флэш-памяти может быть разделена на 2 части.один исполняемый и другие резервные части.
Обычно мы программируем флэш-память в определенном месте (скажем, часть-1) через JTAG, версия прошивки которой составляет 0,01.Для IAP, т. Е. Запрограммировать флэш-память в другой части (часть-2) во время выполнения кода, соответствующие версии API должны быть предоставлены в версии прошивки 0.01, что помогает программировать флэш-часть 2, после успешного завершения программирования версия прошивки будетобновленный как 0.02.После перезапуска процессора выполнение программы переходит к последней версии встроенного ПО путем проверки версии встроенного ПО при инициализации.
Часть, в которой выполняется встроенное ПО, называется исполняемой частью, а другая - резервной.почему это называется средством резервного копирования, предположим, что если во время программирования существует какое-либо повреждение прошивки, версия прошивки не будет обновляться и после перезапуска управление программой автоматически перейдет к резервному ПО после проверки номера версии.