AVR рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░ рдФрд░ рдПрдбрд╛ рднрд╛рд╖рд╛

рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рдореИрдВ рд░реЙрд▓реНрдл рдПрдмрд░реНрдЯ рджреНрд╡рд╛рд░рд╛ AVR-Ada рдкреНрд░реЛрдЬреЗрдХреНрдЯ ( sourceforge.net/projects/avr-ada ) рдХреЗ рд▓рд┐рдП рдПрдХ рд▓рд┐рдВрдХ рд╕рд╛рдЭрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдФрд░ рдПрдХ рдорд╛рдЗрдХреНрд░реЛрд▓реЙрдХрд░ рдкрд░ рдПрдХ рд╢реМрдХрд┐рдпрд╛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ Ada рднрд╛рд╖рд╛ рдХреЗ рдЙрдкрдпреЛрдЧ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рджреЗрддрд╛ рд╣реВрдВред рд▓реЗрдЦ рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдЬреЛ рдореЗрд░реА рддрд░рд╣, рд╕реА рднрд╛рд╖рд╛ рдХреЗ рд╕рд╛рде рдкреВрд░реА рддрд░рд╣ рд╕реЗ рджреЛрд╕реНрдд рдирд╣реАрдВ рд╣реИрдВред рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ, рдЖрдЗрдП рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рдЙрдкрдХрд░рдг рд▓реЗрдВ - рдбреАрдПрд╕ 18 рдмреА 20 рд╕реЗрдВрд╕рд░ рдкрд░ рдПрдХ рдерд░реНрдорд╛рдореАрдЯрд░ рдФрд░ рдПрд▓рдИрдбреА рд╕рдВрдХреЗрдд рдХреЗ рд╕рд╛рде рдПрдХ рдПрдЯреАрдЯрд╛рдЗрдиреА 13 рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░ред

рдерд░реНрдорд╛рдореАрдЯрд░



рднрд╛рдЧ 1. рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдШрдЯрдХ


рдлрд░реНрдорд╡реЗрдпрд░ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рд╣реЛрдВрдЧреЗ:
1.1ред WinAVR-20100110 ( sourceforge.net/projects/winavr/files/WinAVR/20100110 ) - рдПрд╕реЗрдВрдмрд▓рд░ рдФрд░ рд╕реА рдореЗрдВ рдлрд░реНрдорд╡реЗрдпрд░ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрд╕рдбреАрдХреЗред Ada рд╕рд┐рдВрдЯреИрдХреНрд╕ рд╣рд╛рдЗрд▓рд╛рдЗрдЯрд┐рдВрдЧ рдХреЗ рд╕рд╛рде "рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдиреЛрдЯрдкреИрдб" рд╢рд╛рдорд┐рд▓ рд╣реИред
1.2ред AVR-Ada-1.1.0 ( sourceforge.net/projects/avr-ada/files/avr-ada/bin_windows ) - WinATR рдХреЗ рд▓рд┐рдП GNAT рдХрдВрдкрд╛рдЗрд▓рд░ рдФрд░ Ada рд▓рд╛рдЗрдмреНрд░реЗрд░реАред рдирдореВрдирд╛ рдХрд╛рд░реНрдпрдХреНрд░рдо рд╢рд╛рдорд┐рд▓ рд╣реИрдВред
1.3ред рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ред рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдпрд╣ AvrOSPII рд╣реИ, рдЬреЛ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреЗ рд╕рд╛рде рдмрдВрдбрд▓ рдореЗрдВ рдЖрдпрд╛ рдерд╛ред

AVR-Ada рдХреЗ рдбрд╛рдЙрдирд▓реЛрдб рдЕрдиреБрднрд╛рдЧ рдореЗрдВ рд╕рдВрд╕реНрдХрд░рдг 1.1 рдФрд░ 1.2 рд╣реИрдВред рд╕реНрдерд╛рдкрдирд╛ рдореЗрдВ рдЖрд╕рд╛рдиреА рдХреЗ рд▓рд┐рдП, рдореИрдВ рдкреБрд░рд╛рдиреЗ рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреЗрддрд╛ рд╣реВрдВ, рдХреНрдпреЛрдВрдХрд┐ рдирдП рдХреЛ рдХрдИ рдЕрддрд┐рд░рд┐рдХреНрдд рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ (рдбреАрдПрд▓рдПрд╕) рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ рдЬреЛ рдЗрдВрд╕реНрдЯреЙрд▓рд░ рдореЗрдВ рдирд╣реАрдВ рд╣реИрдВред рдпрджрд┐ рдЖрдк рд╕рдВрд╕реНрдХрд░рдг 1.2 рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рд▓рд╛рдкрддрд╛ рднрд╛рдЧреЛрдВ рдХреЛ рдорд┐рдирдЧреЙрд╡ ( sourceforge.net/projects/mingw/files ) рдореЗрдВ рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

