рдЧреНрд░рд╣рдг рдореЗрдВ ARM7 рдирд┐рдпрдВрддреНрд░рдХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ: рдпрд╣ рдХреИрд╕реЗ рдХрд░рдирд╛ рд╣реИред v2.0

рдореИрдВрдиреЗ рдПрдХ рдмрд╛рд░ рдПрдХреНрд▓рд┐рдкреНрд╕ рдореЗрдВ рдирд┐рдпрдВрддреНрд░рдХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдкрд░ рдПрдХ рд▓реЗрдЦ рд▓рд┐рдЦрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдпрд╣ рдЙрдмрдВрдЯреВ рдХреЗ рддрд╣рдд рдФрд░ рдЯреВрд▓рдХрд┐рди рдХреА рдорджрдж рдХреЗ рдмрд┐рдирд╛ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдЕрдм рдореИрдВ рдЖрдкрдХреЛ рдмрддрд╛рдКрдВрдЧрд╛ рдХрд┐ рдЯреВрд▓рдХрд┐рди рдФрд░ рд╡рд┐рдВрдбреЛрдЬ рдХреЗ рддрд╣рдд рдпрд╣ рдХреИрд╕реЗ рдХрд░рдирд╛ рд╣реИред
рддреЛ, рдореЗрд░реЗ рдкрд╛рд╕ рдерд╛: рдЬрд╛рд╡рд╛ рдХреЗ рд▓рд┐рдП рдПрдХреНрд▓рд┐рдкреНрд╕, рдПрдХ рдПрдЯреА -91 рдПрд╕рдПрдПрдо 7 рдПрдХреНрд╕ 512 рдирд┐рдпрдВрддреНрд░рдХ рдХреЗ рд╕рд╛рде рдПрдХ рдмреЛрд░реНрдб, рдПрдЯрд▓рдо рдХрд╛ рдПрд╕рдПрдПрдо-рдЖрдИрд╕реАрдИ рдореЙрдбреНрдпреВрд▓ рдФрд░ рдПрдХ рдмреБрд░реЗ рдмреЙрд╕ рдХреЛ рдкреНрд░реЗрд░рдгрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ред


рдЧреНрд░рд╣рдг рдЖрдИрдбреАрдИ рд╕реНрдерд╛рдкрд┐рдд / рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ

рдкрд╣рд▓реА рдЪреАрдЬ рдЬреЛ рд╣рдо рдХрд░рддреЗ рд╣реИрдВ рд╡рд╣ рд╣реИ рдЧреНрд░рд╣рдг рдФрд░ рдЙрд╕рдореЗрдВ рдЬреЛ рдХреБрдЫ рднреА рд╣рдореЗрдВ рдЪрд╛рд╣рд┐рдП рд╡рд╣ рд╕рдм рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ред рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рдПрдХреНрд▓рд┐рдкреНрд╕ рдХреЗрдкрд▓рд░ рд╣реИред рдпрджрд┐ рдпрд╣ рд╕реНрдерд╛рдкрд┐рдд рдирд╣реАрдВ рд╣реИ, рддреЛ рдпрд╣рд╛рдВ рдЬрд╛рдПрдВ рдФрд░ рд╕реА / рд╕реА ++ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рд▓рд┐рдП рдЧреНрд░рд╣рдг рдЖрдИрдбреАрдИ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ, рдлрд┐рд░ рдЗрд╕реЗ рдПрдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╕реНрдерд╛рди рдкрд░ рдЕрдирдкреИрдХ рдХрд░реЗрдВред

