STM32 + CMSIS + STM32CubeIDE

рдпрд╣рд╛рдВ рдореИрдВ рдЖрдкрдХреЛ рдмрддрд╛рдКрдВрдЧрд╛ рдХрд┐ рдХреИрд╕реЗ рдПрд╕рдЯреАрдПрдо рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░ рдХреЗ рд▓рд┐рдП "рджреЗрд╢реА" рдЖрдИрдбреАрдИ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕реАрдПрдордПрд╕рдЖрдИрдПрд╕ рдкрд░ рдПрдХ рдиреНрдпреВрдирддрдо рдкрд░рд┐рдпреЛрдЬрдирд╛ рдмрдирд╛рдИ рдЬрд╛рдП - STM32CubeIDEред

рд╢рд╛рдпрдж STM32CubeIDE рдореЗрдВ рдХрдИ рдХрдорд┐рдпрд╛рдВ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрд╣, рдореЗрд░реА рд░рд╛рдп рдореЗрдВ, рдХрдИ рдлрд╛рдпрджреЗ рд╣реИрдВ - рдЬреИрд╕реЗ рдХрд┐ рдорд╛рд▓рд┐рдХрд╛рдирд╛ рдФрд░ рдореБрдлреНрдд, рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдХрдо рд╕реЗ рдХрдо, рдЖрдкрдХреЛ рдЗрд╕ рд╡рд┐рдХрд╛рд╕ рдХреЗ рдорд╛рд╣реМрд▓ рдкрд░ рдзреНрдпрд╛рди рджреЗрдирд╛ рдЪрд╛рд╣рд┐рдП рдЕрдЧрд░ рдЖрдкрдиреЗ рдкрд╣рд▓реЗ рдРрд╕рд╛ рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИред



ARM Cortex-M0 рдХреЛрд░ рдХреЗ рд╕рд╛рде STM32F072 рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░ рдХреЛ ARM Cortex-M3 рдкрд░ рдЕрдзрд┐рдХ рдкрд░рд┐рдЪрд┐рдд STM32F103 рдХреЗ рд▓рд┐рдП рдлрд░реНрдорд╡реЗрдпрд░ рдХреЗ рдЙрджреНрджреЗрд╢реНрдп рдХреЗ рд░реВрдк рдореЗрдВ рдЪреБрдирд╛ рдЧрдпрд╛ рдерд╛, рдЬреЛ рдХреЛрд░ рдХреЗ рд▓рд┐рдП рд╕рдорд╛рдпреЛрдЬрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕рдорд╛рди рд╣реИред

рд╕рднреА рдЖрд╡рд╢реНрдпрдХ рд╕рдВрд╕рд╛рдзрди st.com рд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдпрд╣рд╛рдВ рдЖрдкрдХреЛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ:

  • рдЖрдИрдбреАрдИ рд╣реА , рдореИрдВ рд╡рд┐рдВрдбреЛрдЬ рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдореИрдХ рдФрд░ рд▓рд┐рдирдХреНрд╕ рдХреЗ рд▓рд┐рдП рд╕рдВрд╕реНрдХрд░рдг рднреА рдЙрдкрд▓рдмреНрдз рд╣реИрдВ

  • ARM Cortex-M0 рдХреЗ рд▓рд┐рдП CMSIS рд▓рд╛рдЗрдмреНрд░реЗрд░реА , рдпрд╣ STM32CubeFx рд╕рдВрдЧреНрд░рд╣ рдореЗрдВ рд╕реНрдерд┐рдд рд╣реИ, рдЬреЛ рдХрд░реНрдиреЗрд▓ рд╕рдВрд╕реНрдХрд░рдг рджреНрд╡рд╛рд░рд╛ рдЯреВрдЯ рдЧрдпрд╛ рд╣реИред рд╕реНрд╡рдпрдВ рд╕рдВрдЧреНрд░рд╣, CMSIS рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдХрдИ рдорд╣рд╛рди рд╕рдВрд╕рд╛рдзрди рд╣реИрдВ рдЬрд┐рдирдореЗрдВ рдкрд░рд┐рдзреАрдп рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рдЙрджрд╛рд╣рд░рдг рд╣реИрдВ, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдЗрд╕ рд╕рдВрдЧреНрд░рд╣ рдХрд╛ рдЙрдкрдпреЛрдЧ рддрдм рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдпрджрд┐ рдЖрдк STM32Cube рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХреЛрдИ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрдирд╛рддреЗ рд╣реИрдВ

  • рдбреЗрдЯрд╢реАрдЯ рдФрд░ рд░реЗрдлрд░реЗрдВрд╕ рдореИрдиреБрдЕрд▓ рдХреЛ рдиреБрдХрд╕рд╛рди рдирд╣реАрдВ рд╣реЛрдЧрд╛