AVR-Ada рдХреЛ рдЙрд╕реА рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ WinAVR рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рд╕рдВрдХрд▓рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ C: \ WinAVR-20100110 \ utils \ bin рдФрд░ C: \ WinAVR-20100110 \ bin рдХреЛ рдкрде рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред

рднрд╛рдЧ 2. рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдШрдЯрдХ


рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЙрдкрдХрд░рдгреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:
2.1ред рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ - рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ - рдЗрдиреЗрдХреНрд╕ рдкреАрдПрдХреНрд╕ -400 "рдЧрд╛рдВрд╡" рд╕реНрдЯреЛрд░ рдХреЗ рд╡рд░реНрдЧреАрдХрд░рдг рджреНрд╡рд╛рд░рд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
2.2ред рдерд░реНрдорд╛рдореАрдЯрд░ рдФрд░ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреЗ рд▓рд┐рдП рдмрд┐рдЬрд▓реА рдХреА рдЖрдкреВрд░реНрддрд┐ - 5 рд╡реА рдореЛрдмрд╛рдЗрд▓ рдлреЛрди рдХреЗ рд▓рд┐рдП рдХреЛрдИ рднреА рдЪрд╛рд░реНрдЬрд░ рдЙрдкрдпреБрдХреНрдд рд╣реИ
2.3ред рджрд░рдЕрд╕рд▓ рдПрдХ рдерд░реНрдорд╛рдореАрдЯрд░ред

рдпреЛрдЬрдирд╛

рдбрд┐рд╡рд╛рдЗрд╕ рдореЗрдВ рдПрдХ ATtiny13 рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░ ( www.atmel.com/devices/attiny13.aspx ), рдПрдХ DS18B20 рддрд╛рдкрдорд╛рди рд╕реЗрдВрд╕рд░, рдХрдо рд╕реЗ рдХрдо 100 рдУрдо рдХрд╛ рдПрдХ рд╡рд░реНрддрдорд╛рди рд╕реАрдорд┐рдд рдЕрд╡рд░реЛрдзрдХ, рдФрд░ рдПрдХ рдПрд▓рдИрдбреА рд╢рд╛рдорд┐рд▓ рд╣реИрдВред рд╕реЗрдВрд╕рд░ 1-рддрд╛рд░ рдмрд╕ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░ рдХреЗ рдкреАрдмреА 4 рдкрд┐рди рд╕реЗ рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рд╣реИред рдХреГрдкрдпрд╛ рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ (RESET, SCK, MOSI, MISO) рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдЯрд░реНрдорд┐рдирд▓реЛрдВ рд╕реЗ рд╕реЗрдВрд╕рд░ рдХреЛ рдХрдиреЗрдХреНрдЯ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рдХреНрдпреЛрдВрдХрд┐ рдбреЗрдЯрд╛ рдПрдХреНрд╕рдЪреЗрдВрдЬ рдореЗрдВ рд╕реЗрдВрд╕рд░ рдХрд╛ рд╣рд╕реНрддрдХреНрд╖реЗрдк рдЕрдкреНрд░рддреНрдпрд╛рд╢рд┐рдд рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЛ рдЬрдиреНрдо рджреЗ рд╕рдХрддрд╛ рд╣реИред 1-рддрд╛рд░ рдмрд╕ рд╡рд┐рд╡рд░рдг рдореЗрдВ рдЖрд╡рд╛рд░рд╛ рдореЛрдб рдХреЗ рд▓рд┐рдП 4.7 kOhm рдпрд╛ рдЙрд╕рд╕реЗ рдХрдо рдХреЗ рдкреБрд▓-рдЕрдк рдкреНрд░рддрд┐рд░реЛрдз рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рд▓рдВрдмреЗ рдЯрд╛рдпрд░ рдХреА рд▓рдВрдмрд╛рдИ рдХреЗ рд╕рд╛рде рдЗрд╕ рдореВрд▓реНрдп рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреА рднреА рд╕рд┐рдлрд╛рд░рд┐рд╢ рдХреА рдЬрд╛рддреА рд╣реИред рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдмрд╕ рдХреА рд▓рдВрдмрд╛рдИ рдиреНрдпреВрдирддрдо рд╣реИ рдФрд░ рдкрд░рдЬреАрд╡реА рд╢рдХреНрддрд┐ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░ рдореЗрдВ рдирд┐рд░реНрдорд┐рдд 20-50 kOhm рдХрд╛ рдПрдХ рдкреБрд▓-рдЕрдк рдЕрд╡рд░реЛрдзрдХ рдкрд░реНрдпрд╛рдкреНрдд рд╣реИред рдПрд▓рдИрдбреА рдкрд┐рди рдкреАрдмреА 3 рд╕реЗ рдЬреБрдбрд╝рд╛ рд╣реИред рдПрд▓рдИрдбреА рдХреЛ рдЯрд░реНрдорд┐рдирд▓реЛрдВ SCK, MOSI, MISO рд╕реЗ рдЬреЛрдбрд╝рдирд╛ рднреА рд╕рдВрднрд╡ рд╣реИ, рд▓реЗрдХрд┐рди рдЖрдкрдХреЛ рдХрдИ рдЕрддрд┐рд░рд┐рдХреНрдд рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЛ рдкреВрд░рд╛ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред

