рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╣реИ рдЬрд┐рд╕рдХрд╛ рд╡рд┐рдЪрд╛рд░ рдмреБрджреНрдзрд┐рдорд╛рди рдЧреЗрдЯрд╡реЗ рдФрд░ рд╣рдм рдХреЛ рдЬрд▓реНрджреА рд╕реЗ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд░реВрдкрд░реЗрдЦрд╛ рддреИрдпрд╛рд░ рдХрд░рдирд╛ рд╣реИред рдпрд╣ рддрдм рд╣реЛрддрд╛ рд╣реИ рдЬрдм рдПрдХ, рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ, рд╕рд╕реНрддреА рдирд┐рдпрдВрддреНрд░рдХ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЗ рдЕрдиреБрд╕рд╛рд░ рд╕реЗрдВрд╕рд░ рдХреЗ рдПрдХ рд╕рдореВрд╣ рдХреЛ рдХрд╛рд░реНрдп рдХрд░рддрд╛ рд╣реИ рдФрд░ рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ рд╕рд░реНрд╡рд░ рдХреЗ рд╕рд╛рде рдПрдХ рдХрдиреЗрдХреНрд╢рди рд╣реЛрддрд╛ рд╣реИред
рдЪреАрдЬреЛрдВ рдХреЗ рдЗрдВрдЯрд░рдиреЗрдЯ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕ рддрд░рд╣ рдХрд╛ рдПрдХ рд╡рд┐рдХрд▓реНрдкред
рдмреЗрд╢рдХ, рд░реВрдкрд░реЗрдЦрд╛ рдХреНрд░реЙрд╕-рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рд╣реИ рдФрд░ рдЗрд╕рдореЗрдВ рдЕрдзрд┐рдХрддрдо рд╕рдВрднрд╡ рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдФрд░ рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рд╢рд╛рдорд┐рд▓ рд╣реЛрдиреЗ рдЪрд╛рд╣рд┐рдПред рдЗрд╕рд▓рд┐рдП, рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдХрд╛рд░реНрдпреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдИрдХреЛрд╕ рдХреЗ рд▓рд┐рдП рдлреНрд░реЗрдорд╡рд░реНрдХ рдкреЛрд░реНрдЯ рд╣реИ, рдФрд░ рдХреЛрд░реНрдЯреЗрдХреНрд╕-рдПрдо 3 (рдПрд╕рдЯреАрдПрдо 32 рдПрдл 2) рдХреЛ рдЗрд╕рдХреЗ рд▓рд┐рдП рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдХреЗ рд░реВрдк рдореЗрдВ рдЪреБрдирд╛ рдЧрдпрд╛ рдерд╛, рдПрд╕рдЯреАрдПрдо 3220 рдЬреА рдПрд╡рд▓ рдмреЛрд░реНрдб рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдореЗрдВред рдореИрдВ рдЗрд╕ рддрд░рд╣ рдХреЗ рдЕрдЧреНрд░рд╛рдиреБрдХреНрд░рдо рдореЗрдВ рдорд╣рд╛рд░рдд рд╣рд╛рд╕рд┐рд▓ рдХрд░рдиреЗ рдХреЗ рдЕрдиреБрднрд╡ рдХреЛ рд╕рд╛рдЭрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред
рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдФрд░ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдХрд╛ рд╡рд┐рдХрд▓реНрдк рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдЖрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рд╣реА рдмрдирд╛ рдерд╛, рдЕрд░реНрдерд╛рддреНред рдЗрд╕реЗ рдПрдХ рджрд┐рдпрд╛ рдорд╛рдирд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдврд╛рдВрдЪреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХрд╛ рдЕрдзреНрдпрдпрди рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рднрд╛рд╖рд╛ рдХрд╛ рд╡рд┐рдХрд▓реНрдк рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ - рд╕реА ++ред рдПрдореНрдмреЗрдбреЗрдб рдореЗрдВ C ++ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╣реБрдд рдмрд╣рд╕ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рдЕрд▓рдЧ рд▓реЗрдЦ рд▓рд┐рдЦрдирд╛ рдмреЗрд╣рддрд░ рд╣реИред рдбреЗрдмрд┐рдпрди рдЬреАрдПрдирдпреВ / рд▓рд┐рдирдХреНрд╕ рдПрдПрдордбреА 64 рдХрд╛ рдЙрдкрдпреЛрдЧ рдореБрдЦреНрдп рд╡рд┐рдХрд╛рд╕ рдкреНрд░рдгрд╛рд▓реА рдХреЗ рд░реВрдк рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдПрдХ рдЕрд▓рдЧ рдлреНрд░реЗрдо рдкреЛрд░реНрдЯ рд╣реИред
1. рдИрдХреЛрд╕eCos (рдореИрдВ рдЗрд╕реЗ eXotic OS рдХрд╣рддрд╛ рд╣реВрдВ) рдПрдореНрдмреЗрдбреЗрдб рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рдиреНрдпрд╛рд╕ рдпреЛрдЧреНрдп рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рд╣реИред рдЗрд╕реЗ рд▓рдВрдмреЗ рд╕рдордп рд╕реЗ рд╡рд┐рдХрд╕рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдмрд╣реБрдд рд╡реНрдпрд╛рдкрдХ рдирд╣реАрдВ рд╣реИ (рдПрдХ рдмрд╛рд░ рдЬрдм рдореИрдВрдиреЗ рдЗрд╕рдХреЗ рдЙрдкрдпреЛрдЧ рдкрд░ рдЖрдВрдХрдбрд╝реЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рдЧреНрд░рд╛рдл рджреЗрдЦрд╛ рдерд╛ - рд╕рд░реНрд╡реЗрдХреНрд╖рдг рдХрд┐рдП рдЧрдП рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ 3-5% рдЬреИрд╕реЗ рдХреБрдЫ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ)ред рдПрдХ рд╡рд╛рдгрд┐рдЬреНрдпрд┐рдХ рд╡рд┐рдХрд▓реНрдк рднреА рд╣реИ - eCosCentric, рд▓реЗрдХрд┐рди рдЕрднреА рддрдХ рдЗрд╕рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реБрдЖ рд╣реИред рд╡реИрд╕реЗ, рдмрд╛рдж рдХреЗ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдиреЗ рдкреЛрд░реНрдЯ рдХреЛ STM3220G Eval рдмреЛрд░реНрдб рдХреЗ рд▓рд┐рдП рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░ рджрд┐рдпрд╛ред рдЗрдВрдЯрд░рдиреЗрдЯ рдкрд░ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╣реБрдд рдХреБрдЫ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИред
2. STM3220G рдХреЗ рд▓рд┐рдП eCos рдХрд╛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рдирдИрдХреЛрд╕ рд╡реЗрдмрд╕рд╛рдЗрдЯ рдкрд░ рдЖрдк рдЙрдкрдпреЛрдЧрд┐рддрд╛рдУрдВ рдФрд░ рдЯреВрд▓рдХрд┐рди рдХреЗ рджреНрд╡рд┐рдЖрдзрд╛рд░реА рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЗ рд▓рд┐рдВрдХ рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВред STM3220G рдХреЗ рд▓рд┐рдП рдкреЛрд░реНрдЯ рдЕрднреА рднреА CVS рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ рд╣реИред рдмрд╛рдЗрдирд░реА рд╕рдВрд╕реНрдХрд░рдг рдФрд░
рдЯреВрд▓рдЪреЗрди рдХреЛ
рдИрдХреЛ-рдЗрдВрд╕реНрдЯрд╛рд▓ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд╕рд╛рде рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдпрд╛
рдЬрд╛рддрд╛ рд╣реИ ред STM32F2 рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╣рд╛рде-рдИрдмреАрдмреА рдХреЗ рд▓рд┐рдП рдПрдХ рдЬреАрд╕реАрд╕реА рдкреЛрд░реНрдЯ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред
рдИрдХреЛрд╕ рдХреА рдПрдХ рд╡рд┐рд╢реЗрд╖рддрд╛ рдпрд╣ рд╣реИ рдХрд┐ рд╡рд╕реНрддреБрддрдГ рд╕рдм рдХреБрдЫ рдмрдВрдж рд╣реЛ рдЧрдпрд╛ рд╣реИред рдФрд░ рдпрд╣ рдбрд┐рдлрд╛рдЗрди-рдПрд╕ рдФрд░ рдИрдХреЛрд╕ рдбреЗрд╡рд▓рдкрд░реНрд╕ рджреНрд╡рд╛рд░рд╛ рд▓рд┐рдЦрд┐рдд рдПрдХ рд╡рд┐рджреЗрд╢реА рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд╕рд╛рде рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рджреЛ рдЙрдкрдпреЛрдЧрд┐рддрд╛рдУрдВ рджреНрд╡рд╛рд░рд╛ рджрд░реНрд╢рд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ: configtool рдФрд░ ecosconfigред рдкрд╣рд▓реЗ рдореЗрдВ рдЬреАрдЯреАрдХреЗ + рдЧреНрд░рд╛рдлрд┐рдХрд▓ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рд╣реИ, рджреВрд╕рд░рд╛ рдХрдВрд╕реЛрд▓ рд╣реИред рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, configtool рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдЖрдкрдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ рдЙрд╕ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдХреЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╢реБрд░реВ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЬрд╣рд╛рдВ рд╕реАрд╡реАрдПрд╕ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдлрд╛рдЗрд▓реЗрдВ рд╕рд╣реЗрдЬреА рдЬрд╛рддреА рд╣реИрдВ (рдореЗрдиреВ рдмрд┐рд▓реНрдб / рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА)ред рдЙрд╕рдХреЗ рдмрд╛рдж, рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ ST STM 3220G EVAL рдмреЛрд░реНрдб рд╡рд┐рдХрд▓реНрдк рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдЯреЗрдореНрдкреНрд▓реЗрдЯ (рдмрд┐рд▓реНрдб / рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдореЗрдиреВ) рдореЗрдВ рджрд┐рдЦрд╛рдИ рджреЗрдЧрд╛ред
рдлрд┐рд░ рдПрдХ рд╡рд┐рд╢реЗрд╖рддрд╛ рд╣реИ: рдЖрдкрдХреЛ рдЙрди рдкреИрдХреЗрдЬреЛрдВ рдХреЗ рдореВрд▓ рд╕реЗрдЯ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдЬреЛ рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдХреА рдЕрд╕реЗрдВрдмрд▓реА рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛрдВрдЧреЗред рдореБрдЭреЗ рддреБрд░рдВрдд рдХрд╣рдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ рд╕рднреА рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЛ рдЗрдХрдЯреНрдард╛ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рддрд╛рдХрд┐ рдПрдХ рдЫрд╡рд┐ рдкреНрд░рд╛рдкреНрдд рд╣реЛ рдЬреЛ рдирд┐рдпрдВрддреНрд░рдХ рдХреА рдлреНрд▓реИрд╢ рдореЗрдореЛрд░реА рдореЗрдВ рдлрд░реНрдорд╡реЗрдпрд░ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реИред рд╣рдорд╛рд░реЗ рдврд╛рдВрдЪреЗ рдХреЛ рдереНрд░реЗрдбреНрд╕ рдФрд░ рд╢реЗрдбреНрдпреВрд▓рд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рдо рдХрд░реНрдиреЗрд▓ рд╡рд┐рдХрд▓реНрдк рдЪреБрдирддреЗ рд╣реИрдВред рдкрд╣рд▓рд╛ рд╡рд┐рдХрд▓реНрдк рддреИрдпрд╛рд░ рд╣реИ - рдЖрдк рд╕рд┐рд╕реНрдЯрдо (рдореЗрдиреВ рдмрд┐рд▓реНрдб / рд▓рд╛рдЗрдмреНрд░реЗрд░реА) рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдкреВрд░реА рдкреНрд░рдгрд╛рд▓реА рд╣реЗрдбрд░ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХрд╛ рд╕рдВрдЧреНрд░рд╣ рд╣реИ, рдПрдХ рд╕реНрдерд┐рд░ рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╣реИ, рдФрд░ рд▓рд┐рдВрдХрд░ рдХреЛ рдирд┐рд░реНрджреЗрд╢ рд╣реИред рдпрд╣ рд╕рдм configtool рдЙрдкрдпреЛрдЧрд┐рддрд╛ рджреНрд╡рд╛рд░рд╛ рдПрдХ рдЕрд▓рдЧ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рдПрдХрддреНрд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдЪреВрдВрдХрд┐ рдлреНрд░реЗрдо-рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдХреНрд░реЙрд╕-рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рд╣реИ, рдЗрд╕рд▓рд┐рдП рдИ-рдЕрд╕реЛрд╕рд╕ рдЕрд╕реЗрдВрдмрд▓реА рдореЗрдВ рд╕реА рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдкреИрдХреЗрдЬ рдХреЛ рдЬреЛрдбрд╝рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ, рдЖрдИрдПрд╕рдУ рд╕реА рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдФрд░ рдкреЛрд╕рд┐рдХреНрд╕ рдХрдореНрдкрд╛рд░реНрдЯреЗрдмрд┐рд▓рд┐рдЯреА рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╕рднреА рдкреИрдХреЗрдЬред рдпрд╣ рд╕рд┐рд╕реНрдЯрдо рдХреА рдореВрд▓ рдЫрд╡рд┐ рдХреЛ рдереЛрдбрд╝рд╛ рдмрдврд╝рд╛рдПрдЧрд╛, рд▓реЗрдХрд┐рди рдпрд╣ рдЖрдкрдХреЛ рдПрдХ рдкрд╣рд┐рдпрд╛ (рдпрд╛рдиреА рдорд╛рдирдХ рд╕реА рд▓рд╛рдЗрдмреНрд░реЗрд░реА) рдХрд╛ рдЖрд╡рд┐рд╖реНрдХрд╛рд░ рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп рдкрд░рд┐рдЪрд┐рдд рд╕реА / рд╕реА ++ рднрд╛рд╖рд╛ рдореЗрдВ рд▓рд┐рдЦрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛ред
рдИрдХреЛрд╕ рдореЗрдВ, рдХрд╛рд░реНрдпрдХреНрд░рдо рдирд┐рд╖реНрдкрд╛рджрди рдореБрдЦреНрдп рдХрд╛рд░реНрдп рдХреЗ рд╕рд╛рде рдЖрдИрдПрд╕рдУ рд╕реА рдореЗрдВ рд╢реБрд░реВ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╕рд╛рдЗрдмрд░_рд╕реНрдЯрд╛рд░реНрдЯ () рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд╕рд╛рде рд╣реЛрддрд╛ рд╣реИ, рдЬреЛ рдХреЛрдб рдкреЛрд░реНрдЯреЗрдмрд┐рд▓рд┐рдЯреА рдкрд░ рдкреНрд░рддрд┐рдХреВрд▓ рдкреНрд░рднрд╛рд╡ рдбрд╛рд▓рддрд╛ рд╣реИред рдЗрд╕реЗ рдареАрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдЖрдИрдПрд╕рдУ рдкрд░реНрдпрд╛рд╡рд░рдг рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк / рд╕рдорд╛рдкреНрддрд┐ рдкреИрдХреЗрдЬ рдЬреЛрдбрд╝рдирд╛ рд╣реЛрдЧрд╛ред
рдЕрдВрддрд┐рдо рд╕реНрдкрд░реНрд╢ред рдирд┐рдпрдВрддреНрд░рдХ рд░реЙрдо рдХреЛ рд▓рд┐рдЦрд╛ рдЬрд╛ рд╕рдХрдиреЗ рд╡рд╛рд▓реА рдЫрд╡рд┐ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдкреНрд░рдХрд╛рд░ == ROM (рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди / eCos HAL / Cortex-M рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ / Cortex-M3 / -M4 STM32 рд╡реЗрд░рд┐рдПрдВрдЯ / STM32x0G-EVAL ... / рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдкреНрд░рдХрд╛рд░) рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдпрд╣ рдЖрдкрдХреЛ рд▓рд┐рдВрдХрд░ рдХреЗ рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЗ рд╕рд╛рде рд╕рд╣реА рдлрд╝рд╛рдЗрд▓ рдХреЛ рдЗрдХрдЯреНрдард╛ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛ред
рд╣рдо рдмрд┐рд▓реНрдб / рд▓рд╛рдЗрдмреНрд░реЗрд░реА, рдмрд┐рд▓реНрдб / рдЯреЗрд╕реНрдЯ рдХреЛ рдлрд┐рд░ рд╕реЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдпрд╣, рдЖрдк рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рд╢реБрд░реВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
3. рдИрдХреЛрд╕ рдХреЗ рд▓рд┐рдП рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧрдЬреИрд╕рд╛ рдХрд┐ рдкрд╣рд▓реЗ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдореБрдЦреНрдп рдврд╛рдВрдЪрд╛ рд╡рд┐рдХрд╛рд╕ рднрд╛рд╖рд╛ C ++ рд╣реИред рдЕрдзрд┐рдХрд╛рдВрд╢ рднрд╛рд╖рд╛ рдирд┐рд░реНрдорд╛рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдПрдиреНрдХреИрдкреНрд╕реБрд▓реЗрд╢рди, рд╡рд┐рд░рд╛рд╕рдд, рдмрд╣реБрд░реВрдкрддрд╛ (рдЖрднрд╛рд╕реА рддрд░реАрдХреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ), рдкреИрдЯрд░реНрди рдФрд░ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдЧрддрд┐рд╢реАрд▓ рдкреНрд░рдХрд╛рд░ рдХреА рдЬрд╛рдирдХрд╛рд░реА рднреА рд╢рд╛рдорд┐рд▓ рд╣реИред рдХреЗрд╡рд▓ рддреАрди рдЪреАрдЬреЛрдВ рдХреЛ рдЖрд╡реЗрджрди рд╕реЗ рддреБрд░рдВрдд рдмрд╛рд╣рд░ рд░рдЦрд╛ рдЧрдпрд╛ рдерд╛: рдЕрдкрд╡рд╛рдж, рдЧрддрд┐рд╢реАрд▓ рдореЗрдореЛрд░реА рдЖрд╡рдВрдЯрди, рдФрд░ рдПрд╕рдЯреАрдПрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ (рд╣рд╛рд▓рд╛рдВрдХрд┐ рдИрдХреЛрд╕ рдмрдВрдбрд▓ рдореЗрдВ рдПрдХ рдПрдирд╛рд▓реЙрдЧ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд╣реИ)ред рдпрд╣ рд╕рдм, рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рдЬреАрд╡рди рдХреЛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд░реВрдк рд╕реЗ рд╕рд░рд▓ рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ, рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреА рдЫрд╡рд┐ (рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рд╕рд╣рд┐рдд) рд╡реЙрд▓реНрдпреВрдо рдореЗрдВ 256K (ROM) рд╕реЗ рдЕрдзрд┐рдХ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИ, рдФрд░ рд╕рд╛рдорд╛рдиреНрдп рдСрдкрд░реЗрд╢рди рдХреЗ рд▓рд┐рдП рдирд┐рдпрдорд┐рдд 128K RAM рдкрд░реНрдпрд╛рдкреНрдд рд╣реИред
рдЗрд╕рд▓рд┐рдП, рдИрдХреЛрд╕ рд╣рдореЗрдВ рдПрдХ рд╕реА рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ рдЬреЛ рд▓рдЧрднрдЧ рдЖрдИрдПрд╕рдУ рдЕрдиреБрд░реВрдк рд╣реИ, рдФрд░ рд╕реА ++ рд╣рдореЗрдВ рдХреЛрдб рд▓рд┐рдЦрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдЬреЛ рдкрдврд╝рдиреЗ рдФрд░ рдмрдирд╛рдП рд░рдЦрдиреЗ рдореЗрдВ рдЖрд╕рд╛рди рд╣реИред рдпрд╣ рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реИ рдХрд┐ рдИрдХреЛрд╕ рдореЗрдВ рдЖрдИрдПрд╕рдУ рдФрд░ рдкреЛрд╕рд┐рдХреНрд╕ рдорд╛рдирдХреЛрдВ рдХреЗ рд╕рд╛рде рдЫреЛрдЯреА рд╡рд┐рд╕рдВрдЧрддрд┐рдпрд╛рдВ рд╣реИрдВред
рдПрдХ рдФрд░ рд╡рд┐рд╢реЗрд╖рддрд╛ред C ++ рдХреЛрдб рдХреЛ рдорд╛рдирдХ C ++ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдмрд┐рдирд╛ рд╕рд╣реА рддрд░реАрдХреЗ рд╕реЗ рд╕рдВрдХрд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ C-compiler (рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, gcc-arm-eabi) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред
4. рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд╛ рд╕рдВрдХрд▓рди рдФрд░ рд╕рдВрдпреЛрдЬрдиAutoconf / automake, рд╕рд╛рде рд╣реА cmake рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рдирд┐рд░реНрдорд╛рдг рдФрд░ рдкрд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП рд▓рд┐рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╡реЗ рдПрдХ-рджреВрд╕рд░реЗ рдХреА рдпрдерд╛рд╕рдВрднрд╡ рдирдХрд▓ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдСрдЯреЛрдЯреВрд▓ рдФрд░ рд╕реЗрдореАрдХреЗ рджреЛрдиреЛрдВ рдХреЗ рд╕рдорд░реНрдердХреЛрдВ рдХреА рдЬрд░реВрд░рддреЛрдВ рдХреЛ рдкреВрд░рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдирд╛рдП рдЬрд╛рддреЗ рд╣реИрдВред рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ, рдореЗрд░реА рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдСрдЯреЛрдЯреВрд▓рд╕ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореИрдВ рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦреВрдВрдЧрд╛ред
рд╕рд╣реА рдмрд┐рд▓реНрдб рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо (рдЯреВрд▓рдЪреИрди + рдХрдВрдкрд╛рдЗрд▓рд░ рд╕реЗрдЯрд┐рдВрдЧреНрд╕) рдХрд╛ рдЪрдпрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╣ рдСрдЯреЛрдХреЙрдиреНрдлрд╝ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд▓рд┐рдП рдорд╛рдирдХ рдХреБрдВрдЬрд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ (рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ред рдПрд╕реА рдлрд╝рд╛рдЗрд▓):
$ ../configure --host = arm-eabi --prefix = $ ECOS_INSTALL_DIR CXX = gcc-arm-eabi
рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, ECOS_INSTALL_DIR рдЪрд░ рдореЗрдВ рд╡рд╣ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдкрде рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдЬрд╣рд╛рдВ рд╢реАрд░реНрд╖ рд▓реЗрдЦ рдлрд╝рд╛рдЗрд▓реЗрдВ рдФрд░ eCos рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдПрдХрддреНрд░ рдХреА рдЬрд╛рддреА рд╣реИрдВ (рдЬреИрд╕рд╛ рдХрд┐ рдКрдкрд░ рд╕рдВрдХреЗрдд рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ - рдпрд╣ configtool рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ)ред
рдЗрди рдХреБрдВрдЬрд┐рдпреЛрдВ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдСрдЯреЛрдХреЙрдиреНрдлрд╝ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рд▓рд┐рдВрдХрд░ рдФрд░ рдХрдВрдкрд╛рдЗрд▓рд░ рдХреЗ рд▓рд┐рдП рдЪрд╛рдмрд┐рдпрд╛рдБ рдЬреЛрдбрд╝рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЗрд╕ рддрд░рд╣:
CFLAGS = "$ CFLAGS -ffunction-section -fdata-section"
CXXFLAGS = "$ CXXFLAGS -ffunction-section -fdata-section"
CPPFLAGS = "$ CPPFLAGS -I $ рдЙрдкрд╕рд░реНрдЧ / рд╢рд╛рдорд┐рд▓ -mcpu = cortex-m3 -mthumb"
LDFLAGS = "$ LDFLAGS -L $ рдЙрдкрд╕рд░реНрдЧ / lib -Ttarget.ld -mcpu = cortex-m3 -mthumb -Wl, - gc-section -Wl, -n -Wl, -static -nostartfiles -nostdlib"
рдЕрдЧрд░ рдХреЛрдИ рджрд┐рд▓рдЪрд╕реНрдкреА рд░рдЦрддрд╛ рд╣реИ рддреЛ рдореИрдВ рдкреВрд░реА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕рд╛рдЭрд╛ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВред
рд╡рд╣ рд╕рдВрдкреВрд░реНрдг рд╡рд┐рдиреНрдпрд╛рд╕ рд╣реИред
5. рдлреНрд▓реИрд╢ рдореЗрдореЛрд░реА рдореЗрдВ рдлрд░реНрдорд╡реЗрдпрд░ рдХреЗ рд▓рд┐рдП рдПрдХ рдЫрд╡рд┐ рддреИрдпрд╛рд░ рдХрд░рдирд╛рдСрдЯреЛрдЯреВрд▓рд╕ / рд╕реЗрдореА рдмрд┐рд▓реНрдб рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЖрдкрдХреЛ рдПрдПрд▓рдПрдл рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдлрд╝рд╛рдЗрд▓ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИрдВред рдпрд╣ рдХрдВрдЯреНрд░реЛрд▓рд░ рдлреНрд▓реИрд╢ рдореЗрдореЛрд░реА рдореЗрдВ рд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рдирд╣реАрдВ рд╣реИред рдлрд╝рд░реНрдорд╡реЗрдпрд░ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рдЫрд╡рд┐ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ objcopy рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реЛрдЧрд╛:
$ рднреБрдЬрд╛-рдИрдмреА-рдУрдмреНрдЬреЗрдХреНрдкреА-рдУ рдмрд╛рдЗрдирд░реА <рдЕрдкрдиреА-рдпреЛрдЧрд┐рдиреА-рдлрд╝рд╛рдЗрд▓> <рдЖрдкрдХреА рдЫрд╡рд┐> .bin
рдЗрд╕ рдЖрджреЗрд╢ рдХреЛ рдПрдХ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд╕реНрдХреНрд░рд┐рдкреНрдЯ (Makefile.am рдлрд╝рд╛рдЗрд▓) рдореЗрдВ рд░рдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЗрд╕ рддрд░рд╣:
рд╕реНрдерд╛рдкрд┐рдд-рдХрд╛рд░реНрдпрдХрд╛рд░реА рд╣реБрдХ:
рдпрджрд┐ PLATFORM_ECOS
$ (host_alias) -objcopy -O рдмрд╛рдЗрдирд░реА $ (bindir) / $ (PROGRAM_NAME) $ (EXEEXT) $ (bindir) / $ (PROGRAM_NAME) $ (EXEEXT) .bin
endif
рдпрд╣ рд╕рдм рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдЖрдк рдирд┐рдпрдВрддреНрд░рдХ рдХреЗ рдлреНрд▓реИрд╢ рдореЗрдореЛрд░реА рдореЗрдВ рдлрд░реНрдорд╡реЗрдпрд░ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдХрдорд╛рдВрдб рдХреЗ рд╕рд╛рде рдПрдХ рдЫрд╡рд┐ рддреИрдпрд╛рд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
$ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ
рдмрд╕ рдЗрддрдирд╛ рд╣реАред