рдХрд╛рд░реНрдпрд╕реНрдерд╛рди рдлрд╝реЛрд▓реНрдбрд░ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ, рд╢реБрд░реВ рдХрд░рдиреЗ рдФрд░ рдЪреБрдирдиреЗ рдХреЗ рдмрд╛рдж, рдЖрдк рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрдирд╛рдирд╛ рд╢реБрд░реВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╡рд░реНрддрдорд╛рди рдореЗрдВ STM32CubeIDE рд╕рдВрд╕реНрдХрд░рдг 1.1.0, рдЗрд╕рд▓рд┐рдП рд╡рд┐рднрд┐рдиреНрди рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХрд╛ рд╕реНрдерд╛рди рдЗрд╕ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред

рдПрдХ рдирдпрд╛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрдирд╛рдирд╛ - рдлрд╝рд╛рдЗрд▓ / рдирдпрд╛ / STM32Project ред рдХреБрдЫ рд╡рд┐рдЪрд╛рд░ рдХреЗ рдмрд╛рдж, рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░ рдХреЛ рдЪреБрдирдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рдВрдбреЛ рджрд┐рдЦрд╛рдИ рджреЗрддреА рд╣реИ, рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдпрд╣ LQFP64 рдкреИрдХреЗрдЬ рдореЗрдВ STM32F072RB рд╣реИ, рдореИрдВ рд╡рд╛рдВрдЫрд┐рдд рд▓рд╛рдЗрди рдХрд╛ рдЪрдпрди рдХрд░рддрд╛ рд╣реВрдВ, рдЕрдЧрд▓рд╛ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВред рдЖрдЧреЗ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд╛ рдирд╛рдо, рд╕реНрдерд╛рди, C / C ++ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛, рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдлрд╝рд╛рдЗрд▓ / рд╕реНрдЯреЗрдЯрд┐рдХ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдЪрдпрди рдХрд░рдирд╛ рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рд╣реИ рдФрд░ рдпрд╣ рдХрд┐ рдХреНрдпрд╛ CubeMX рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдпрд╛ рдореВрдВрдЫ рдХреЗ рд╕рд╛рде рдкреНрд░реЛрдЬреЗрдХреНрдЯ рддреИрдпрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдХреНрдпреВрдм рдкреАрдврд╝реА рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд╛ рдкреНрд░рдХрд╛рд░ рдЦрд╛рд▓реА рдЦрд╛рд▓реА рд╣реИред




