ISP: In system programing, in System Programming
IAP: In Applicating programing, in Application Programming
ICP: In circuit programing, in circuit Programming
ISP refers to the program that can be programmed on the board level, that is, the whole program is written without splitting the chip, which is generally written through the ISP interface line. (The Boot Program for ISP upgrade is fixed on the chip)
Although IAP is also programming on the board level, it is self-programming on its own and programming in the application, that is, it can only change a part without affecting other parts of the system, in addition, the interface program is self-written, so that remote upgrade can be performed without affecting the application. (Usually write a bootloader program by yourself)
ICP (in-circuit programming): After the chip is installed on the user's application board, it uses jtagi to program the memory in the Flash microcontroller.