QtCreator рдХреЗ рд╕рд╛рде рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ stm32 рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░



рдХрд┐рд╕реА рддрд░рд╣, рдпрд╣ рдЗрддрдирд╛ рдЕрд╕рдВрдЧрдд рд░реВрдк рд╕реЗ рдмрджрд▓ рдЧрдпрд╛ рдХрд┐ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдЬрд┐рд╕рдиреЗ рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░ рдХреЗ рд▓рд┐рдП рдлрд░реНрдорд╡реЗрдпрд░ рд╡рд┐рдХрд╕рд┐рдд рдХрд┐рдпрд╛, рдореЗрд░реЗ рд╕рд╛рде рддрд╛рд▓рдореЗрд▓ рдирд╣реАрдВ рд░рдЦ рдкрд╛рдпрд╛ рдФрд░ рдХреБрдЫ рдмрд┐рдВрджреБрдУрдВ рдкрд░ рдореИрдВрдиреЗ рдкрд╣рд▓ рдХреЛ рдЬрдмреНрдд рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджрд┐рдпрд╛ рдФрд░ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рд╕реНрд╡рдпрдВ рдареАрдХ рдХрд░рдиреЗ рдХрд╛ рдХрд╛рдо рд╢реБрд░реВ рдХрд░ рджрд┐рдпрд╛ред

рд╡рд┐рдХрд╛рд╕ IAR рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рдЖрдпреЛрдЬрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдФрд░ рдХрдИ рд▓реЛрдЧ рдореБрдЭрд╕реЗ рд╕рд╣рдордд рд╣реЛрдВрдЧреЗ рдХрд┐, QtCreator рдореЗрдВ рд╡рд┐рдХрд╛рд╕ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ, рдпрд╣ рджрд░реНрдж рдФрд░ рдкреАрдбрд╝рд╛ рд╣реИред

рдХреБрдЫ рдмрд┐рдВрджреБ рдкрд░, рд╣рдордиреЗ рддрдп рдХрд┐рдпрд╛ рдХрд┐ рдПрдХ рдирдП рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреЛ рдХрд╛рдо рдкрд░ рд░рдЦрдирд╛ рдФрд░ рдЗрд╕рдХреЗ рд╕рд╛рде-рд╕рд╛рде stm32 рдХрдВрдЯреНрд░реЛрд▓рд░ рдХреА рдлрд░реНрдорд╡реЗрдпрд░ рдХреЛ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрдирд╛, рдХреНрдпреЛрдВрдХрд┐ рдЙрд╕ рдХреНрд╖рдг рддрдХ рдореБрдЭреЗ рдЙрдирдХреА рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдкрддрд╛ рдерд╛ рдФрд░ рдпрд╣ рднреА рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ QtCreator рдирдВрдЧреЗ рдзрд╛рддреБ рд╕реЗ рдбрд┐рдмрдЧ рдХрд░ рд╕рдХрддрд╛ рд╣реИред (рдмрд░рдореЗрдЯрд▓ рдкреНрд▓рдЧрдЗрди), рдореИрдВрдиреЗ рдЗрд╕рдореЗрдВ рдПрдХ рд╕рдХреНрд░рд┐рдп рднрд╛рдЧ рд▓реЗрдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред

рдпрд╣рд╛рдВ рдореИрдВ рдЯреЗрд░рд╛ рдЗрд▓реЗрдХреНрдЯреНрд░реЙрдирд┐рдХрд╛ рд╕реЗ stm32f407 рдХреЗ рд▓рд┐рдП рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдЯреЗрдореНрдкрд▓реЗрдЯ рд╕рд╛рдЭрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдФрд░ рдЗрд╕рдХреЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред



рдкрд░реАрдХреНрд╖рдг рдкрд░рд┐рдпреЛрдЬрдирд╛



рд╕реНрдЯреЗрдЬ рд╡рди - рдЯреВрд▓рдЪреЗрди


рд╡рд┐рдХрд╛рд╕ рдХреЗ рд▓рд┐рдП, рдпрд╛рдЧрд╛рд░реНрдЯреЛ, рдпрд╛ рдЬреАрд╕реАрд╕реА-рдЖрд░реНрдо-рдПрдореНрдмреЗрдбреЗрдб, рдЬрд┐рд╕реЗ рдпрд╣рд╛рдВ рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ ред рд▓рд┐рдирдХреНрд╕ рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдЕрдиреНрдп рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рдХреЗ рд▓рд┐рдП, рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╕реАрдорд╛ рд╣реИ: gdb рдЙрди рдореЗрдВ Python рд╕рдорд░реНрдерди рдХреЗ рдмрд┐рдирд╛ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬреЛ QtCreator рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдбрд┐рдмрдЧрд┐рдВрдЧ рдХреЛ рдЕрд╕рдВрднрд╡ рдмрдирд╛рддрд╛ рд╣реИ, рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рддрд░реАрдХрд╛ рд▓рд┐рдирдХреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реИ, рдпрд╛ рд╕рдмрд╕реЗ рдЦрд░рд╛рдм OSX, рдЬрд╣рд╛рдВ gdb рдХреЛ рдлрд┐рд░ рд╕реЗ рдмрдирд╛рдирд╛ рдЖрд╕рд╛рди рд╣реИ рдЕрдЬрдЧрд░ рдХрд╛ рд╕рдорд░реНрдерди