рдпрджрд┐ рдЧреНрд░рд╣рдг рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╕реНрдерд╛рдкрд┐рдд рд╣реИ (рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЬрд╛рд╡рд╛ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рд▓рд┐рдП рдЧреНрд░рд╣рдг рдЖрдИрдбреАрдИ), рддреЛ рдЗрд╕реЗ рдЪрд▓рд╛рдПрдВ, рд╣рдорд╛рд░реЗ рд▓рд┐рдП рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдХрд╛рд░реНрдпрдХреНрд╖реЗрддреНрд░ рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ, рдЬрд╣рд╛рдВ рд╕рднреА рдкрд░рд┐рдпреЛрдЬрдирд╛рдПрдВ рдЭреВрда рдмреЛрд▓реЗрдВрдЧреА, рд╣реЗрд▓реНрдк тЗТ рдЗрдВрд╕реНрдЯрд╛рд▓ рдиреНрдпреВ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдореЗрдиреНрдпреВ рдкрд░ рдЬрд╛рдПрдВ рдФрд░ " рд╡рд░реНрдХ рд╡рд░реНрдХ ... "рдЪрдпрди рдХрд░реЗрдВ" рдХреЗрдкреНрд▓рд░ - download.eclipse.org/releases/kepler "ред рд╣рдо рдЗрд╕ рд╕реНрд░реЛрдд рдкрд░ рдХреНрдпрд╛ рд╣реИ, рдЗрд╕рдХреА рдПрдХ рд╕реВрдЪреА рджреЗрдЦреЗрдВрдЧреЗред " рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛ " рдиреЛрдб рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░реЗрдВ, " C / C ++ рдбреЗрд╡рд▓рдкрдореЗрдВрдЯ рдЯреВрд▓реНрд╕ " рдЪреЗрдХрдмреЙрдХреНрд╕ рдХреА рдЬрд╛рдВрдЪ рдХрд░реЗрдВ, рдлрд┐рд░ " рдореЛрдмрд╛рдЗрд▓ рдФрд░ рдбрд┐рд╡рд╛рдЗрд╕ рдбреЗрд╡рд▓рдкрдореЗрдВрдЯ " рдиреЛрдб рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░реЗрдВ, " C / C ++ GDB Hardware Debugging " рдЪреЗрдХрдмреЙрдХреНрд╕ рдХреА рдЬрд╛рдБрдЪ рдХрд░реЗрдВ, " рдЕрдЧрд▓рд╛ " рдФрд░ " рд╕рдорд╛рдкреНрдд " рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ ред рд╕реНрдерд╛рдкрдирд╛ рдХреЗ рдмрд╛рдж, рдЧреНрд░рд╣рдг рдкреБрдирдГ рдЖрд░рдВрдн рд╣реЛрдЧрд╛ред

рдпрджрд┐ рдЖрдкрдиреЗ C / C ++ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рд▓рд┐рдП рдЧреНрд░рд╣рдг IDE рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдпрд╛ рд╣реИ, рддреЛ C / C ++ GDB рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдбреАрдмрдЧрд┐рдВрдЧ рдкреНрд▓рдЧрдЗрди рдХреЛ рдлрд┐рд░ рд╕реЗ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░реЗрдВред рд╣рдореЗрдВ рдбрд┐рдмрдЧрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА, рд▓реЗрдХрд┐рди рдЕрдм рд╣рдо рдЯреВрд▓рдХрд┐рди рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдФрд░ рдкреНрд▓рдЧрдЗрди рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВрдЧреЗред

рдлрд┐рд░ рд╕реЗ, рд╣реЗрд▓реНрдк тЗТ рдЗрдВрд╕реНрдЯрд╛рд▓ рдиреНрдпреВ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдореЗрдиреВ рдкрд░ рдЬрд╛рдПрдВ, " рдРрдб " рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВред рджрд┐рдЦрд╛рдИ рджреЗрдиреЗ рд╡рд╛рд▓реА рд╡рд┐рдВрдбреЛ рдореЗрдВ, " рдирд╛рдо " рд▓рд╛рдЗрди рдореЗрдВ рдХрд┐рд╕реА рднреА рдирд╛рдо рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░реЗрдВ, рдФрд░ " рд╕реНрдерд╛рди " рд▓рд╛рдЗрди рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЗрдВрдЧрд┐рдд рдХрд░реЗрдВ:
gnuarmeclipse.sourceforge.net/updates
" рдареАрдХ рд╣реИ " рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВред рд╣рдореЗрдВ рдПрдХ рдПрдХрд▓ рдШрдЯрдХ рд╕реЗ рдЗрд╕ рд╕реНрд░реЛрдд рдореЗрдВ рдХреНрдпрд╛ рд╣реИ - " рд╕реАрдбреАрдЯреА рдЬреАрдПрдирдпреВ рдХреНрд░реЙрд╕ рдбреЗрд╡рд▓рдкрдореЗрдВрдЯ рдЯреВрд▓реНрд╕ " рдХреА рдПрдХ рд╡рд┐рд╢рд╛рд▓ рд╕реВрдЪреА рджрд┐рдЦрд╛рдИ рдЬрд╛рдПрдЧреАред рд╣рдордиреЗ рдЙрд╕ рдкрд░ рдПрдХ рдЯрд┐рдХ рд▓рдЧрд╛ рджрд┐рдпрд╛, " рдЕрдЧрд▓рд╛ " рдФрд░ " рд╕рдорд╛рдкреНрдд " рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ ред рд╕реНрдерд╛рдкрдирд╛ рдХреЗ рджреМрд░рд╛рди, рд╣рдо рдЪреЗрддрд╛рд╡рдиреА рдкрд░ рдзреНрдпрд╛рди рдирд╣реАрдВ рджреЗрддреЗ рд╣реИрдВ рдФрд░ рдУрдХреЗ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рддрдВрддреНрд░ рдорд╣рд╕реВрд╕ рдХрд░рддреЗ рд╣реИрдВред рд╕реНрдерд╛рдкрдирд╛ рдХреЗ рдмрд╛рдж, рдЧреНрд░рд╣рдг рдкреБрдирдГ рдЖрд░рдВрдн рд╣реЛрдЧрд╛ред
рд╡реЛрдЗрд▓рд╛, рдмрд╕ рдЗрддрдирд╛ рд╣реАред рдЪрд▓рд┐рдП рдЖрдЧреЗ рдмрдврд╝рддреЗ рд╣реИрдВред

