
List of figures AN4989
6/118 AN4989 Rev 3
List of figures
Figure 1. STM32 ecosystem overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Figure 2. Development tools overview. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
Figure 3. Nucleo-144, Nucleo-64 and Nucleo-32 boards. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
Figure 4. STM32 Nucleo-144 structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Figure 5. Discovery board example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Figure 6. EVAL board example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Figure 7. 7X-NUCLEO-LPM01A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Figure 8. ST-LINK, ST-LINK/V2, and ST-LINK/V2-ISOL stand-alone probes . . . . . . . . . . . . . . . . . . 16
Figure 9. STLINK-V3SET. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
Figure 10. On-board ST-LINK-V3 on Nucleo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Figure 11. STM32 software development . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Figure 12. STM32CubeMX Configure and code generation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Figure 13. STM32CubeIDE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
Figure 14. STM32Cube programmer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
Figure 15. STM32Cube monitor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
Figure 16. STM32CubeProjectList screenshot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Figure 17. Get connected to STM32 world . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Figure 18. IAR™ EWARM Optimization option . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Figure 19. Keil®µVision Code Optimization option . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
Figure 20. STM32CubeIDE optimization level setting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Figure 21. IAR™ EWARM Generate debug Information option. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
Figure 22. Keil®Debug Information option . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
Figure 23. STM32CubeIDE debug information option . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
Figure 24. SWD pins PA13 and PA14 in Reset state under STM32CubeMX . . . . . . . . . . . . . . . . . . . 40
Figure 25. SWD pins PA13 and PA14 in Reserved but inactive state
under STM32CubeMX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
Figure 26. SWD pins PA13 and PA14 in Active State under STM32CubeMX. . . . . . . . . . . . . . . . . . . 41
Figure 27. Reset Mode in IAR8.10: screenshot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Figure 28. Connect and Reset option Keil®. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
Figure 29. Keil®hotplug step1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
Figure 30. Keil®hotplug step2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
Figure 31. Keil®hotplug step3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
Figure 32. Select Generator Options Reset Mode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
Figure 33. STM32CubeProgrammer Reset mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
Figure 34. STM32CubeProgrammer Connection mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
Figure 35. IAR™ EWARM ST-LINK SWD Speed setting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
Figure 36. Keil®SWD Speed Setting. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
Figure 37. Access to Generator Options in STM32CubeIDE V2.0.0 . . . . . . . . . . . . . . . . . . . . . . . . . . 54
Figure 38. Asking for Handler code generation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
Figure 39. Keil®Access to Show Caller Code in Contextual menu . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
Figure 40. Cortex®-M3 SCB_CCR Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
Figure 41. Cortex-M3 SCB_CFSR Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
Figure 42. IAR™ EWARM exception handling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
Figure 43. Keil®System Control and Configure. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
Figure 44. Keil®Fault Reports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
Figure 45. STM32CubeIDE SCB register access . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
Figure 46. Fault Analyzer in STM32CubeIDE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
Figure 47. Virtual COM port on Windows®PC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68