рдмрд╛рдИрдВ рдУрд░, рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдПрдХреНрд╕рдкреНрд▓реЛрд░рд░ рд╡рд┐рдВрдбреЛ рдореЗрдВ, рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдЯреНрд░реА рджрд┐рдЦрд╛рдИ рджрд┐рдпрд╛, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рдЖрджреЗрд╢ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдХрд╛рдлреА рдЦрд╛рд▓реА рдирд╣реАрдВ рд╣реИред рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ, рдпрджрд┐ рдЙрддреНрдкрдиреНрди рдлрд╝реЛрд▓реНрдбрд░ рд╕рдВрд░рдЪрдирд╛ рдЖрдкрдХреЛ рд╕реВрдЯ рдХрд░рддреА рд╣реИ, рддреЛ рдЖрдк рд╡рд╣рд╛рдВ рд╕реАрдПрдордПрд╕рдЖрдИрдПрд╕ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд╕реЗ рдлрд╛рдЗрд▓реЗрдВ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдХрд╛рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрд╣рд╛рдВ рдореИрдВ рджрд┐рдЦрд╛рдКрдВрдЧрд╛ рдХрд┐ рдЖрдк рдореЗрд░реА рд╕реБрдВрджрд░рддрд╛ рдХреЗ рд╕рд╛рде рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╕рдВрд░рдЪрдирд╛ рдХреЛ рдХреИрд╕реЗ рд╕рджреНрднрд╛рд╡ рдореЗрдВ рд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рд▓рд┐рдВрдХрд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдЫреЛрдбрд╝рдХрд░ рд╕рдм рдХреБрдЫ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЕрд░реНрдерд╛рддреН рдПрдХреНрд╕рдЯреЗрдВрд╢рди .ld рдХреЗ рд╕рд╛рде рдлрд╝рд╛рдЗрд▓ рдХрд░реЗрдВ - рдпрд╣ рдХрд╛рдо рдореЗрдВ рдЖрдПрдЧрд╛ред



рдлрд╝реЛрд▓реНрдбрд░ рдФрд░ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд╕рд╛рде рд╕рднреА рдЬреЛрдбрд╝рддреЛрдбрд╝ рдПрдХреНрд╕рдкреНрд▓реЛрд░рд░ рдореЗрдВ рдФрд░ рдЖрдИрдбреАрдИ рдХреЗ рдЕрдВрджрд░ рджреЛрдиреЛрдВ рдореЗрдВ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдирд╛рдо рдкрд░ рд░рд╛рдЗрдЯ-рдХреНрд▓рд┐рдХ рдХрд░рдХреЗ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП: рд░рд╛рдЗрдЯ рдмрдЯрди -> рдирдпрд╛ -> рдлрд╝реЛрд▓реНрдбрд░ ред рдпрджрд┐ IDE рдХреЗ рдмрд╛рд╣рд░ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╕рдВрд░рдЪрдирд╛ рдмрджрд▓ рдЧрдИ рд╣реИ, рддреЛ рдЖрдкрдХреЛ рдмрд╕ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ: рд░рд╛рдЗрдЯ рдмрдЯрди -> рддрд╛рдЬрд╝рд╛ рдХрд░реЗрдВ ред

рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╕рдВрд░рдЪрдирд╛ рдХрд╛ рдореЗрд░рд╛ рд╕рдВрд╕реНрдХрд░рдг рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:

  • рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк - рд▓рд┐рдВрдХрд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдпрд╣рд╛рдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдПрдХ рдЙрддреНрдкрдиреНрди рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╕реЗ рд╢реЗрд╖ рд╣реИ, рд╕рд╛рде рд╣реА рд╕рд╛рде рд╕реАрдПрдордПрд╕рдЖрдИрдПрд╕ рд╕реЗ рд▓реА рдЧрдИ рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдлрд╝рд╛рдЗрд▓
  • CMSIS \ src рдФрд░ CMSIS \ inc - рдпрд╣рд╛рдБ рд╕реНрд░реЛрдд рд╣реЛрдЧрд╛, рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ .c рдХреЗ рд╕рд╛рдеред
  • Core \ src рдФрд░ Core \ inc - рдпрд╣ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдЦреБрдж рдпрд╣рд╛рдВ рд╕реНрдерд┐рдд рд╣реЛрдЧреА, рд╢реБрд░реБрдЖрдд рдХреЗ рд▓рд┐рдП, main.c рдФрд░ main.h рдХреЛ рд╡рд╣рд╛рдВ рд░рдЦрд╛ рдЬрд╛рдПрдЧрд╛