рдПрд▓рдИрдбреА рдХреЛ рдЪрд╛рд▓реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░ рдХреЗ рд╕рдВрдмрдВрдзрд┐рдд рдЖрдЙрдЯрдкреБрдЯ рдХреЛ "рдЖрдЙрдЯрдкреБрдЯ" рдореЛрдб рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдирд╛ рдФрд░ рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рдЙрдЪреНрдЪ рд╕реНрддрд░ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИред рддрд╛рдкрдорд╛рди рд╕рдВрд╡реЗрджрдХ рдХреЗ рд╕рд╛рде рдбреЗрдЯрд╛ рдХрд╛ рдЖрджрд╛рди-рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдПрдХ рддреИрдпрд╛рд░ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬреЛ рд╕реНрд╡рддрдВрддреНрд░ рд░реВрдк рд╕реЗ рдЖрдЙрдЯрдкреБрдЯ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдЧрд╛ред рд╕рдордп рдХреА рджреЗрд░реА рдХреЗ рд╕рд╣реА рд╕рдВрдЪрд╛рд▓рди рдХреЗ рд▓рд┐рдП, рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░ рдХреА рдШрдбрд╝реА рдЖрд╡реГрддреНрддрд┐ рдХреЛ 8 рдореЗрдЧрд╛рд╣рд░реНрдЯреНрдЬ ("рдлреНрдпреВрдЬ рдмрд┐рдЯ" CKDIV8 = 1) рдкрд░ рд╕реЗрдЯ рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИред ATtiny13 рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ 1 MHz рдкрд░ рд╕реЗрдЯ рд╣реИред рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреЗ рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рд╕реНрдерд╛рдкрдирд╛ рдХреА рдЬрд╛рддреА рд╣реИред

рднрд╛рдЧ 3. рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ


рдЬреИрд╕рд╛ рдХрд┐ рд▓реЗрдЦ рдХрд╛ рдирд╛рдо рд╣реИ, рд╣рдо рдПрдбреАрдП рдореЗрдВ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХрд░реЗрдВрдЧреЗред рднрд╛рд╖рд╛ рд╕реАрдЦрдирд╛ рдЖрд╕рд╛рди рд╣реИ, рд╕реНрд░реЛрдд рдХреЛрдб рдкрдврд╝рдирд╛ рдЖрд╕рд╛рди рд╣реИред рд░реВрд╕реА рдореЗрдВ рдкрд╛рдареНрдпрдкреБрд╕реНрддрдХ рдпрд╣рд╛рдВ ada-ru.org/V-0.4w/index.html рдкрд░ рдкрдврд╝реА рдЬрд╛ рд╕рдХрддреА рд╣реИ