QtCreator рдХреЛ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рд╕реЗ рджреЛрдиреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЕрдЧрд░ рдЗрд╕рдХрд╛ рд╕рдВрд╕реНрдХрд░рдг 3.1 рд╕реЗ рдХрдо рдирд╣реАрдВ рд╣реИ, рдпрд╛ QQSDK рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рдХреЗ рд░реВрдк рдореЗрдВ рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдореБрдЦреНрдп рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рдЗрд╕рдореЗрдВ рдХреНрдпреВрдмреНрд╕ рдФрд░ рдмреЗрдпрд░рдореЗрдЯрд▓ рдХрд╛ рд╕рдорд░реНрдерди рд╢рд╛рдорд┐рд▓ рд╣реИ



рд╕реНрдЯреЗрдЬ рджреЛ - рдЖрдИрдбреАрдИ рд╕реЗрдЯрдЕрдк


рдмрд░рдореЗрдЯрд▓ рдФрд░ QbsProjectManager рдЪрд╛рд▓реВ рдХрд░реЗрдВ рдФрд░ рд░рд┐рдмреВрдЯ рдХрд░реЗрдВред







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







рдХрдВрдкрд╛рдЗрд▓рд░ рдЯреИрдм рдореЗрдВ, рд╣рдорд╛рд░реЗ рдЖрд░реНрдо-рдиреЛ-рдИрдЧрдмреА-рдЬреА ++ рдЬреЛрдбрд╝реЗрдВ







рдЙрд╕реА рддрд░рд╣ рд╣рдо рд╣рд╛рде-рдХреЛрдИ-рдПрдЧ-рдЬреАрдбреАрдмреА рдбрд┐рдмрдЧрд░ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдХреЗ рдмрд╛рдж рд╣рдо рдПрдХ рдирдИ рдХрд┐рдЯ рдмрдирд╛рддреЗ рд╣реИрдВ рдЬрд┐рд╕рдореЗрдВ рд╣рдо рдбрд┐рд╡рд╛рдЗрд╕ рдкреНрд░рдХрд╛рд░ "рдиреЗрдХреЗрдб рдбрд┐рд╡рд╛рдЗрд╕" рдХреЗ рд╕рд╛рде-рд╕рд╛рде рд╣рдорд╛рд░реЗ рдХрдВрдкрд╛рдЗрд▓рд░ рдФрд░ рдбреАрдмрдЧрд░ рдХреЛ рднреА рдЗрдВрдЧрд┐рдд рдХрд░рддреЗ рд╣реИрдВред







рд╕реНрдЯреЗрдЬ рддреАрди - рдПрдХ рдЯреЗрд╕реНрдЯ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрдирд╛рдПрдБ


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



рд╕реНрдЯреЗрдЬ рдЪрд╛рд░ - рд▓реЙрдиреНрдЪ


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







Openocd рдЪрд▓рд╛рдиреЗ рдХреЗ рдмрд╛рдж, рдЖрдк рдмрд╕ QtCreator рдореЗрдВ "рдкреНрд░рд╛рд░рдВрдн рдбрд┐рдмрдЧрд┐рдВрдЧ" рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдкрд░рд┐рдЪрд┐рдд рд╡рд╛рддрд╛рд╡рд░рдг рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣ рдЯреЗрдореНрдкреНрд▓реЗрдЯ lwip рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ tcp рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдФрд░ 192.168.1.10 рдкрд░ рд╕реНрдерд┐рдд рдПрдХ рд╕рд╛рдзрд╛рд░рдг tcp рдЗрдХреЛ рд╕рд░реНрд╡рд░ рд▓рд┐рдЦрддрд╛ рд╣реИ рдФрд░ рдкреЛрд░реНрдЯ 7000 рдкрд░ рд╕реБрдирддрд╛ рд╣реИ, рдФрд░ рдкрд┐рдВрдЧ рдЕрдиреБрд░реЛрдзреЛрдВ рдХрд╛ рдЬрд╡рд╛рдм рднреА рджреЗрддрд╛ рд╣реИред рдпрджрд┐ рд╕рдм рдХреБрдЫ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдЗрдХрдЯреНрдард╛ рдФрд░ рд╢реБрд░реВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рддреЛ рдЖрдк рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЪрд┐рддреНрд░ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ:







рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд▓реЗрдЦ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдЗрдирд╕рд╛рдЗрдб рдХреЗ рд╡рд┐рд╡рд░рдг рдХреЗ рдмрд┐рдирд╛ рдкреВрд░рд╛ рдирд╣реАрдВ рд╣реЛрдЧрд╛ред



