1_STM32Cube_overview
2_Getting_started_with_STM32CubeMX
2.1_Principles
2.2_Key_features
2.3_Rules_and_limitations
3_Installing_and_running_STM32CubeMX
3.1_System_requirements
3.1.1_Supported_operating_systems_and_ar
3.1.2_Memory_prerequisites
3.1.3_Software_requirements
3.2_Installing/uninstalling_STM32CubeMX_
3.2.1_Installing_STM32CubeMX_standalone_
3.2.2_Installing_STM32CubeMX_from_comman
Interactive_mode
Auto-install_mode
3.2.3_Uninstalling_STM32CubeMX_standalon
Uninstalling_STM32CubeMX_on_MacOS
Uninstalling_STM32CubeMX_on_Linux
Uninstalling_STM32CubeMX_on_Windows
3.3_Installing_STM32CubeMX_plug-in_versi
3.3.1_Downloading_STM32CubeMX_plug-in_in
3.3.2_Installing_STM32CubeMX_as_an_Eclip
3.3.3_Uninstalling_STM32CubeMX_as_Eclips
3.4_Launching_STM32CubeMX
3.4.1_Running_STM32CubeMX_as_standalone_
3.4.2_Running_STM32CubeMX_in_command-lin
Table_1._Command_line_summary
3.4.3_Running_STM32CubeMX_plug-in_from_E
3.5_Getting_STM32Cube_updates
3.5.1_Updater_configuration
3.5.2_Downloading_new_libraries
3.5.3_Downloading_new_library_patches
3.5.4_Removing_libraries
3.5.5_Checking_for_updates
4_STM32CubeMX_User_Interface
4.1_Welcome_page
Table_2._Welcome_page_shortcuts
4.2_New_project_window
4.3_Main_window
4.4_Toolbar_and_menus
4.4.1_File_menu
Table_3._File_menu_functions
4.4.2_Project_menu
Table_4._Project_menu
4.4.3_Pinout_menu
Table_5._Pinout_menu
4.4.4_Window_menu
Table_6._Window_menu
4.4.5_Help_menu
Table_7._Help_menu
4.4.6_Social_links
4.5_Output_windows
4.5.1_MCUs_selection_pane
4.5.2_Output_pane
4.6_Import_Project_window
4.7_Set_unused_/_Reset_used_GPIOs_window
4.8_Project_Settings_window
4.8.1_Project_tab
4.8.2_Code_Generator_tab
STM32Cube_Firmware_Library_Package_optio
Generated_files_options
HAL_settings_options
Custom_code_template_options
4.8.3_Advanced_Settings_tab
Ordering_initialization_function_calls
Disabling_calls_to_initialization_functi
Choosing_between_HAL_and_LL_based_code_g
4.9_Update_Manager_windows
4.10_About_window
4.11_Pinout_view
4.11.1_Peripheral_and_Middleware_tree_pa
Table_8._Peripheral_and_Middleware_tree_
4.11.2_Chip_view
Tips_and_tricks
Icons_and_color_schemes
Table_9._STM32CubeMX_Chip_view_-_Icons_a
Tooltips
4.11.3_Chip_view_advanced_actions
Manually_modifying_pin_assignments
Manually_remapping_a_function_to_another
Manual_remapping_with_destination_pin_am
Resolving_pin_conflicts
4.11.4_Keep_Current_Signals_Placement
Keep_Current_Signals_Placement_is_unchec
Keep_Current_Signals_Placement_is_checke
Tip
4.11.5_Pinning_and_labeling_signals_on_p
4.11.6_Setting_HAL_timebase_source
Example_of_configuration_using_SysTick_w
Example_of_configuration_using_SysTick_a
Example_of_configuration_using_TIM2_as_H
4.12_Configuration_view
Table_10._Peripheral_and_middleware_conf
4.12.1_Peripherals_and_Middleware_Config
Table_11._Peripheral_and_Middleware_Conf
4.12.2_User_Constants_configuration_wind
Creating/editing_user_constants
Deleting_user_constants
Searching_for_user_constants
4.12.3_GPIO_Configuration_window
4.12.4_DMA_Configuration_window
4.12.5_NVIC_Configuration_window
Enabling_interruptions_using_the_NVIC_ta
Code_generation_options_for_interrupt_ha
4.12.6_FreeRTOS_middleware_configuration
Tasks_and_Queues_Tab
Timers,_Mutexes_and_Semaphores
FreeRTOS_heap_usage
4.13_Clock_tree_configuration_view
4.13.1_Clock_tree_configuration_function
External_clock_sources
Peripheral_clock_configuration_options
Table_12._Clock_tree_view_widget
4.13.2_Recommendations
4.13.3_STM32F43x/42x_power-over_drive_fe
Table_13._Voltage_scaling_versus_power_o
Table_14._Relations_between_power_over-d
4.13.4_Clock_tree_glossary
Table_15._Glossary
4.14_Power_Consumption_Calculator_view
4.14.1_Building_a_power_consumption_sequ
Selecting_a_VDD_value
Selecting_a_battery_model_(optional)
Power_sequence_default_view
Managing_sequence_steps
Adding_a_step
Editing_a_step
Moving_a_step
Deleting_a_step
Using_the_transition_checker
4.14.2_Configuring_a_step_in_the_power_s
Using_interpolation
Importing_pinout
Selecting/deselecting_all_peripherals
4.14.3_Managing_user-defined_power_seque
Managing_the_whole_sequence_(load,_save_
Managing_the_results_charts_and_display_
Overview_of_the_Results_summary_area
4.14.4_Power_sequence_step_parameters_gl
4.14.5_Battery_glossary
4.14.6_SMPS_feature
5_STM32CubeMX_C_Code_generation_overview
5.1_STM32Cube_code_generation_using_only
5.2_STM32Cube_code_generation_using_Low_
Table_16._LL_versus_HAL_code_generation:
Table_17._LL_versus_HAL_code_generation:
Table_18._LL_versus_HAL:_STM32CubeMX_gen
Table_19._LL_versus_HAL:_STM32CubeMX_gen
5.3_Custom_code_generation
5.3.1_STM32CubeMX_data_model_for_FreeMar
5.3.2_Saving_and_selecting_user_template
5.3.3_Custom_code_generation
5.4_Additional_settings_for_C_project_ge
Possible_entries_and_syntax
.extSettings_file_example_and_generated_
[Groups]
[Others]
6_Tutorial_1:_From_pinout_to_project_C_c
6.1_Creating_a_new_STM32CubeMX_Project
6.2_Configuring_the_MCU_pinout
6.3_Saving_the_project
6.4_Generating_the_report
6.5_Configuring_the_MCU_Clock_tree
6.6_Configuring_the_MCU_initialization_p
Reminder
6.6.1_Initial_conditions
6.6.2_Configuring_the_peripherals
6.6.3_Configuring_the_GPIOs
6.6.4_Configuring_the_DMAs
6.6.5_Configuring_the_middleware
6.7_Generating_a_complete_C_project
6.7.1_Setting_project_options
6.7.2_Downloading_firmware_package_and_g
6.8_Building_and_updating_the_C_code_pro
6.9_Switching_to_another_MCU
7_Tutorial_2_-_Example_of_FatFs_on_an_SD
8_Tutorial_3_-_Using_the_Power_Consumpti
8.1_Tutorial_overview
8.2_Application_example_description
8.3_Using_the_Power_Consumption_Calculat
8.3.1_Creating_a_power_sequence
8.3.2_Optimizing_application_power_consu
Step_1_(Run)
Step_4_(Run,_RTC)
Step_5_(Run,_ADC,_DMA,_RTC)
Step_6_(Sleep,_DMA,_ADC,RTC)
Step_7_(Run,_DMA,_RTC,_USART)
Step_8_(Stop_0,_USART)
Step_10_(RTC,_USART)
9_Tutorial_4_-_Example_of_UART_communica
9.1_Tutorial_overview
9.2_Creating_a_new_STM32CubeMX_project_a
9.3_Selecting_the_features_from_the_Pino
9.4_Configuring_the_MCU_clock_tree_from_
9.5_Configuring_the_peripheral_parameter
9.6_Configuring_the_project_settings_and
9.7_Updating_the_project_with_the_user_a
9.8_Compiling_and_running_the_project
9.9_Configuring_Tera_Term_software_as_se
10_Tutorial_5:_exporting_current_project
11_FAQ
11.1_On_the_Pinout_configuration_pane,_w
11.2_How_can_I_manually_force_a_function
11.3_Why_are_some_pins_highlighted_in_ye
11.4_Why_do_I_get_the_error_“Java_7_upda
11.5_Why_does_the_RTC_multiplexer_remain
11.6_How_can_I_select_LSE_and_HSE_as_clo
11.7_Why_STM32CubeMX_does_not_allow_me_t
11.8_Ethernet_Configuration:_why_cannot_
Appendix_A_STM32CubeMX_pin_assignment_ru
A.1_Block_consistency
Example_of_block_mapping_with_a_STM32F10
Example_of_block_remapping_with_a_STM32F
A.2_Block_inter-dependency
Example_of_block_remapping_of_SPI_in_ful
A.3_One_block_=_one_peripheral_mode
Example_of_STM32F107x_MCU
A.4_Block_remapping_(STM32F10x_only)
A.5_Function_remapping
Example_using_STM32F415x
A.6_Block_shifting_(only_for_STM32F10x_a
Example
A.7_Setting_and_clearing_a_peripheral_mo
A.8_Mapping_a_function_individually
A.9_GPIO_signals_mapping
Appendix_B_STM32CubeMX_C_code_generation
B.1_STM32CubeMX_generated_C_code_and_use
B.2_STM32CubeMX_design_choices_for_perip
B.3_STM32CubeMX_design_choices_and_limit
B.3.1_Overview
B.3.2_USB_Host
B.3.3_USB_Device
B.3.4_FatFs
B.3.5_FreeRTOS
B.3.6_LwIP
B.3.7_Libjpeg
Appendix_C_STM32_microcontrollers_naming
Appendix_D_STM32_microcontrollers_power_
D.1_Power_modes
D.1.1_STM32L1_Series
D.1.2_STM32F4_Series
D.1.3_STM32L0_Series
D.2_Power_consumption_ranges
D.2.1_STM32L1_Series_feature_3_VCORE_ran
D.2.2_STM32F4_Series_feature_several_VCO
D.2.3_STM32L0_Series_feature_3_VCORE_ran
Appendix_E_STM32Cube_embedded_software_p
12_Revision_history
Table_20._Document_revision_history_(con