рд╕рдВрдХрд▓рдХ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ

рд╣рдо рдпрд╣рд╛рдВ рдЬрд╛рддреЗ рд╣реИрдВ рдФрд░ рдЦрдЯреНрдЯреЗ рдХреЛрдбрдмреЗрдВрдЪ рд▓рд╛рдЗрдЯ рд╕рдВрд╕реНрдХрд░рдг рдЗрдВрд╕реНрдЯреЙрд▓рд░ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рддреЗ рд╣реИрдВред рдлрд┐рд▓рд╣рд╛рд▓, рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг 2013.11-24 рд╣реИред рд╕реНрдерд╛рдкрдирд╛ рд╕рд░рд▓ рд╣реИ, рдХреЗрд╡рд▓ рдПрдХ рдЪреАрдЬ рдЬрд┐рд╕ рдкрд░ рдЖрдкрдХреЛ рдзреНрдпрд╛рди рджреЗрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рд╡рд╣ рд╣реИ " рдкрд╛рде рдЪрд░ рдмрджрд▓реЗрдВ " рдЪреЗрдХрдмреЙрдХреНрд╕ред рд╕реНрдерд╛рдкрдирд╛ рдХреЗ рдмрд╛рдж, рдорд╢реАрди рдХреЛ рд░рд┐рдмреВрдЯ рдХрд░реЗрдВред
рдХрдорд╛рдВрдб рдкреНрд░реЙрдореНрдкреНрдЯ рдкрд░ рдЗрдВрд╕реНрдЯреЙрд▓реЗрд╢рди рдХреЛ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдХрдорд╛рдВрдб рдЪрд▓рд╛рдПрдБ:
arm-none-eabi-gcc -v ред
рдЙрд╕реЗ рд╣рдореЗрдВ рд╕рднреА рдЙрдкрдХрд░рдгреЛрдВ рдФрд░ рд╕рдВрдХрд▓рдХ рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рд╡рд┐рд╕реНрддреГрдд рд╡рд┐рд╡рд░рдг рджрд┐рдЦрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрд╣ рд╕рдм рд╕рдВрдХрд▓рдХ рдХреЗ рд╕рд╛рде рд╣реИред

рдПрдХ рдХрдВрдХрд╛рд▓ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдмрдирд╛рдПрдБ

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

рдПрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╣реИ, рдЕрдм рд╣рдореЗрдВ рдбрд┐рдмрдЧрд┐рдВрдЧ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдлрд╝рд╛рдЗрд▓ рдФрд░ рд▓рд┐рдВрдХрд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдФрд░ рдирд┐рдпрдВрддреНрд░рдХ рдореЗрдВ рдлрд░реНрдорд╡реЗрдпрд░ рдХреЗ рд▓рд┐рдПред
рд╣рдо рдпрд╣рд╛рдВ рдЬрд╛рддреЗ рд╣реИрдВ рдФрд░ I91 5.2, рдХреЗрдЗрд▓ рдФрд░ рдЬреАрдПрдирдпреВ рд╕рдВрдЧреНрд░рд╣ рдХреЗ рд▓рд┐рдП AT91SAM7X-EK рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдкреИрдХреЗрдЬ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рддреЗ рд╣реИрдВред рдЗрд╕рдореЗрдВ, рд╣рдо рдкрде / at91sam7x-ek / package / рдХреЗ рд╕рд╛рде рдЬрд╛рддреЗ рд╣реИрдВ рдФрд░ рдХрд┐рд╕реА рднреА рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХрд╛ рдЪрдпрди рдХрд░рддреЗ рд╣реИрдВ рдЬрд┐рд╕рдХрд╛ рдирд╛рдо gnu рдореЗрдВ рд╕рдорд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИред рдЗрд╕рдореЗрдВ, рд╣рдо рдЗрд╕ рддрд░рд╣ рдХреЗ рдПрдХ рдкрде / project_name / at91lib / рдмреЛрд░реНрдбреЛрдВ / at91sam7x-ek рдХреЗ рд╕рд╛рде рдЪрд▓рддреЗ рд╣реИрдВ, рдпрд╣рд╛рдБ рд╕реЗ board_cstartup.S рдлрд╝рд╛рдЗрд▓ рд▓реЗрдВ , рдФрд░ at91sam7x512 рдлрд╝реЛрд▓реНрдбрд░ рд╕реЗ рд╡рд╣рд╛рдБ рд╣реИ, рд╣рдо рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд▓реЗрддреЗ рд╣реИрдВ AT91SAM7X512.h , sram.ories , flash.urs рдФрд░ рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ред - рдПрдХ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВред

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

рдЕрдм рдЖрдкрдХреЛ .ories рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдереЛрдбрд╝рд╛ рдареАрдХ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЙрдиреНрд╣реЗрдВ рдЗрд╕ рд░реВрдк рдореЗрдВ рд▓рд╛рдУ:

sram.lds
OUTPUT_FORMAT ("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
OUTPUT_ARCH (рдмрд╛рдВрд╣)
рдкреНрд░рд╡реЗрд╢ (рдкреНрд░рд╡реЗрд╢)

рд╕реНрдореГрддрд┐
{
sram (W! RX): ORIGIN = 0x200000, LENGTH = 0x20000
рдлрд╝реНрд▓реИрд╢ (RX): ORIGIN = 0x000000, LENGTH = 0x80000
}

рд╡рд░реНрдЧреЛрдВ
{
ред = ALIGN (4);
.fixed:
{
_ рдЙрдкрд╕рд░реНрдЧ =;
* (рд╡реИрдХреНрдЯрд░)
*ред рд░рд╛рдордлреБрдирдХ)
*? (рдкрд╛рда *)
*; рдХреГрдВрддрдХ *
* (рдбреЗрдЯрд╛?)
ред = ALIGN (4);
_efixed = ;;
}> рд╢реНрд░рдо

.relocate: AT (_efixed)
{
ред = ALIGN (4);
_srelocate = ;;
ред = ALIGN (4);
_erelocate = ;;
}

.bs: {
_рд╕рдЬрд╝рд░реЛ = ;;
* (рдмреАрдПрд╕рдПрд╕)
*! bss *)
* (COMMON)
ред = ALIGN (4);
_рдЬреЗрд░реЛ = ;;
}> рд╢реНрд░рдо

_sstack = 0x220000;
}
рдЕрдВрдд = ;;


flash.lds
OUTPUT_FORMAT ("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
OUTPUT_ARCH (рдмрд╛рдВрд╣)
рдкреНрд░рд╡реЗрд╢ (рдкреНрд░рд╡реЗрд╢)

рд╕реНрдореГрддрд┐
{
sram (RWX): ORIGIN = 0x200000, LENGTH = 0x20000
рдлрд╝реНрд▓реИрд╢ (RX): ORIGIN = 0x100000, LENGTH = 0x80000
}

рд╡рд░реНрдЧреЛрдВ
{
.fixed:
{
ред = ALIGN (4);
_ рдЙрдкрд╕рд░реНрдЧ =;
* (рд╡реИрдХреНрдЯрд░)
* (рдкрд╛рда; *);
*; рдХреГрдВрддрдХ *
_efixed = ;;
}> рдлреНрд▓реИрд╢

.relocate: AT (_efixed)
{
_srelocate = ;;
* (рдбреЗрдЯрд╛?)
*? (рдбреЗрдЯрд╛ *)
ред = ALIGN (4);
_erelocate = ;;
}> рд╢реНрд░рдо

.bs: {
_рд╕рдЬрд╝рд░реЛ = ;;
* (рдмреАрдПрд╕рдПрд╕)
*! bss *)
* (COMMON)
ред = ALIGN (4);
_рдЬреЗрд░реЛ = ;;
}> рд╢реНрд░рдо

_sstack = 0x220000;
}
рдЕрдВрдд = ;;