рдЗрд╕ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рддрд╣рдд рдХреНрдпрд╛ рд╣реИ?



рдЕрд╕реЗрдВрдмрд▓реА рдпреВрдЬрд╝ рдХреНрдпреВрдмреНрд╕ рдХреЗ рд▓рд┐рдП, рдЬрд┐рдирдХреА рдЦреВрдмрд┐рдпреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрд╣рд▓реЗ рд╣реА рд╣реИрдмрд░ рдореЗрдВ рдЪрд░реНрдЪрд╛ рдХреА рдЬрд╛ рдЪреБрдХреА рд╣реИред



рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдлрд╝рд╛рдЗрд▓ рдХреЛ рдЕрд╡реНрдпрд╡рд╕реНрдерд┐рдд рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ Stm32Product, Stm32Application рдореЙрдбреНрдпреВрд▓ рдмрдирд╛рдпрд╛, рдЬрд┐рд╕рдореЗрдВ рдореИрдВрдиреЗ рдЕрд╕реЗрдВрдмрд▓реА рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╕рднреА рдХрдВрдкрд╛рдЗрд▓рд░ рдФрд░ рд▓рд┐рдВрдХрд░ рдХреБрдВрдЬреА рд╕реЗрдЯ рдХрд┐рдП



Stm32Product

import qbs Product { Depends { name: "cpp" } cpp.commonCompilerFlags: [ "-mcpu=cortex-m4", "-mthumb", "-mfpu=fpv4-sp-d16", //     "-mfloat-abi=softfp" //   ] cpp.linkerFlags: [ "-mcpu=cortex-m4", "-mthumb", "-mfpu=fpv4-sp-d16", "-mfloat-abi=softfp", ] }
      
      







Stm32Application

 Stm32Product { type: "application" // To suppress bundle generation on Mac consoleApplication: true cpp.positionIndependentCode: false cpp.executableSuffix: ".elf" cpp.linkerFlags: { base.push("-Xlinker"); base.push("--gc-sections"); return base; } }
      
      







рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдлрд╝рд╛рдЗрд▓ app.qbs

 import qbs import Stm32Application import qbs.FileInfo import qbs.ModUtils Stm32Application { name: "Application" cpp.includePaths: [ "app", "libs", "libs/cmsis", "libs/port/gcc", "libs/periphery", "libs/system", "libs/ethernet", "libs/lwip/src/", "libs/lwip/src/arch/", "libs/lwip/src/include", "libs/lwip/src/include/lwip", "libs/lwip/src/include/ipv4", //Use old internet protocol due ipv6 has experimental status "libs/lwip/src/include/netif", "libs/lwip/src/netif", "libs/lwip/include", ] cpp.defines: [ "STM32F4XX", //  cmsis    "STM32F40_41xxx", "USE_STDPERIPH_DRIVER", "HSE_VALUE=168000000", ] Properties { condition: cpp.debugInformation cpp.defines: outer.concat("DEBUG") } cpp.linkerScripts: [ "../ldscripts/libs.ld", //  :  ,   , ,    "../ldscripts/mem.ld", "../ldscripts/sections.ld", ] Group { name: "sources" prefix: "../**/" files: [ "*.c", "*.cpp", "*.h", "*.s" ] excludeFiles: [ "ipv6/*.*", "test/unit/**/*.*", ] cpp.cxxFlags: [ "-std=c++11" ] //gcc         C++11 cpp.cFlags: [ "-std=gnu99" ] cpp.warningLevel: "all" } Group { name: "ldscripts" prefix: "../ldscripts/" files: "*.ld" } }
      
      







рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдпрд╣ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЯреЗрдореНрдкрд▓реЗрдЯ рдЕрдиреНрдп рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░ рдХреЗ рд▓рд┐рдП рдЕрдиреБрдХреВрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдореБрд╢реНрдХрд┐рд▓ рдирд╣реАрдВ рд╣реЛрдЧрд╛, рдореБрдЦреНрдп рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рдЙрдиреНрд╣реЗрдВ рдмрд╛рд╣реНрдп рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрд░реЛрдд рдХреЛрдб рдореЗрдВ рдЬреАрд╕реАрд╕реА рд╕рдорд░реНрдерди рдФрд░ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдЙрдкрд▓рдмреНрдз рд╣реИрдВред рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдореЗрд░реЗ рдЬреИрд╕реЗ рдХрдИ рд▓реЛрдЧ рдХреНрдпреВрдЯреНрд░реАрдЯ рдореЗрдВ рдХрд╛рдо рдХрд░рдиреЗ рдореЗрдВ рдЕрдзрд┐рдХ рд╕рд╣рдЬ рд╣реИрдВ рдЬреИрд╕реЗ рдХрд┐ рдЧреНрд░рд╣рдг, рдХреЗрдИрдПрд▓ рдпрд╛ рдЖрдИрдПрдЖрд░ рдЬреИрд╕реЗ рдЖрдИрдбреАрдИ рдореЗрдВред



All Articles