рдЪрд▓реЛ рдПрд▓рдИрдбреА рдлреНрд▓реИрд╢ рдХрд░рдХреЗ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВред рд╕рдВрдкреВрд░реНрдг рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рд╕реНрд░реЛрдд рдкрд╛рда (рдлрд╝рд╛рдЗрд▓ "Main.adb"), рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдлрд╝рд╛рдЗрд▓ (build.gpr) рдФрд░ "make" рдЙрдкрдпреЛрдЧрд┐рддрд╛ (рдореЗрдХрдлрд╛рдЗрд▓) рдХрд╛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╢рд╛рдорд┐рд▓ рд╣реЛрдЧрд╛ред рдкрд┐рдЫрд▓реЗ рджреЛ рднрд╛рдЧ рд╕рдВрдХрд▓рди рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдкрд┐рдд рднрд╛рдЧ рдореЗрдВ рд▓рд┐рдЦреЗ рдЧрдП рд╣реИрдВред "Main.adb" рдлрд╝рд╛рдЗрд▓ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрд╛рдИ рджреЗрдЧреА:

Main.adb


рд▓рд┐рд╕реНрдЯрд┐рдВрдЧ 1



рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рд╣реА рдХреЛрдб:
Main.adb


рд▓рд┐рд╕реНрдЯрд┐рдВрдЧ 2



рд╣рдо рд╕реЗрдВрд╕рд░ рдореЗрдореЛрд░реА рд╕реЗ рддрд╛рдкрдорд╛рди рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдХреЛрдб рдХреЗ рд╕рд╛рде рдЙрджрд╛рд╣рд░рдг рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░реЗрдВрдЧреЗред рдЖрдкрдХреЛ рдЙрдкрд░реЛрдХреНрдд рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд▓рд┐рдП One_Wire рд▓рд╛рдЗрдмреНрд░реЗрд░реА (рдлрд╝рд╛рдЗрд▓реЗрдВ one_wire.ads, one_wire.adb, one_wire-init_comm.adb, one_wire-avr_wiring.ads) рдХреЛ рдЬреЛрдбрд╝рдирд╛ рд╣реЛрдЧрд╛, рдЬреЛ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ "C: \ WinAVR-20100110 \ lib \ gnat \ onewire" рдореЗрдВ рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдлрд╝рд╛рдЗрд▓ "one_wire-avr_wiring.ads" рдкрд░ рдзреНрдпрд╛рди рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЗрд╕рдореЗрдВ, рдЖрдкрдХреЛ 1-рддрд╛рд░ рдмрд╕ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░ рдХреЗ рдЖрдЙрдЯрдкреБрдЯ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рджреА рдЧрдИ рдпреЛрдЬрдирд╛ рдХреЗ рд▓рд┐рдП, рдпрд╣ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦреЗрдЧрд╛:
one_wire-avr_wiring.ads


рд▓рд┐рд╕реНрдЯрд┐рдВрдЧ 2



рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рдЙрджрд╛рд╣рд░рдг рдХреЛрдб:
Main.adb


рд▓рд┐рд╕реНрдЯрд┐рдВрдЧ 3



рднрд╛рдЧ 4. рд╕рдВрдХрд▓рди


рдЬреИрд╕рд╛ рдХрд┐ рдкрд╣рд▓реЗ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд╕рдВрдХрд▓рди "рдореЗрдХ" рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ "C: \ WinAVR-20100110 \ utils \ bin" рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рд╕реНрдерд┐рдд рд╣реИред рд╕рдВрдХрд▓рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдлрд╝реЛрд▓реНрдбрд░ рд╕реЗ Makefile рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рд╕рд╛рде рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ C: \ WinAVR-20100110 \ share \ doc \ avr-ada \ apps \ рдЙрджрд╛рд╣рд░рдг рдФрд░ рдЗрд╕рдореЗрдВ рдЖрд╡рд╢реНрдпрдХ рдкреИрд░рд╛рдореАрдЯрд░ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВ:

