Contents AN3078
2/21 Doc ID 16393 Rev 1
Contents
1 IAP overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.1 Principle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.2 User program conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.3 Global flowchart . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.4 IAP commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.4.1 Read command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.4.2 Write command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.4.3 Erase page command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.4.4 Erase User Space memory command . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.4.5 Go To User Code command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2 STM32 IAP over the I
2
C peripheral . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.1 Hardware description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.2 Software description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.2.1 I
2
C packet description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.2.2 IAP I
2
C Read command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.2.3 IAP I
2
C Write command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.2.4 IAP I
2
C Erase Page command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.2.5 IAP I
2
C Erase User Space Memory command . . . . . . . . . . . . . . . . . . . 12
2.2.6 IAP I
2
C Go To User Code command . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.2.7 IAP I
2
C flowchart . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
3 Sending IAP commands to a target . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
3.1 Sending IAP I
2
C commands using the Aardvark I
2
C host
adapter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
3.1.1 Aardvark I
2
C interface mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
3.1.2 Aardvark I
2
C batch mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3.2 Sending IAP commands using another STM32 device as a
bridge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
3.2.1 Principle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
3.2.2 Hardware description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
3.2.3 Firmware description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
4 IAP timings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
评论0