рдЕрдм рдЖрдкрдХреЛ CMSIS рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдореЗрдВ рдореБрдЦреНрдп рдлрд╛рдЗрд▓реЗрдВ рдФрд░ рдкрд░рд┐рдзреАрдп рдлрд╛рдЗрд▓реЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВред рдХрд░реНрдиреЗрд▓ рдлрд╛рдЗрд▓реЗрдВ core_ рдпрд╛ cmsis_ рд╕реЗ рд╢реБрд░реВ рд╣реЛрддреА рд╣реИрдВ, рд╡реЗ рдЙрди рд╕рднреА рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░ рдХреЗ рд▓рд┐рдП рдЖрдо рд╣реИрдВ рдЬреЛ рдЗрд╕ рдХрд░реНрдиреЗрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рдкрд░рд┐рдзреАрдп рдлрд╛рдЗрд▓реЛрдВ рдореЗрдВ рдирд╛рдо рдореЗрдВ рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░ stm32 рдХрд╛ рдирд╛рдо рд╣реЛрддрд╛ рд╣реИ рдФрд░ рдПрдХ рд╡рд┐рд╢реЗрд╖ рдирд┐рд░реНрдорд╛рддрд╛ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╣реЛрддрд╛ рд╣реИ, рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдХрдВрдкрдиреА рдПрд╕рдЯреАрдПрдоред

рдЕрдирдкреИрдХреНрдб рд░реВрдк рдореЗрдВ, рд╕рдВрдЧреНрд░рд╣ рдореЗрдВ рдлрд╝реЛрд▓реНрдбрд░ STM32Cube_FW_F0_V1.11.0 рд╣реИ , рд╕рднреА рдкрде рдЗрд╕ рдлрд╝реЛрд▓реНрдбрд░ рдХреЗ рд╕рд╛рдкреЗрдХреНрд╖ рд╣реИрдВред рдХреБрд▓, рдЖрдкрдХреЛ рдХреЙрдкреА рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:

CMSIS \ inc рдореЗрдВ :

  • рдбреНрд░рд╛рдЗрд╡рд░ \ CMSIS \ рд╢рд╛рдорд┐рд▓ рдХрд░реЗрдВ \ cmsis_compiler.h
  • рдбреНрд░рд╛рдЗрд╡рд░ \ CMSIS \ рд╢рд╛рдорд┐рд▓ рдХрд░реЗрдВ \ cmsis_gcc.h
  • рдбреНрд░рд╛рдЗрд╡рд░ \ CMSIS \ рд╢рд╛рдорд┐рд▓ рдХрд░реЗрдВ \ cmsis_version.h
  • рдбреНрд░рд╛рдЗрд╡рд░ \ CMSIS \ рд╢рд╛рдорд┐рд▓ рдХрд░реЗрдВ \ core_cm0.h
  • рдбреНрд░рд╛рдЗрд╡рд░ \ CMSIS \ Device \ ST \ STM32F0xx \ \ stmf0xx.h рд╢рд╛рдорд┐рд▓ рдХрд░реЗрдВ
  • рдбреНрд░рд╛рдЗрд╡рд░ \ CMSIS \ Device \ ST \ STM32F0xx \ \ stm32f072xb.h рд╢рд╛рдорд┐рд▓ рдХрд░реЗрдВ
  • рдбреНрд░рд╛рдЗрд╡рд░ \ CMSIS \ Device \ ST \ STM32F0xx \ \ рд╕рд╣рд┐рдд \ system_stm32f0xx.h

CMSIS \ src рдореЗрдВ :

  • рдбреНрд░рд╛рдЗрд╡рд░ \ CMSIS \ Device \ ST \ STM32F0xx \ Source \ Templates \ system_stm32f0xx.c

рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдореЗрдВ:

  • рдбреНрд░рд╛рдЗрд╡рд░ \ CMSIS \ Device \ ST \ STM32F0xx \ Source \ Templates \ gcc \ рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк_stm32f072xb.s

рдпрд╣ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдЕрдкрдиреЗ рдкреВрд░реНрдг рд░реВрдк рдореЗрдВ рджрд┐рдЦрддрд╛ рд╣реИред