makefile
#   MCU := attiny13 #    GNAT (  ) GPR := build.gpr #    ADA_TARGETS := main #     ... 


GNAT рдХрдВрдкрд╛рдЗрд▓рд░ (GNU Ada Compiler) рдЖрдкрдХреЛ "* .gg" рдПрдХреНрд╕рдЯреЗрдВрд╢рди рд╡рд╛рд▓реА рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдлрд╝рд╛рдЗрд▓ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╡рд┐рднрд┐рдиреНрди рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЛ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рдЙрджрд╛рд╣рд░рдг "C: \ WinAVR-20100110 \ share \ doc \ avr-ada \ apps \ example" рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рднреА рджреЗрдЦреЗ рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВред рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдпрд╣ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦреЗрдЧрд╛:
build.gpr
 project Build extends "avr_app" is --  ""   "avr_app", --    AVR-Ada for Object_Dir use "obj"; --      obj, --     for Exec_Dir use "."; --        for Source_Dirs use ("."); --        end Build; 


рдЕрдм рдЖрдк рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рд╕рдВрдХрд▓рди рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
 >cd "  " >make 

рдХрдВрд╕реЛрд▓ рдореЗрдВ рдирд╣реАрдВ рдЪрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП, рдкреНрд░реЛрдЧреНрд░рд╛рдорд░реНрд╕ рдиреЛрдЯрдкреИрдб рдореЗрдВ рдХрдорд╛рдВрдб рдЯреВрд▓реНрд╕> [WinAVR] рд╕рднреА рдмрдирд╛рдПрдВред
рдЙрдЪреНрдЪ рд╕рдВрднрд╛рд╡рдирд╛ рдХреЗ рд╕рд╛рде, рд╕рдВрдХрд▓рди рдкрд╣рд▓реА рдмрд╛рд░ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдпрд╣ рдПрдбрд╛ рдХреЗ рдмрд╣реБрдд рдХрдареЛрд░ рд╡рд╛рдХреНрдпрд╡рд┐рдиреНрдпрд╛рд╕ рдФрд░ рд╕реВрдХреНрд╖реНрдо рд╕рдВрдХрд▓рдХ рдХреЗ рдХрд╛рд░рдг рд╣реИред рдЖрдкрдХреЛ рдмрд╣реБрдд рд╕реА рд╕рд┐рдВрдЯреИрдХреНрд╕ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рдареАрдХ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдЬрд┐рдиреНрд╣реЗрдВ рдЕрдиреНрдп рднрд╛рд╖рд╛рдУрдВ рдореЗрдВ рддреНрд░реБрдЯрд┐рдпрд╛рдВ рдирд╣реАрдВ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИред

рдпрджрд┐ рд╕рдВрдХрд▓рди рдЕрднреА рднреА рд╕рдлрд▓ рд╣реИ, рддреЛ "main.hex" рдлрд╝рд╛рдЗрд▓ рд░реВрдЯ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рджрд┐рдЦрд╛рдИ рджреЗрдЧреА, рдЬрд┐рд╕реЗ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреЗ рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░ рдореЗрдВ рдлреНрд▓реИрд╢ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред

рднрд╛рдЧ 5. рд╕рдЬрд╛рд╡рдЯреА


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

рдЖрд╡реЗрджрди


рджреБрд░реНрднрд╛рдЧреНрдпрд╡рд╢, рд╣рдмреНрд░рд╛рд╣реНрд░рд╛ рдЕрдбрд╛ рд╕рд┐рдВрдЯреИрдХреНрд╕ рд╣рд╛рдЗрд▓рд╛рдЗрдЯрд┐рдВрдЧ (рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ, рдпрд╛ рдореИрдВ "рдиреМрд╕рд┐рдЦрд┐рдП рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛") рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддрд╛, рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рдЪрд┐рддреНрд░реЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдХреЛрдб рдбрд╛рд▓рдирд╛ рдкрдбрд╝рд╛ред рдпрд╣рд╛рдВ рдЯреЗрдХреНрд╕реНрдЯ рдлреЙрд░реНрдо рдореЗрдВ рдХреЛрдб рдХреЗ рд╕рд╛рде рдкреБрд░рд╛рд▓реЗрдЦред

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


All Articles