рдХрдВрдХрд╛рд▓ рдХреА рдбрд┐рдЬрд╛рдЗрди рддреИрдпрд╛рд░ рд╣реИред
рдЕрдм рдЖрдк File-> New-> C / C ++ Source File рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдирдИ рдлрд╛рдЗрд▓реЗрдВ рдЬреЛрдбрд╝рдХрд░ рдХреЛрдб рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВред рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдереА рдФрд░ рдореИрдВрдиреЗ рдЗрд╕реЗ рдЖрдпрд╛рдд рдХрд┐рдпрд╛ред

рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╕реЗрдЯрдЕрдк

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

рдЯрд╛рд░реНрдЧреЗрдЯ рдкреНрд░реЛрд╕реЗрд╕рд░

  1. рдкреНрд░реЛрд╕реЗрд╕рд░ - arm7tdmi
  2. рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ - armv4t
  3. рдЕрдВрдЧреВрдард╛ - рд╡рд┐рдХрд▓рд╛рдВрдЧ
  4. рдЕрдВрдЧреВрдареЗ рдХрд╛ рдЕрдВрддрд░рд╛рд▓ - рд╕рдХреНрд╖рдо
  5. рдПрдВрдбрд┐рдпрдирдиреЗрд╕ - рд▓рд┐рдЯрд┐рд▓ рдПрдВрдбрд┐рдпрди
  6. рдлреНрд▓реЛрдЯ рдПрдмреАрдЖрдИ - рд▓рд╛рдЗрдмреНрд░реЗрд░реА
  7. рдЕрдиреНрдп рд▓рдХреНрд╖рд┐рдд рдЭрдВрдбреЗ: -рдорд░реНрдо - рдПрдордПрд▓рдВрдЧ-рдХреЙрд▓


рдПрдЖрд░рдПрдо рд╡рд┐рдВрдбреЛрдЬ рдЬреАрд╕реАрд╕реА рд╕реА рдХрдВрдкрд╛рдЗрд▓рд░ - рдЕрдиреБрдХреВрд▓рди

  1. рдкреИрдХ рд╕рдВрд░рдЪрдирд╛ - рд╡рд┐рдХрд▓рд╛рдВрдЧ
  2. рд▓рдШреБ рдЧрдгрди - рд╡рд┐рдХрд▓рд╛рдВрдЧ
  3. рд╕рдорд╛рд░реЛрд╣ рдЕрдиреБрднрд╛рдЧ - рд╕рдХреНрд╖рдо
  4. рдбреЗрдЯрд╛ рдЕрдиреБрднрд╛рдЧ - рдЕрдХреНрд╖рдо


рдПрдЖрд░рдПрдо рд╡рд┐рдВрдбреЛрдЬ рдЬреАрд╕реАрд╕реА рд╕реА рдХрдВрдкрд╛рдЗрд▓рд░ - рд╡рд┐рд╡рд┐рдз

  1. рднрд╛рд╖рд╛ рд╕реНрдЯреИрдВрдбрдЖрд░реНрдЯ - GNU рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреЗ рд╕рд╛рде ISO C99

рдпрд╣рд╛рдВ рдмрд╛рдХреА рдЪреАрдЬреЗрдВ рдирд╣реАрдВ рдЫреВрддреА рд╣реИрдВ

рдПрдЖрд░рдПрдо рд╡рд┐рдВрдбреЛрдЬ рдЬреАрд╕реАрд╕реА рд╕реА рд▓рд┐рдВрдХрд░