рдЪреВрдВрдХрд┐ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдлрд╝реЛрд▓реНрдбрд░реНрд╕ рдХреЗ рд╕рд╛рде рдХреБрдЫ рд╣реЗрд░рдлреЗрд░ рдХрд┐рдП рдЧрдП рдереЗ, рдЗрд╕рд▓рд┐рдП рдЖрдкрдХреЛ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдореЗрдВ рдЗрд╕реЗ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рдирд╛рдо рдХрд╛ рд╕рд╣реА рдмрдЯрди -> рдЧреБрдг -> C / C ++ рдмрд┐рд▓реНрдб -> рд╕реЗрдЯрд┐рдВрдЧреНрд╕ -> рдЯреВрд▓ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ -> MCU GCC рд▓рд┐рдВрдХрд░ -> рд╕рд╛рдорд╛рдиреНрдп - рдпрд╣рд╛рдВ рдЖрдкрдХреЛ рдмреНрд░рд╛рдЙрдЬрд░ ... рдмрдЯрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд▓рд┐рдВрдХрд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рдирдП рд╕реНрдерд╛рди рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ


рдЖрдкрдХреЛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд▓рд┐рдП рдкрде рднреА рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛

рдЧреБрдг -> C / C ++ рдЬрдирд░рд▓ -> рд╢рд╛рдорд┐рд▓ рд╣реИ
рдЧреБрдг -> C / C ++ рд╕рд╛рдорд╛рдиреНрдп -> тАЛтАЛрд╕реНрд░реЛрдд рд╕реНрдерд╛рди

рдлрд╝реЛрд▓реНрдбрд░реЛрдВ рдХреЛ рд╕рдореНрдорд┐рд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрде рд╢рд╛рдорд┐рд▓ рд╣реИрдВ, рдФрд░ рд╕реНрд░реЛрдд рд╕реНрдерд╛рди рдореЗрдВ рдпрд╣ src рдлрд╝реЛрд▓реНрдбрд░реЛрдВ рдХреЗ рд▓рд┐рдП рддрд╛рд░реНрдХрд┐рдХ рд╣реЛрдЧрд╛, рд▓реЗрдХрд┐рди рдпрджрд┐ рдЖрдк рдРрд╕рд╛ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЗрди рдлрд╝реЛрд▓реНрдбрд░реЛрдВ рдХреЛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдЯреНрд░реА рдореЗрдВ рдЕрд▓рдЧ рд╕реЗ рдЬреЛрдбрд╝рд╛ рдЬрд╛рдПрдЧрд╛ред рдкреЗрдбрд╝ рдХреЛ рдиреЗрддреНрд░рд╣реАрди рд░реВрдк рд╕реЗ рдмрдВрдж рдирд╣реАрдВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╕реНрд░реЛрдд рд╕реНрдерд╛рди рдореЗрдВ рдЖрдк рдореВрд▓ рдлрд╝реЛрд▓реНрдбрд░ рдХреЛрд░ , CMSIS рдФрд░ рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред



рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЛ рд╕рдВрдХрд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ stm32f0xx.h рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░ рдХреЗ рдирд╛рдо рдХреЗ рд╕рд╛рде рд▓рд╛рдЗрди рдХреЛ рдЕрдирд╕реБрдирд╛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдФрд░, рдЬрд╝рд╛рд╣рд┐рд░ рд╣реИ, рдореБрдЦреНрдп рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдореБрдЦреНрдп. c рдореЗрдВ рдЬреЛрдбрд╝реЗрдВред



рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕рдм рдХреБрдЫред рдПрдХ рддреНрд░реБрдЯрд┐-рдореБрдХреНрдд рд╕рдВрдХрд▓рди рдФрд░ рддреБрд░рдВрдд рдХрд╣реАрдВ рдЧрд╛рдпрдм рд╣реЛ рдЧрдпрд╛, рдХреНрдпреЛрдВрдХрд┐ рдбреЗрдврд╝ рдХрд┐рд▓реЛрдмрд╛рдЗрдЯ рдХреА рд░реИрдо рдореЗрдореЛрд░реА рд░реИрдо рд╣реИ, рдФрд░ рддреБрд░рдВрдд рд╕реНрдЯреИрдХ рдФрд░ рд╣реАрдк рдХреЛ рдпрд╛рдж рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрдирд╛рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдЙрдирдХрд╛ рдХрд╣реАрдВ рднреА рдЙрд▓реНрд▓реЗрдЦ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рд╕реНрдЯреИрдХ рдФрд░ рд╣реАрдк рдХреЗ рдЖрдХрд╛рд░ рдХреЛ рд▓рд┐рдВрдХрд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рджрд░реНрд╢рд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬреЛ рдПрдХреНрд╕рдЯреЗрдВрд╢рди .ld рдХреЗ рд╕рд╛рде рд╣реИ, рд╡реЗ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдмрджрд▓рдирд╛ рдЪрд╛рд╣рд┐рдПред рдпреЗ рдорд╛рди рдлрд╝рд╛рдЗрд▓ рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ рд▓реЗрдмрд▓ рдХреЗ рд░реВрдк рдореЗрдВ рд╕реНрдерд┐рдд рд╣реЛрддреЗ рд╣реИрдВ _Min_Heap_Size / _Min_Stack_Sx рдЖрдХрд╛рд░ рдореЗрдВ рд╣реЗрдХреНрд╕рд╛рдбреЗрд╕рд┐рдорд▓ рдХреЗ рд╕рд╛рдеред



рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ, рдореИрдВ рдПрдХ рдкрд╛рд░рдВрдкрд░рд┐рдХ рдПрд▓рдИрдбреА рдмреНрд▓рд┐рдВрдХрд┐рдВрдЧ рдХреА рдПрдХ рдЫреЛрдЯреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рджреВрдВрдЧрд╛ред

LED STM32F072B-DISCO рдбрд┐рдмрдЧ рдмреЛрд░реНрдб рдкрд░ рдЭрдкрдХреА рд▓реЗрдЧрд╛, 48 MHz рдХреА рдЖрд╡реГрддреНрддрд┐ рдХреЗ рд╕рд╛рде рдЖрдВрддрд░рд┐рдХ HSI48 рдЬрдирд░реЗрдЯрд░ рд╕реЗ рдХреНрд▓реЙрдХрд┐рдВрдЧ рдХреА рдЬрд╛рддреА рд╣реИ, рдФрд░ SysTick рдЯрд╛рдЗрдорд░ рдХреЛ рджреЗрд░реА рд╕реНрд░реЛрдд рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕рд╕реЗ 1 рдПрдордПрд╕ рдХреА рдЕрд╡рдзрд┐ рдмрд╛рдзрд┐рдд рд╣реЛрддреА рд╣реИ, рдЬрд┐рд╕рдХреЗ рджреНрд╡рд╛рд░рд╛ рд╕рдЯреАрдХ рд╡рд┐рд▓рдВрдм рд╕рдордп рдХреА рдЧрдгрдирд╛ рдХреА рдЬрд╛рддреА рд╣реИред рдПрд▓рдИрдбреА рдкреЛрд░реНрдЯ рд╕реА рдХреЗ рдкрд┐рди 6 рд╕реЗ рдЬреБрдбрд╝рд╛ рд╣реИ, рдкреБрд╢-рдкреБрд▓ рдЖрдЙрдЯрдкреБрдЯ рдХреЗ рд▓рд┐рдП рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдпрд╣ рдЬрд╛рдирдХрд╛рд░реА рдХрд┐рд╕реА рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдПрдХ рд╕рдордп, STM32 рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рд╕рд╛рдордЧреНрд░реА рдХреА рдкреНрд░рдЪреБрд░рддрд╛ рдХреЗ рдмрд╛рд╡рдЬреВрдж, рдореБрдЭреЗ рдЙрди рдЪреАрдЬреЛрдВ рдХреЛ рдорд╣рд╕реВрд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рд╕рд╛рд░реЗ рдлрд╛рд╡рдбрд╝реЗ рдЪрд▓рд╛рдиреЗ рдкрдбрд╝реЗ, рдЬреЛ рд╕реНрдкрд╖реНрдЯ рдкреНрд░рддреАрдд рд╣реЛрддреЗ рд╣реИрдВред

Source: https://habr.com/ru/post/hi481478/


All Articles