рдкреИрд░рд╛рдЧреНрд░рд╛рдл рдЬрдирд░рд▓ рдореЗрдВ:
  1. рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдлрд╝рд╛рдЗрд▓ - рдЕрднреА рддрдХ рд╕реНрдкрд░реНрд╢ рди рдХрд░реЗрдВ
  2. Standart рдкреНрд░рд╛рд░рдВрдн рдлрд╝рд╛рдЗрд▓реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рди рдХрд░реЗрдВ - рд╕рдХреНрд╖рдо
  3. рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рди рдХрд░реЗрдВ - рд╕рдХреНрд╖рдо
  4. рдЕрдкреНрд░рдпреБрдХреНрдд рдЕрдиреБрднрд╛рдЧ рдирд┐рдХрд╛рд▓реЗрдВ - рд╕рдХреНрд╖рдо

рдмрд╛рдХреА - рдмрдВрдж рдХрд░реЗрдВ

рд╡рд┐рд╡рд┐рдз рдореЗрдВ: рдХреНрд░реЙрд╕ рд░реЗрдлрд░реА рдмреЙрдХреНрд╕ рдХреА рдЬрд╛рдБрдЪ рдХрд░реЗрдВред

рдПрдЖрд░рдПрдо рд╡рд┐рдВрдбреЛрдЬ рдЬреАрдПрдирдпреВ рдлреНрд▓реИрд╢ рдЗрдореЗрдЬ - рдЖрдЙрдЯрдкреБрдЯ рдмрдирд╛рдПрдВ

  1. рдЖрдЙрдЯрдкреБрдЯ рдлрд╝рд╛рдЗрд▓ рдкреНрд░рд╛рд░реВрдк - ihex


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

рдЕрдм рд╣рдо ARM Windows GCC C Linker рдкрд░ рд╡рд╛рдкрд╕ рдЖрддреЗ рд╣реИрдВ - рд╕рд╛рдорд╛рдиреНрдп, рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝реАрд▓реНрдб рдореЗрдВ рдбреАрдмрдЧ рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ, рдФрд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдлрд╝рд╛рдЗрд▓ рдХреЗ рд░реВрдк рдореЗрдВ рд╣рдорд╛рд░реА sram.lds рдлрд╝рд╛рдЗрд▓ рдЪреБрдиреЗрдВред рдЕрдкреНрд▓рд╛рдИ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВред рдЕрдм рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ рд░рд┐рд▓реАрдЬрд╝ рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд░реЗрдВ, рдФрд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдлрд╝рд╛рдЗрд▓ рдХреЗ рд░реВрдк рдореЗрдВ рдлрд╝реНрд▓реИрд╢.рдСрд░реНрд╕реЗрд╕ рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ рдФрд░ рдлрд┐рд░ рд╕реЗ рд▓рд╛рдЧреВ рдХрд░реЗрдВ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВред рдпрд╣реА рд╣реИ, рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╕реЗрдЯрдЕрдк рдЦрддреНрдо рд╣реЛ рдЧрдпрд╛ рд╣реИред рдЕрдм рд╣рдо рд╡рд╛рдВрдЫрд┐рдд рдмрд┐рд▓реНрдб рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ рд╕рдХреНрд╖рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдлрд░реНрдорд╡реЗрдпрд░ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рд╣рдо рдбрд┐рдмрдЧрд┐рдВрдЧ рдЙрдкрд╡рд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ

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

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

рдореБрдЦреНрдп рдЯреИрдм:
  1. рдирд╛рдо - рдЪрд▓реЛ рдЗрд╕реЗ рдХреБрдЫ рдХрд╣рддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП GDB рд╕рд░реНрд╡рд░
  2. рд╕реНрдерд╛рди - рд╣рд╛рд▓ рд╣реА рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд JLink GDB рд╕рд░реНрд╡рд░ рдХреЗ рд▓рд┐рдП рдкрде рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░реЗрдВ, рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдпрд╣ C: \ Program Files (x86) \ SEGGER \ JLinkARM_V412 \ JLinkGDBServerCL.exe рд╣реИ
  3. рдХрд╛рд░реНрдп рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ - рд╣рдорд╛рд░реА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдлрд╝реЛрд▓реНрдбрд░ рдХреЗ рд▓рд┐рдП рдкрде рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВ
  4. рддрд░реНрдХ - рд╣рдореЗрдВ рдХрд┐рд╕реА рднреА рддрд░реНрдХ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, JTAG рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ


рд╕рд╛рдорд╛рдиреНрдп рдЯреИрдм:
  1. рдкрд╕рдВрджреАрджрд╛ рдореЗрдиреВ рдореЗрдВ рдбрд┐рд╕реНрдкреНрд▓реЗ рдкрд░ рдЪреЗрдХрдорд╛рд░реНрдХ рд▓рдЧрд╛рдПрдВ рдФрд░ рдкреГрд╖реНрдарднреВрдорд┐ рдореЗрдВ рд▓реЙрдиреНрдЪ рдХрд░реЗрдВред


рдЕрдм рдбрд┐рдмрдЧрд┐рдВрдЧ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдмрдирд╛рдПрдВред рд╣рдо рд░рди-> рдбрд┐рдмрдЧ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдиреВ рдореЗрдВ рдЬрд╛рддреЗ рд╣реИрдВ, рдЬреЛ рд╡рд┐рдВрдбреЛ рдЦреБрд▓рддреА рд╣реИ, рдЬреАрдбреАрдмреА рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдбрд┐рдмрдЧрд┐рдВрдЧ рдкрд░ рдбрдмрд▓-рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ, рдЬреЛ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдПрдХ рдирдпрд╛ рдбреАрдмрдЧрд┐рдВрдЧ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдмрдирд╛рдПрдЧрд╛ред рдЕрдиреБрдХреВрд▓рдиред
рдореБрдЦреНрдп рдЯреИрдм:
  1. C / C ++ рдПрдкреНрд▓рд┐рдХреЗрд╢рди - рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреЗ рд╕рд╛рде рдбреАрдмрдЧ рдлрд╝реЛрд▓реНрдбрд░ рд╕реЗ рд╣рдорд╛рд░реЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВ
  2. рдкреНрд░реЛрдЬреЗрдХреНрдЯ - рд╣рдорд╛рд░реЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░реЗрдВред
  3. рд╡рд┐рдВрдбреЛ рдХреЗ рдирд┐рдЪрд▓реЗ рд╣рд┐рд╕реНрд╕реЗ рдореЗрдВ, рд▓рд╛рдЧреВ рдХрд░реЗрдВ рдФрд░ рдкреАрдЫреЗ рдХреЗ рдмрдЯрди рдХреЗ рд╕реНрддрд░ рдкрд░, рдПрдХ рдФрд░ рдЫрд┐рдкреА рд╣реБрдИ рд╕реЗрдЯрд┐рдВрдЧ рд╣реИ, рдЖрдкрдХреЛ рдЗрд╕реЗ рдЕрдЧрд▓реЗ рдЯреИрдм рдкрд░ рдЬрд╛рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЦреЛрд▓рдирд╛ рд╣реЛрдЧрд╛ рдФрд░ " рд▓рд┐рдЧреЗрд╕реА рдЬреАрдбреАрдмреА рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдбрд┐рдмрдЧрд┐рдВрдЧ рд▓реЙрдиреНрдЪрд░ " рдЪреБрдиреЗрдВред


рдбреАрдмрдЧрд░ рдЯреИрдм:
  1. GDB рдХрдорд╛рдВрдб - рд╣рдорд╛рд░реЗ рдбрд┐рдмрдЧрд░ рдЖрд░реНрдо-рдиреЛ-рдИрдмреА-рдЬреАрдбреАрдмреАред Exe рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВ
  2. рдХрдорд╛рдВрдб рд╕реЗрдЯ - рд╕реНрдЯреИрдВрдбрдЖрд░реНрдЯ рд╡рд┐рдВрдбреЛрдЬ
  3. рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рд╕рдВрд╕реНрдХрд░рдг - mi
  4. рджреВрд░рд╕реНрде рд▓рдХреНрд╖реНрдп рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ - рд╕рдХреНрд╖рдо
  5. JTAG рдбрд┐рд╡рд╛рдЗрд╕ - рдЬреЗрдиреЗрд░рд┐рдХ рдЯреАрд╕реАрдкреА / рдЖрдИрдкреА
  6. рд╣реЛрд╕реНрдЯ рдирд╛рдо рдпрд╛ рдЖрдИрдкреА рдПрдбреНрд░реЗрд╕ - рд▓реЛрдХрд▓рд╣реЛрд╕реНрдЯ
  7. рдкреЛрд░реНрдЯ рдирдВрдмрд░ - 2331


рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдЯреИрдм:
  1. рд░реАрд╕реЗрдЯ рдФрд░ рджреЗрд░реА - рдЕрдХреНрд╖рдо
  2. рд╣реЙрд▓реНрдЯ - рд╡рд┐рдХрд▓рд╛рдВрдЧ
  3. рдЗрд╕рдХреЗ рдмрд╛рдж рдПрдХ рд╡рд┐рдВрдбреЛ рдЖрддреА рд╣реИ рдЬрд┐рд╕рдореЗрдВ рд╣рдо рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЖрд░рдВрднреАрдХрд░рдг рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рд╕рдВрдХреЗрдд рджреЗрддреЗ рд╣реИрдВ:
    # connect to the J-Link gdb server
    target remote localhost:2331
    # Set JTAG speed to 30 kHz
    monitor endian little
    monitor speed 30
    # Reset the target
    monitor reset 8
    monitor sleep 10
    # Change mapping, putting RAM at addr. 0
    monitor long 0xFFFFFF00 = 0x00000001
    # Setup GDB for faster downloads
    set remote memory-write-packet-size 1024
    set remote memory-write-packet-size fixed
    monitor speed 12000
    break main
    load
  4. рд▓реЛрдб рдЫрд╡рд┐ - рд╕рдХреНрд╖рдо, рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрд╛рдЗрдирд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ
  5. рд▓реЛрдб рдкреНрд░рддреАрдХреЛрдВ - рд╕рдХреНрд╖рдо, рдкрд░рд┐рдпреЛрдЬрдирд╛ рджреНрд╡рд┐рдЖрдзрд╛рд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ
  6. рдкреНрд░рддреАрдХ рдСрдлрд╕реЗрдЯ - рд╕реЗрдЯ рди рдХрд░реЗрдВ
  7. рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХрд╛рдЙрдВрдЯрд░ рдХреЛ рдЕрдХреНрд╖рдо рдкрд░ рд╕реЗрдЯ рдХрд░реЗрдВ
  8. рдмреНрд░реЗрдХрдкреЙрдЗрдВрдЯ рд╕реЗрдЯ рдХрд░реЗрдВ - рд╡рд┐рдХрд▓рд╛рдВрдЧ рдкрд░
  9. рдлрд┐рд░ рд╕реЗ рд╢реБрд░реВ - рд╡рд┐рдХрд▓рд╛рдВрдЧ
  10. рд░рди рдХрдорд╛рдВрдб - рдЦрд╛рд▓реА


рд╕рд╛рдорд╛рдиреНрдп рдЯреИрдм:
  1. рдкрд╕рдВрджреАрджрд╛ рдореЗрдиреВ рдореЗрдВ рдбрд┐рд╕реНрдкреНрд▓реЗ рдкрд░ рдЪреЗрдХрдорд╛рд░реНрдХ рдбрд╛рд▓реЗрдВ, рдХрдВрд╕реЛрд▓ рдХреЛ рдЖрд╡рдВрдЯрд┐рдд рдХрд░реЗрдВ рдФрд░ рдкреГрд╖реНрдарднреВрдорд┐ рдореЗрдВ рд▓реЙрдиреНрдЪ рдХрд░реЗрдВред


рд╕рдм рдХреБрдЫ рддреИрдпрд╛рд░ рд╣реИред рдЕрдм рдбрд┐рдмрдЧрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП, SAM-ICE рдХреЛ рд╣рдорд╛рд░реА рдорд╢реАрди рдХреЗ USB рдкреЛрд░реНрдЯ рдФрд░ рдХрдВрдЯреНрд░реЛрд▓рд░ рдмреЛрд░реНрдб рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░реЗрдВ, рд╣рдорд╛рд░реЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЛ рдЕрд╕реЗрдВрдмрд▓ рдХрд░реЗрдВ, GDB рд╕рд░реНрд╡рд░ рд▓реЙрдиреНрдЪ рдХрд░реЗрдВ, рдФрд░ рдлрд┐рд░ рдбреАрдмрдЧрд┐рдВрдЧ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ рд╕реНрд╡рдпрдВ рд▓реЙрдиреНрдЪ рдХрд░реЗрдВред

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

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

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


All Articles