Site Loader

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅

Atmel β€” ВикипСдия

ΠœΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π» ΠΈΠ· Π’ΠΈΠΊΠΈΠΏΠ΅Π΄ΠΈΠΈ β€” свободной энциклопСдии

ВСкущая вСрсия страницы ΠΏΠΎΠΊΠ° Π½Π΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΠ»Π°ΡΡŒ ΠΎΠΏΡ‹Ρ‚Π½Ρ‹ΠΌΠΈ участниками ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΡ‚Π»ΠΈΡ‡Π°Ρ‚ΡŒΡΡ ΠΎΡ‚ вСрсии, ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅Π½Π½ΠΎΠΉ 5 июня 2017; ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ 5 ΠΏΡ€Π°Π²ΠΎΠΊ. ВСкущая вСрсия страницы ΠΏΠΎΠΊΠ° Π½Π΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΠ»Π°ΡΡŒ ΠΎΠΏΡ‹Ρ‚Π½Ρ‹ΠΌΠΈ участниками ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΡ‚Π»ΠΈΡ‡Π°Ρ‚ΡŒΡΡ ΠΎΡ‚ вСрсии, ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅Π½Π½ΠΎΠΉ 5 июня 2017; ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ 5 ΠΏΡ€Π°Π²ΠΎΠΊ.

Atmel CorporationΒ β€” компания ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒ ΠΏΠΎΠ»ΡƒΠΏΡ€ΠΎΠ²ΠΎΠ΄Π½ΠΈΠΊΠΎΠ²Ρ‹Ρ… элСктронных ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ², основана Π² 1984 Π³ΠΎΠ΄Ρƒ. Один ΠΈΠ· Π»ΠΈΠ΄Π΅Ρ€ΠΎΠ² производства ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ² (MCS-51, ARM, AVR, AVR32). Π’Π°ΠΊΠΆΠ΅ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ ΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ нСбольшиС ΠΌΠΎΠ΄ΡƒΠ»ΠΈ энСргонСзависимой памяти для элСктронных ΠΈΠ·Π΄Π΅Π»ΠΈΠΉ, ΠŸΠ›Π˜Π‘, Ρ†ΠΈΡ„Ρ€ΠΎΠ²Ρ‹Π΅ микросхСмы-Ρ€Π°Π΄ΠΈΠΎΠΏΡ€ΠΈΡ‘ΠΌΠ½ΠΈΠΊΠΈ ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠΈ, сканСры ΠΎΡ‚ΠΏΠ΅Ρ‡Π°Ρ‚ΠΊΠΎΠ² ΠΏΠ°Π»ΡŒΡ†Π΅Π². Компания для своих ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ² ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠΈΡ‚ΡŒ систСму Π½Π° кристаллС, ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΡŽΡ‰ΡƒΡŽ Π·Π°Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½Π½Ρ‹Π΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹. ΠŸΡ€ΠΎΠ΄ΡƒΠΊΡ†ΠΈΡ Atmel ΡˆΠΈΡ€ΠΎΠΊΠΎ примСняСтся Π² ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Ρ‹Ρ… сСтях, ΠΏΡ€ΠΎΠΌΡ‹ΡˆΠ»Π΅Π½Π½ΠΎΡΡ‚ΠΈ, ΠΌΠ΅Π΄ΠΈΡ†ΠΈΠ½Π΅, связи, автомобилях, космосС, Π²ΠΎΠ΅Π½Π½Ρ‹Ρ… устройствах, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΊΡ€Π΅Π΄ΠΈΡ‚Π½Ρ‹Ρ… ΠΊΠ°Ρ€Ρ‚Π°Ρ….

Π‘Ρ‚ΠΈΠ²Π΅Π½ Π›Π°ΡƒΠ± β€” ΠΏΡ€Π΅Π·ΠΈΠ΄Π΅Π½Ρ‚ ΠΈ Π³Π΅Π½Π΅Ρ€Π°Π»ΡŒΠ½Ρ‹ΠΉ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ ΠΊΠΎΡ€ΠΏΠΎΡ€Π°Ρ†ΠΈΠΈ.

Акции ΠΏΡ€ΠΎΠ΄Π°ΡŽΡ‚ΡΡ Π½Π° Π±ΠΈΡ€ΠΆΠ΅, NASDAQ: ATML.

ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ Atmel появился Π² 1993 Π³ΠΎΠ΄Ρƒ ΠΈ Π±Ρ‹Π» основан Π½Π° классичСском ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π½ΠΎΠΌ ядрС Intel 8051. ΠŸΡ€ΠΎΠ΄ΡƒΠΊΡ†ΠΈΡ Atmel Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρ‹ MCS-51, AT91SAM ΠΈ AT91CAP (основаны Π½Π° ядрС ARM), ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρ‹ Π½Π° ΠΈΡ… собствСнных ядрах Atmel AVR ΠΈ AVR32, радиочастотныС (RF) устройства, микросхСмы памяти Ρ‚ΠΈΠΏΠΎΠ² EEPROM ΠΈ Ρ„Π»Π΅Ρˆ (Π²ΠΊΠ»ΡŽΡ‡Π°Ρ ΠΏΠ°ΠΌΡΡ‚ΡŒ, ΠΎΡΠ½ΠΎΠ²Π°Π½Π½ΡƒΡŽ Π½Π° DataFlash), ΠΈ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ количСство Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠ² этой ΠΆΠ΅ отрасли.

Atmel поставляСт свои устройства ΠΊΠ°ΠΊ стандартныС, ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΡƒΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ‚ΠΎΠ²Π°Π½Π½Ρ‹Π΅. Π’ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… случаях Atmel ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠΈΡ‚ΡŒ SoC-Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ.

  • ΠœΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ Atmel ATMEGA32

  • ΠœΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ Atmel AT90S2333

Π’ Π³ΠΎΠ΄Ρ‹ кризиса Π² 2008 Π³ΠΎΠ΄Ρƒ Microchip ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠΈΠ»Π° Atmel ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒΡΡ. Но ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Ρ‚Π°ΠΊ ΠΈ Π½Π΅ смогли Π΄ΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ΡŒΡΡ.

  • 2 октября Ρ„ΠΈΡ€ΠΌΡ‹ Microchip ΠΈ ON Semiconductor сдСлали ΠΏΡƒΠ±Π»ΠΈΡ‡Π½ΠΎΠ΅ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΎ ΠΏΠΎΠΊΡƒΠΏΠΊΠ΅ Atmel[1].
  • 29 октября компания Atmel ΠΎΡ‚ΠΊΠ»ΠΎΠ½ΠΈΠ»Π° ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΉ Microchip ΠΈ ON Semiconductor
    [2]
    [3].
  • 13 ноября Ρ„ΠΈΡ€ΠΌΡ‹ Microchip ΠΈ ON Semiconductor объявили ΠΎ Π½Π°Ρ‡Π°Π»Π΅ нСдруТСствСнного поглощСния Atmel[4].
  • 18 ноября Ρ„ΠΈΡ€ΠΌΡ‹ Microchip ΠΈ ON Semiconductor ΠΎΡ‚ΠΊΠ°Π·Π°Π»ΠΈΡΡŒ ΠΎΡ‚ нСдруТСствСнного поглощСния Atmel[5].

20 сСнтября 2015 Π³ΠΎΠ΄Π° Dialog Semiconductor заявляСт ΠΎ Π½Π°ΠΌΠ΅Ρ€Π΅Π½ΠΈΠΈ ΠΊΡƒΠΏΠΈΡ‚ΡŒ Atmel[6].

Π’ январС 2016 Π³ΠΎΠ΄Π° Ρ„ΠΈΡ€ΠΌΠ° Microchip ΠΏΠΎΠΊΡƒΠΏΠ°Π΅Ρ‚ Atmel Π·Π° 3,56Β ΠΌΠ»Ρ€Π΄ Π΄ΠΎΠ»Π»Π°Ρ€ΠΎΠ²[7], Atmel Π²Ρ‹ΠΏΠ»Π°Ρ‡ΠΈΠ²Π°Π΅Ρ‚ нСустойку ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Dialog Semiconductor Π² Ρ€Π°Π·ΠΌΠ΅Ρ€Π΅ 137,3Β ΠΌΠ»Π½ Π΄ΠΎΠ»Π»Π°Ρ€ΠΎΠ².

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ ΠΊΠΎΠ½ΠΊΡƒΡ€Π΅Π½Ρ‚Ρ‹ Atmel

Atmel ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρ‹: ΠΏΠΎΠΌΠΎΡ‰Π½ΠΈΠΊΠΈ Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΠΌ программистам

Компания Atmel – ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒ популярных сСмСйств ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ², ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΈΠΌΠ΅Π΅Ρ‚ свои направлСния. Π˜Π½Ρ‚Π΅Ρ€Π΅ΡΠ΅Π½ этот ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒ Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρ‹ Atmel сСмСйства AVR ΠΎΡ‡Π΅Π½ΡŒ популярны Π² срСдС Ρ€Π°Π΄ΠΈΠΎΠ»ΡŽΠ±ΠΈΡ‚Π΅Π»Π΅ΠΉ. ΠšΡ€ΠΎΠΌΠ΅ AVR ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ² компания выпускаСт устройства с Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€ΠΎΠΉ ARM ΠΈ i8051.

ΠŸΠΎΠΏΡƒΠ»ΡΡ€Π½ΠΎΡΡ‚ΡŒ устройств обусловлСна ΠΎΠ³Ρ€ΠΎΠΌΠ½Ρ‹ΠΌ количСством Π»ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΡƒΡ€Ρ‹ ΠΏΠΎ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°ΠΌ AVR. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡΠ²ΠΎΠΈΡ‚ΡŒ с нуля ΠΈ ΠΏΠΈΡΠ°Ρ‚ΡŒ простыС ΠΊΠΎΠ΄Ρ‹ с ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌ Π½Π°Π±ΠΎΡ€ΠΎΠΌ Π·Π½Π°Π½ΠΈΠΉ.

ΠŸΠ»Π°Ρ‚Π° Atmel AVR

КакиС Π±Ρ‹Π²Π°ΡŽΡ‚ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρ‹ Atmel

НачнСм с самого популярного, для освоСния ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ² Π² Ρ†Π΅Π»ΠΎΠΌ, – Atmel AVR. Π•Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚ΡŒ Π½Π° Π΄Π²Π° направлСния:

  1. 8-Π±ΠΈΡ‚Π½Ρ‹Π΅ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρ‹.
  2. 32-Π±ΠΈΡ‚Π½Ρ‹Π΅ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρ‹.

Π‘Ρ€Π΅Π΄ΠΈ простых ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² для Π»ΡŽΠ±ΠΈΡ‚Π΅Π»Π΅ΠΉ элСктроники ΠΎΡΠΎΠ±ΡƒΡŽ ΠΏΠΎΠΏΡƒΠ»ΡΡ€Π½ΠΎΡΡ‚ΡŒ снискала ΠΈΠΌΠ΅Π½Π½ΠΎ 8-битная Ρ‡Π°ΡΡ‚ΡŒ сСмСйства. Π•ΡΡ‚ΡŒ Ρ…ΠΎΡ€ΠΎΡˆΠ°Ρ справочная Π»ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΡƒΡ€Π° Β«ΠœΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρ‹ AVR сСмСйства classic Ρ„ΠΈΡ€ΠΌΡ‹ AtmelΒ», Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ описана вся Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π°, Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… ΡƒΠ·Π»ΠΎΠ², рСгистров ΠΈ ΠΏΡ€ΠΎΡ‡Π΅Π³ΠΎ. НС стоит Π±Π΅ΡΠΏΠΎΠΊΠΎΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ ΠΎΠ½Π° посвящСна ΡƒΠΆΠ΅ ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠ΅ΠΌΡƒ сСмСйству AVR Classic – Π² наши Π΄Π½ΠΈ ΠΎΠ½ΠΎ вытСснСно ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°ΠΌΠΈ Attiny ΠΈ Atmega, хотя самая малСнькая ΠΈ быстрая модСль – AT90S2313 выпускаСтся ΠΈ ΠΏΠΎ сСй дСнь, слСгка Π² ΠΌΠΎΠ΄Π΅Ρ€Π½ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΌ Π²ΠΈΠ΄Π΅ – Attiny 2313.

Π‘ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ сСмСйства ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎ ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎ совмСстимы с Π±ΠΎΠ»Π΅Π΅ старыми, Π° ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ с Classic Π½Π° Mega ΠΈ Tiny Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹Ρ… Ρ‚Ρ€ΡƒΠ΄ΠΎΠ·Π°Ρ‚Ρ€Π°Ρ‚ ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°. Π‘Ρ€Π΅Π΄ΠΈ сСмСйства ΠΎΡΠΎΠ±Π΅Π½Π½ΡƒΡŽ ΠΏΠΎΠΏΡƒΠ»ΡΡ€Π½ΠΎΡΡ‚ΡŒ заслуТил ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ с ΠΌΠ°Ρ€ΠΊΠΈΡ€ΠΎΠ²ΠΊΠΎΠΉ Atmega 328p, примСняСмый Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ… популярных ΠΏΠ»Π°Ρ‚Π°Ρ… Arduino. ΠŸΠΎΡ‡Ρ‚ΠΈ всС ΠΎΠ½ΠΈ ΠΈΠΌΠ΅ΡŽΡ‚ нСбольшоС количСство энСргонСзависимой памяти с ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½Ρ‹ΠΌ числом Ρ†ΠΈΠΊΠ»ΠΎΠ² записи (Π΄ΠΎ 100Β 000) – EEPROM.

Вакая ΠΏΠ°ΠΌΡΡ‚ΡŒ Π½ΡƒΠΆΠ½Π° Π½Π΅ для Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΡ… вычислСний, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ быстро закончится Π΅Ρ‘ рСсурс, Π° для хранСния Π΄Π°Π½Π½Ρ‹Ρ… Π² долгосрочной пСрспСктивС. Π­Π½Π΅Ρ€Π³ΠΎΠ½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΡŒ EEPROM памяти обСспСчиваСт ΡΠΎΡ…Ρ€Π°Π½Π½ΠΎΡΡ‚ΡŒ всСй ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ послС обСсточивания ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°.

БСмСйство Atmel Smart базируСтся Π½Π° Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π΅ ARM. Компания ΠΏΡ€Π°Π²ΠΎΠΎΠ±Π»Π°Π΄Π°Ρ‚Π΅Π»ΡŒ ARM свободно ΠΏΡ€ΠΎΠ΄Π°Π΅Ρ‚ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠΈ Π½Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ² со своСй Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€ΠΎΠΉ Ρ€Π°Π·Π½Ρ‹ΠΌ производитСлям, Ρ‡Ρ‚ΠΎ ускоряСт распространСниС ΠΈ ΠΏΠΎΠΏΡƒΠ»ΡΡ€ΠΈΠ·Π°Ρ†ΠΈΡŽ ΠΏΠ΅Ρ€Π²Ρ‹Ρ…. Π‘Ρ‚ΠΎΠΈΡ‚ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ яркого прСдставитСля – ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ AT91SAM3X8E, являСтся сСрдцСм Arduino DUE, 32-Π±ΠΈΡ‚Π°. Π­Ρ‚ΠΎ позволяСт ΠΎΡ‡Π΅Π½ΡŒ Π»Π΅Π³ΠΊΠΎ Π½Π°Ρ‡Π°Ρ‚ΡŒ знакомство с Ρ‚Π°ΠΊΠΎΠΉ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€ΠΎΠΉ ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ устройств энтузиастам элСктроники. Atmel ARM ΠΏΠΎ характСристикам прСвосходит Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ² Atmel AVR

БСмСйство Atmel 8051 – основано Π½Π° ΠΏΠΎ-настоящСму Π»Π΅Π³Π΅Π½Π΄Π°Ρ€Π½ΠΎΠΉ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π΅. Intel 8051 являСтся ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· ΠΏΠ΅Ρ€Π²Ρ‹Ρ… массовых ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ² с ΡˆΠΈΡ€ΠΎΡ‡Π°ΠΉΡˆΠ΅ΠΉ сфСрой примСнСния. ΠŸΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ‚ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ высокопрСцизионныС устройства с ΠΎΠ³Ρ€ΠΎΠΌΠ½Ρ‹ΠΌ быстродСйствиСм, практичСски сравнимым с быстродСйствиСм схСм Π½Π° Π»ΠΎΠ³ΠΈΠΊΠ΅. Π’ Π»ΠΈΠ½Π΅ΠΉΠΊΠ΅ Π΅ΡΡ‚ΡŒ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρ‹, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠ΅ Π½Π° частотах Π² 100 ΠœΠ“Ρ†, ΠΏΡ€ΠΈ этом Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‰ΠΈΠ΅ 100 ΠΌΠΈΠ»Π»ΠΈΠΎΠ½ΠΎΠ² ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ Π² сСкунду, Π° это ΠΎΡ‚Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ для этой Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ быстродСйствия Π² долях микросСкунд.

Бпособы связи ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π° ΠΈ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° Atmel

Π§Π°Ρ‰Π΅ всСго связь с МК устанавливаСтся Ρ‡Π΅Ρ€Π΅Π· COM-ΠΏΠΎΡ€Ρ‚. На соврСмСнных ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°Ρ… ΠΈ Π½ΠΎΡƒΡ‚Π±ΡƒΠΊΠ°Ρ… ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΏΠΎΡ€Ρ‚Π° Π½Π΅Ρ‚. Π­Ρ‚ΠΎ Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ использования USB-UART ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ распознаётся ΠΊΠ°ΠΊ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΉ COM-ΠΏΠΎΡ€Ρ‚.

Π§Ρ‚ΠΎΠ±Ρ‹ Π·Π°Π»ΠΈΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΡƒ Π² ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€, Π½ΡƒΠΆΠ΅Π½ Π»ΠΈΠ±ΠΎ этот ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ, Π»ΠΈΠ±ΠΎ спСциализированный ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΎΡ€, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, AVRISP MKii – Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΅Π³ΠΎ ΡΠΎΠ±Ρ€Π°Ρ‚ΡŒ сами, Π½ΠΎ ΠΈ Π² Π΅Π³ΠΎ составС Π΅ΡΡ‚ΡŒ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€.

ΠŸΡ€ΠΎΠΈΡΡ…ΠΎΠ΄ΠΈΡ‚ Β«ΠΊΠ°Π»Π°ΠΌΠ±ΡƒΡ€Β»: для сборки ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΎΡ€Π° Π½ΡƒΠΆΠ΅Π½ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΎΡ€. Π§Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹ΠΉΡ‚ΠΈ ΠΈΠ· этой ситуации, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ‡ΠΈΠΏ AT90USB162. Он, Π² свою ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ, ΠΏΡ€ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ ΠΊ USB ΠΏΠΎΡ€Ρ‚Ρƒ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π° распознаётся ΠΊΠ°ΠΊ ΠΏΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½ΠΎΠ΅ USB устройство, ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΡƒ Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ Flip ΠΎΡ‚ Atmel.

Π£Ρ‚ΠΈΠ»ΠΈΡ‚Π° Flip ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ‡Π΅Ρ€Π΅Π· ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ интСрфСйсы:

Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ flip ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΡƒ для ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΎΡ€Π° ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ² АтмСла Π±Π΅Π· использования COM-ΠΏΠΎΡ€Ρ‚Π°, Π° схСма AVRISP mk II ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½Π° Π½ΠΈΠΆΠ΅.

Для Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ² ΠΏΠΎ интСрфСйсу UART (ΠΌΠ°Ρ€ΠΊΠΈΡ€ΠΎΠ²ΠΊΠ° интСрфСйса – rs-232) Π² Atmel AVR Π²Ρ‹Π΄Π΅Π»Π΅Π½ рСгистр UDR (UART data register), Π° настройки Π΅Π³ΠΎ Ρ€Π°Π±ΠΎΡ‚Ρ‹ хранятся Π² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… рСгистрах UCSRA, UCSRB ΠΈ UCSRΠ‘. Настройки Π±ΠΈΡ‚ΠΎΠ² ΠΏΡ€ΠΈΠ΅ΠΌΠΎΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠ° Rx, Tx, кстати, хранятся Π² UCSRA.

Вопросы программирования ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ²

Для программирования МК ваш ΠΊΠΎΠ΄ Π½ΡƒΠΆΠ½ΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, для этого Π΅ΡΡ‚ΡŒ мноТСство ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния, ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· Π½ΠΈΡ… – это компилятор IAR. ИспользованиС этого компилятора Π½Π΅ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΎ ΠΎΠ΄Π½ΠΈΠΌΠΈ лишь Atmel. 8051, AVR, AVR32, ARM – это лишь нСбольшой ΠΏΠ΅Ρ€Π΅Ρ‡Π΅Π½ΡŒ ΠΈΠ· Π±ΠΎΠ»Π΅Π΅ Ρ‡Π΅ΠΌ 20 ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹Ρ… Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€.

IAR – это ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½ΠΎΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ для программирования ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ² Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° ΠΈ уровня. Π₯отя компиляторов Π΅ΡΡ‚ΡŒ большоС количСство, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, WinAVR ΠΈ CodeVision, Π½ΠΎ ΠΎΠ½ΠΈ Π½Π΅ ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΡŽΡ‚ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ для Ρ‚Π΅Ρ… ΠΆΠ΅ АРМов ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€.

IAR Embedded Workbench – ΠΏΠΎΠ»Π½ΠΎΠ΅ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ этой ΠΌΠΎΡ‰Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ срСды. ΠŸΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ИАРА позволяСт Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ мСньшС Ρ€Π°Π·ΠΌΠ΅Ρ€Π° ΠΈ большСго быстродСйствия ΠΊΠΎΠ΄Π°; ΠΎΠ½ Π½Π°Π±ΠΈΡ€Π°Π΅Ρ‚ всё Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ ΠΏΠΎΠΏΡƒΠ»ΡΡ€Π½ΠΎΡΡ‚ΡŒ ΠΈΠ·-Π·Π° своих ΠΎΠ³Ρ€ΠΎΠΌΠ½Ρ‹Ρ… возмоТностСй.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ экрана IAR Embedded Workbench

Π Π°Π±ΠΎΡ‚Π° с ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°ΠΌΠΈ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ постоянного выполнСния ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹Ρ… дСйствий, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ компиляция, ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠ°, сброс ΠΊ заводским установкам; для Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ этих процСссов Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Makefile – Π½Π°Π±ΠΎΡ€ инструкций для компилятора, Π² Π½Ρ‘ΠΌ записаны обозначСния дСйствий с Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹.

Для ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ Π³ΠΎΡ‚ΠΎΠ²Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Π±Ρ‹Π» Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½ Atmel ice. Он Π½ΡƒΠΆΠ΅Π½ для внутрисхСмной ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ программирования ΠΈ ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠΈ устройств. Π˜ΠΌΠ΅Π΅Ρ‚ Π΄Π²Π° Ρ€Π°Π·ΡŠΡ‘ΠΌΠ°:

  1. Π£Π½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹ΠΉ AVR, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‰ΠΈΠΉ любой интСрфСйс;
  2. ARM.

Будя ΠΏΠΎ ΠΎΡ‚Π·Ρ‹Π²Π°ΠΌ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ, Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΎΠ½ быстрСС Π°Π½Π°Π»ΠΎΠ³ΠΎΠ² – AVR Dragon, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΡ€ΠΈ этом Π·Π°Ρ…Π²Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ АРМов ΠΈ ΠΈΠΌΠ΅Π΅Ρ‚ большС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ.

Π’Ρ‹Π²ΠΎΠ΄Ρ‹

Π€ΠΈΡ€ΠΌΠ° Atmel сСйчас ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠΈΡ‚ Microchip’у, Π½ΠΎ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅Ρ‚ Π²Ρ‹ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ свои сСмСйства ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ². Π˜Ρ… ΠΏΠΎΠΏΡƒΠ»ΡΡ€Π½ΠΎΡΡ‚ΡŒ Π½Π΅ угасала Π·Π° ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Π³ΠΎΠ΄Ρ‹, ΠΎΠ΄Π½Π°ΠΊΠΎ Π² послСднСС врСмя Π½Π°Π±Π»ΡŽΠ΄Π°Π΅Ρ‚ΡΡ активная конкурСнция с STM. Пока Ρ€Π°Π½ΠΎ Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ΡŒ, ΠΊΡ‚ΠΎ ΠΈΠ· Π½ΠΈΡ… вырвСтся Π²ΠΏΠ΅Ρ€Π΅Π΄, рассуТдСния ΠΎΠ± этом – Ρ‚Π΅ΠΌΠ° ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΉ ΡΡ‚Π°Ρ‚ΡŒΠΈ.

Π’Ρ‹Π±ΠΎΡ€ сСмСйства зависит Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΡ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° ΠΈ поставлСнных ΠΏΠ΅Ρ€Π΅Π΄ Π½ΠΈΠΌ Π·Π°Π΄Π°Ρ‡, Π° AVR ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρ‹ ΠΏΠΎΠΌΠΎΠ³Π»ΠΈ ΠΌΠ½ΠΎΠ³ΠΈΠΌ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ Β«Π²ΠΎΠΉΡ‚ΠΈΒ» Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ².

ΠŸΠΎΡ‡Π΅ΠΌΡƒ Π±Ρ‹ я Π½Π΅ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΠΎΠ²Π°Π» Atmel ΠΈΠ»ΠΈ ΠΎ Π½Π΅ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠΈ успСха Arduino / Habr

Π₯ΠΎΡ‡Ρƒ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄Π΅Π»ΠΈΡ‚ΡŒΡΡ Π½Π΅Π³Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΌ ΠΎΠΏΡ‹Ρ‚ΠΎΠΌ использования ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ² Atmel Π² ΠΏΡ€ΠΎΠΌΡ‹ΡˆΠ»Π΅Π½Π½ΠΎΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅.

Atmel ΠΊΠ°ΠΊ Ρ†Π΅Π»Π΅Π²ΡƒΡŽ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡƒ Π²Ρ‹Π±Ρ€Π°Π» Π·Π°ΠΊΠ°Π·Ρ‡ΠΈΠΊ, хотя ΠΌΡ‹ Π΅Π³ΠΎ ΠΈ ΠΎΡ‚Π³ΠΎΠ²Π°Ρ€ΠΈΠ²Π°Π»ΠΈ (Π΅Ρ‰Π΅ Π΄Π°ΠΆΠ΅ Π½Π΅ зная, Ρ‡Ρ‚ΠΎ Π½Π°ΠΌ прСдстоит β€” интуиция, Ρ‡Ρ‚ΠΎ Π»ΠΈ?). Ну Ρ‡Ρ‚ΠΎ ΠΆΠ΅, Β«Π·Π°ΠΊΠ°Π·Ρ‡ΠΈΠΊ всСгда ΠΏΡ€Π°Π²Β».

Π’ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π΅ Π±Ρ‹Π»ΠΎ Π΄Π²Π° ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° β€” 32-Π±ΠΈΡ‚Π½Ρ‹ΠΉ UC3A3 ΠΈ 8-Π±ΠΈΡ‚Π½Ρ‹ΠΉ ATMega164. Π’ качСствС Π΄Π΅Π±Π°Π³Π³Π΅Ρ€Π° Π²Ρ‹Π±Ρ€Π°Π»ΠΈ AVR One!, Π² качСствС срСды Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ β€” AVR Studio 5.0 (послСдняя вСрсия Π½Π° ΠΌΠΎΠΌΠ΅Π½Ρ‚ старта).

И Π½Π°Ρ‡Π°Π»ΠΎΡΡŒ!

Π£ Π΄Π²ΡƒΡ… ΠΈΠ· Ρ‚Ρ€Π΅Ρ… ΠΊΡƒΠΏΠ»Π΅Π½Π½Ρ‹Ρ… AVR One! Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠΈ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ ΠΆΠ΅ мСсяца ΠΎΡ‚Π²Π°Π»ΠΈΠ»ΠΈΡΡŒ JTAG-ΠΊΠΎΠ½Π½Π΅ΠΊΡ‚ΠΎΡ€Ρ‹. Π£ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· Π½ΠΈΡ… ΠΏΡ€ΠΎΠΏΠ°Π΄Π°Π» ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚ питания. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ Π΄Π΅Π±Π°Π³Π³Π΅Ρ€, ΠΊ слову, стоит ΠΎΠΊΠΎΠ»ΠΎ 600 Π΅Π²Ρ€ΠΎ!

ΠŸΡ€ΠΈ ΠΏΠ΅Ρ€Π²ΠΎΠΌ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ Π΄Π΅Π±Π°Π³Π³Π΅Ρ€Π° ΠΊ ΠΊΠΎΠΌΠΏΡƒ с установлСнной AVR Studio 5.0 послСдняя Π·Π°Ρ…ΠΎΡ‚Π΅Π»Π° ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π΅ΠΌΡƒ ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΡƒ. И Π½Π΅ просто Π·Π°Ρ…ΠΎΡ‚Π΅Π»Π°, Π° ΠΎΡ‚ΠΊΠ°Π·Ρ‹Π²Π°Π»Π°ΡΡŒ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π±Π΅Π· этого. ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° обновлСния ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠΈ Π±Π»Π°Π³ΠΎΠΏΠΎΠ»ΡƒΡ‡Π½ΠΎ Π·Π°Ρ†ΠΈΠΊΠ»ΠΈΠ»Π°ΡΡŒ Π² Β«ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ β€” ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΠ΅ готовности устройства β€” ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΎ Π½Π΅ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ β€” ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅…Β», произвСсти Π΅Π΅ ΡƒΠ΄Π°Π»ΠΎΡΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ послС Π΄ΠΎΠ»Π³ΠΈΡ… Ρ‚Π°Π½Ρ†Π΅Π² с Π±ΡƒΠ±Π½Π°ΠΌΠΈ.

На Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠΉ стадии Ρ€Π°Π±ΠΎΡ‚Π° вСдСтся Π½Π° Evaluation ΠΏΠ»Π°Ρ‚Π°Ρ…. Π‘Ρ‹Π»ΠΈ Ρ‚Π°ΠΊΠΈΠ΅ ΠΈ Ρƒ АтмСла. Π’ΠΎΡ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° Β«Π³ΠΎΡ‚ΠΎΠ²Ρ‹Ρ…Β» эвалкитах ΠΊ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Ρƒ ΠΏΠΈΠ½ΠΎΠ² процСссора банально Π½Π΅ Π±Ρ‹Π»ΠΎ доступа! А ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΠ°ΠΊΠ΅Ρ‚ STK600, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠΉ Β«Π²ΠΎΡ‚ΠΊΠ½ΡƒΡ‚ΡŒΒ» Π² Π½Π΅Π³ΠΎ практичСски любой ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π½ΠΈΠΊΠ° (Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎ супСр, Ссли Π±Ρ‹ Π½Π΅ ΠΎΠ΄Π½ΠΎ Π½ΠΎ), ΠΈΠΌΠ΅Π» малСнький нСдостаток β€” Π΅Π³ΠΎ схСма Π±Ρ‹Π»Π° нСдоступна Π½ΠΈ Π² ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠΌ доступС, Π½ΠΈ Π·Π° дСньги! Π‘Π»ΠΈΠ½, Π²ΠΎΡ‚ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎ β€” Ρ‚ΡƒΠ»ΠΊΠΈΡ‚, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹ΠΉ для экспСримСнтов с ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠΎΠΉ, поставлялся Π±Π΅Π· схСмы! И схСма Π΅Π³ΠΎ ΠΎΡ…Ρ€Π°Π½ΡΠ»Π°ΡΡŒ ΠΎΡ‡Π΅Π½ΡŒ ΠΈ ΠΎΡ‡Π΅Π½ΡŒ Ρ‚Ρ‰Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, судя ΠΏΠΎ многочислСнным Π²Π΅Ρ‚ΠΊΠ°ΠΌ Π½Π° AVR freaks. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΌΡ‹ Π½Π΅ ΠΌΠΎΠ³Π»ΠΈ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ сСбС, ΠΊΠ°ΠΊ ΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π±Π΅Π· наличия схСмы, ΠΌΡ‹ Ρ€Π°Π·ΡƒΠΌΠ½ΠΎ ΠΎΡ‚ΠΊΠ°Π·Π°Π»ΠΈΡΡŒ ΠΎΡ‚ ΠΏΠΎΠΊΡƒΠΏΠΊΠΈ этого Ρ‚ΡƒΠ»ΠΊΠΈΡ‚Π° (ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½ΠΈ Ρ€Π°Π·Ρƒ Π½Π΅ Π΄Π΅ΡˆΠ΅Π²Ρ‹ΠΉ, ΠΊ слову!).

Π•Ρ‰Π΅ вСсСлСС стало, ΠΊΠΎΠ³Π΄Π° приступили собствСнно ΠΊ написанию ΠΈ ΠΎΡ‚Π»Π°Π΄ΠΊΠ΅ ΠΊΠΎΠ΄Π°.

Π‘Π°ΠΌΡ‹ΠΌ вСсСлым оказалось Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ пошаговая ΠΎΡ‚Π»Π°Π΄ΠΊΠ° оказалась Π² ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ΅ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΠΉ. Π”Π΅Π»ΠΎ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ поставив Π³Π΄Π΅-Π½ΠΈΠ±ΡƒΠ΄ΡŒ Π² ΠΊΠΎΠ΄Π΅ Π±Ρ€Π΅ΠΉΠΊΠΏΠΎΠΈΠ½Ρ‚, доТдавшись остановки ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² этом мСстС ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΠ² «шаг Π²ΠΏΠ΅Ρ€Π΅Π΄Β», Ρ‚Ρ‹ оказывался… Π² ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ΅ прСрывания! (ЕстСствСнно, Π² ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠΈ ΠΏΡ€ΠΈ этом Π½ΠΈΠΊΠ°ΠΊΠΈΡ… Π±Ρ€Π΅ΠΉΠΊΠΏΠΎΠΈΠ½Ρ‚ΠΎΠ² Π½Π΅ Π±Ρ‹Π»ΠΎ!). А ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ прСрывания Π² систСмС Π±Ρ‹Π»ΠΈ всСгда (Ρ‚Π°ΠΉΠΌΠ΅Ρ€Ρ‹ ΠΈ Ρ‚.ΠΏ.), процСсс ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ выглядСл ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ: ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΠ»ΠΎΡΡŒ ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Π±Ρ€Π΅ΠΉΠΊΠΏΠΎΠΈΠ½Ρ‚ Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ строкС ΠΈ Π½Π°ΠΆΠΈΠΌΠ°Ρ‚ΡŒ Run вмСсто Step Over. ОсобСнно вСсСло это Π±Ρ‹Π»ΠΎ, ΠΊΠΎΠ³Π΄Π° Π½Π°Π΄ΠΎ Π±Ρ‹Π»ΠΎ ΠΎΡ‚ΡΠ»Π΅Π΄ΠΈΡ‚ΡŒ if ΠΈΠ»ΠΈ switch. Или ΠΆΠ΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Step Into, Π° Π½Π΅ Step Over…

Π’Ρ‚ΠΎΡ€Ρ‹ΠΌ радостным ΠΌΠΎΠΌΠ΅Π½Ρ‚ΠΎΠΌ оказалось Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΊΠΎΠ³Π΄Π° Ρ‚Ρ‹ останавливался Π² ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠΈ, Ρ‚Ρ‹ Π½Π΅ Π²ΠΈΠ΄Π΅Π» стСка Π²Ρ‹Π·ΠΎΠ²ΠΎΠ². ОсобСнно Ρ€Π°Π΄ΠΎΠ²Π°Π»ΠΎ, ΠΊΠΎΠ³Π΄Π° этим ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠ΅ΠΌ Π±Ρ‹Π»ΠΎ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ процСссора. На ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΌ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ Π½Π° ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π΅ ΠΎΡ‚ Freescale Π² Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎΠΉ ситуации Ρ‚Ρ‹ ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎ Π²ΠΈΠ΄Π΅Π» вСсь стСк Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² β€” Π² ΠΊΠ°ΠΊΠΎΠΌ мСстС ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»ΠΎ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ процСссора ΠΈ Ρ‡Ρ‚ΠΎ ΠΊ Π½Π΅ΠΌΡƒ ΠΏΡ€ΠΈΠ²Π΅Π»ΠΎ. Π—Π΄Π΅ΡΡŒ ΠΆΠ΅ всС, Ρ‡Ρ‚ΠΎ Ρ‚Ρ‹ Π²ΠΈΠ΄Π΅Π» β€” это Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»ΠΎ. А Π³Π΄Π΅ ΠΈ ΠΏΠΎΡ‡Π΅ΠΌΡƒ β€” ΠΎΡΡ‚Π°Π²Π°Π»ΠΎΡΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π΄ΠΎΠ³Π°Π΄Ρ‹Π²Π°Ρ‚ΡŒΡΡ.

Π’Ρ€Π΅Ρ‚ΡŒΠΈΠΌ радостным ΠΌΠΎΠΌΠ΅Π½Ρ‚ΠΎΠΌ оказалось, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π²ΠΎΡ‚ Ρ‡Ρ‚ΠΎ: ΠΊΠΎΠ΄

int a[4];

a[0] = 1;
a[1] = 2;
a[2] = 3;
a[3] = 4;

катСгоричСски отказывался Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π° ATMega! Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ a[1] послС этого ΠΊΠΎΠ΄Π° оставался Ρ€Π°Π²Π½Ρ‹ΠΌ 0!

И особСнно ΠΏΠΎΡ€Π°Π΄ΠΎΠ²Π°Π» ΠΎΡ‚Π²Π΅Ρ‚ Ρ‚Π΅Ρ…ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ Atmel Β«Π”Π°, Π΄Π°Π½Π½Ρ‹ΠΉ процСссор ΠΈΠΌΠ΅Π΅Ρ‚ ΡƒΠΊΠ°Π·Π°Π½Π½ΡƒΡŽ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ, ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π΅Π³ΠΎ Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΠΉ!Β». Ага, Π° Π½ΠΈΡ‡Π΅Π³ΠΎ, Ρ‡Ρ‚ΠΎ ΡƒΠΆΠ΅ ΠΊΠ°ΠΊ Π±Ρ‹ ΠΏΠ»Π°Ρ‚Π° с Π½ΠΈΠΌ ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½Π°? Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΡ‚Π²Π΅Ρ‚ΠΎΠΌ Ρ‚Π΅Ρ…ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ Π±Ρ‹Π»ΠΎ Β«ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π² AVR Studio Ρ€ΠΎΠ΄Π½ΠΎΠΉ AVR toolchain Π½Π° open source WinAVR. Π­Ρ‚ΠΎ, ΠΊΠ°ΠΊ Π½ΠΈ странно, ΠΏΠΎΠΌΠΎΠ³Π»ΠΎ, массив стал ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΊΠ°ΠΊ Π½Π°Π΄ΠΎ. ΠŸΡ€Π°Π²Π΄Π°, Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡ‡Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ этого toolchain прСдставляли ΠΈΠ· сСбя мСстами ΠΊΠ°ΡˆΡƒ, ΠΈ Ρ‡Π°ΡΡ‚ΡŒ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠ² ΠΏΡ€ΠΈΡˆΠ»ΠΎΡΡŒ Π±Ρ€Π°Ρ‚ΡŒ ΠΎΡ‚ β€žΡ€ΠΎΠ΄Π½ΠΎΠ³ΠΎβ€œβ€¦

Плюс вся систСма Ρ€Π°Π±ΠΎΡ‚Π°Π»Π° ΠΊΡ€Π°ΠΉΠ½Π΅ Π½Π΅ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎ. Π”Π΅Π±Π°Π³Π³Π΅Ρ€ ΠΌΠΎΠ³ просто ΠΏΠ΅Ρ€Π΅ΡΡ‚Π°Ρ‚ΡŒ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€. Бтудия ΠΌΠΎΠ³Π»Π° ΠΏΠ΅Ρ€Π΅ΡΡ‚Π°Ρ‚ΡŒ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ Π΄Π΅Π±Π°Π³Π³Π΅Ρ€. Или ΠΏΠ΅Ρ€Π΅ΡΡ‚Π°Ρ‚ΡŒ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ ΠΊΠΎΠ΄ Π½Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅.

К ΡΡ‡Π°ΡΡ‚ΡŒΡŽ, Π½Π° AVR freaks Ρ‡Π°ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ Π±Ρ‹Π»Π° описана ΠΈ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π½Π°ΠΉΠ΄Π΅Π½Ρ‹. НапримСр, вмСсто 600-Π΅Π²Ρ€ΠΎΠ²Ρ‹Ρ… AVR One! Π±Ρ‹Π»ΠΈ ΠΊΡƒΠΏΠ»Π΅Π½Ρ‹ 50-Π΅Π²Ρ€ΠΎΠ²Ρ‹Π΅ AVR Dragon, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠ΅ Π³ΠΎΡ€Π°Π·Π΄ΠΎ ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½Π΅Π΅ β€” с Π½ΠΈΠΌΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° стала Π² ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΠΉ. (Из сСрии β€žΠ—Π°Ρ‡Π΅ΠΌ, Π±Π»ΠΈΠ½, ΠΏΠ»Π°Ρ‚ΠΈΡ‚ΡŒ большС?β€œ).

И ΠΏΡ€ΠΈΡˆΠ»ΠΎΡΡŒ ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ с AVR Studio 5.0 Π½Π° Π±ΠΎΠ»Π΅Π΅ ΡΡ‚Π°Ρ€ΡƒΡŽ AVRStudio32, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ пСрвая Π±Ρ‹Π»Π° Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ Π³Π»ΡŽΡ‡Π½ΠΎ-сырой, Ρ‡Ρ‚ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π² Π½Π΅ΠΉ Π±Ρ‹Π»ΠΎ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ. Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ, Ρƒ пятой студии Π±Ρ‹Π» ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΌ, Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ скаТСшь, Π½ΠΎ ΠΊΠΎΠ³Π΄Π° удобная Π² использовании срСда банально Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ β€” удобство оказываСтся бСссмыслСнным, ΡƒΠ²Ρ‹.

AVRStudio32 c Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния интСрфСйса оказалась ΠΎΡ‡Π΅Π½ΡŒ спСцифичСской ΡˆΡ‚ΡƒΠΊΠΎΠΉ. Π’ΠΎ Π»ΠΈ Eclipse-based сыграло свою Ρ€ΠΎΠ»ΡŒ, Ρ‚ΠΎ Π»ΠΈ Atmel внСс свою лСпту… ΠŸΡ€ΠΈΠ²Π΅Π΄Ρƒ лишь ΠΎΠ΄ΠΈΠ½ ΠΏΡ€ΠΈΠΌΠ΅Ρ€.

Нам понадобилось ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Ρ‚ΠΎΡ‡ΠΊΡƒ запуска, которая ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ выставлСна Π² срСдС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π½Π° Π½Π°Ρ‡Π°Π»ΠΎ flash ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°. Π’ AVRStudio32 Π·Π° это ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ Ρ‚Π°ΠΊ называСмая β€žΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ Π·Π°ΠΏΡƒΡΠΊΠ°β€œ (Π½Π°ΠΉΡ‚ΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ, кстати, ΠΎΡ‚Π½ΡŽΠ΄ΡŒ Π½Π΅ очСвидная Π·Π°Π΄Π°Ρ‡Π°). Π’Π°ΠΊ ΠΌΠ°Π»ΠΎ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ запуска Π½Π΅ ΡΠΎΡ…Ρ€Π°Π½ΡΡŽΡ‚ΡΡ Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ (Π° это ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ измСнСния Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Π» Π²Π½ΠΎΡΠΈΡ‚ΡŒ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ β€žΡ€ΡƒΡ‡ΠΊΠ°ΠΌΠΈβ€œ ΠΈ ΠΈΡ… нСльзя Π±Ρ‹Π»ΠΎ ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΈΡ‚ΡŒ Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ), Ρ‚Π°ΠΊ ΠΊΡ€ΠΎΠΌΠ΅ этого студия ΠΌΠΎΠ³Π»Π° Π² ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ ΠΈΠ· ΠΌΠΎΠΌΠ΅Π½Ρ‚ΠΎΠ² ΠΏΠΎ своСму ТСланию ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²ΡƒΡŽ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ, с ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ, сдСлав Π΅Π΅ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ. НСт, ΠΊΠΎΠ³Π΄Π° это всС ΡƒΠΆΠ΅ знаСшь, Ρ‚ΠΎ ΠΈΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ это Π½Π΅ вопрос. Но Π²ΠΎΡ‚ ΠΊΠΎΠ³Π΄Π° Π½Π΅ знаСшь, Π° выглядит всС Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎ послС ΠΎΡ‡Π΅Ρ€Π΅Π΄Π½ΠΎΠ³ΠΎ измСнСния Π²Π΄Ρ€ΡƒΠ³ всС пСрСстало Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ, Ρ‚ΠΎ становится ΠΎΡ‡Π΅Π½ΡŒ Π΄Π°ΠΆΠ΅ нСвСсСло…

Π’ΠΎ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Π·Π° Π³ΠΎΠ΄ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π΄Π΅Π±Π°Π³Π³Π΅Ρ€Ρ‹ банально Ρ‚Ρ€ΠΈ ΠΈΠ»ΠΈ Ρ‡Π΅Ρ‚Ρ‹Ρ€Π° Ρ€Π°Π·Π° Π²Ρ‹Ρ…ΠΎΠ΄ΠΈΠ»ΠΈ ΠΈΠ· строя, ΡƒΠΆΠ΅ Π±Ρ‹Π»ΠΎ просто досадной ΠΌΠ΅Π»ΠΎΡ‡ΡŒΡŽ.

Π•Ρ‰Π΅ ΠΎΠ΄Π½ΠΎΠΉ Ρ‚Π°ΠΊΠΎΠΉ досадной ΠΌΠ΅Π»ΠΎΡ‡ΡŒΡŽ Π±Ρ‹Π» ΠΏΡ€ΠΈΠΊΠΎΠ» с Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ Atmel Π½Π°Π·Ρ‹Π²Π°Π΅Ρ‚ Fuses β€” ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ Π±ΠΈΡ‚Ρ‹, ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ΠΌ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°, доступныС ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΊΠΎΠΌΠ°Π½Π΄. НСостороТноС Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ ошибка β€” ΠΈ процСссор оказывался Π½Π΅ΠΏΡ€ΠΈΠ³ΠΎΠ΄Π½Ρ‹ΠΌ ΠΊ Π΄Π°Π»ΡŒΠ½Π΅ΠΉΡˆΠ΅ΠΌΡƒ использованию Π±Π΅Π· ΠΎΡ‡Π΅Π½ΡŒ слоТных Ρ‚Π΅Π»ΠΎΠ΄Π²ΠΈΠΆΠ΅Π½ΠΈΠΉ. МоТно Π±Ρ‹Π»ΠΎ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π΅Π³ΠΎ с использования Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅ΠΉ Ρ‚Π°ΠΊΡ‚ΠΎΠ²ΠΎΠΉ частоты Π½Π° внСшнюю. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ внСшнСй, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ ΠΆΠ΅, Π² Π½Π°Π»ΠΈΡ‡ΠΈΠΈ Π½Π΅ Π±Ρ‹Π»ΠΎ, процСссор пСрСставал Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ. Π’Π΅Ρ€Π½ΡƒΡ‚ΡŒ этот Π±ΠΈΡ‚ Π±Π΅Π· ΠΏΠΎΠ΄Π°Ρ‡ΠΈ внСшнСй синхронизации Π±Ρ‹Π»ΠΎ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π² ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ΅. А Π΅Ρ‰Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, β€žΠ²Ρ‹ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒβ€œ JTAG β€” послС Ρ‡Π΅Π³ΠΎ ΠΊ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρƒ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒΡΡ Π΄Π΅Π±Π°Π³Π³Π΅Ρ€ΠΎΠΌ.

Π’ΠΏΠΎΠ»Π½Π΅ СстСствСнно, Ρ‡Ρ‚ΠΎ Π²ΠΎ врСмя Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‚ ошибки. Но ΠΊΠΎΠ³Π΄Π° такая ошибка ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ остановкС процСсса Π½Π° нСпонятно сколько Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ β€” мягко говоря, совсСм нСвСсСло.

Одна ΠΈΠ· послСдних ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ оказалась Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ вСсСлой β€” ΠΏΠΎ ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ ΠΈΠ· ΠΏΡ€ΠΈΡ‡ΠΈΠ½ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρ‹ ΠΎΠ΄ΠΈΠ½ Π·Π° ΠΎΠ΄Π½ΠΈΠΌ пСрСставали Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ, ΠΈ Π΄Π΅Π±Π°Π³Π³Π΅Ρ€Ρ‹ Ρ‚ΠΎΠΆΠ΅ пСрСставали ΠΈΡ… Π²ΠΈΠ΄Π΅Ρ‚ΡŒ. Π’Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π½Π° Π°Π½Π°Π»ΠΈΠ· Π±Ρ‹Π»ΠΎ ΠΏΠΎΡ‚Ρ€Π°Ρ‡Π΅Π½ΠΎ ΠΏΡ€ΠΈΠ»ΠΈΡ‡Π½ΠΎ, оказалось ΠΆΠ΅ Π²ΠΎΡ‚ Ρ‡Ρ‚ΠΎ.

НСмного Π΄ΠΎΠΏ. ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ: ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ ΠΎΡ‚ Atmel ΠΈΠΌΠ΅Π΅Ρ‚ Ρ‚Π°ΠΊ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹ΠΉ Device Code, ΠΎΠ΄Π½ΠΎΠ·Π½Π°Ρ‡Π½ΠΎ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉ сСмСйство. Π•ΡΡ‚ΡŒ спСц. ΠΊΠΎΠΌΠ°Π½Π΄Π°, Ρ‡Ρ‚ΠΎΠ±Ρ‹ этот ΠΊΠΎΠ΄ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ. Π”Π΅Π±Π°Π³Π³Π΅Ρ€ ΠΈ студия ΠΊΠ°ΠΊ Ρ€Π°Π· Π΅Π³ΠΎ ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ для ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΎ. По ΠΈΠ΄Π΅Π΅, Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ это read only, ΠΈ Π½ΠΈΠ³Π΄Π΅ Π² спСцификации Π½Π΅ ΡƒΠΊΠ°Π·Π°Π½ΠΎ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠ΅. Оказалось, Ρ‡Ρ‚ΠΎ это Π½Π΅ Ρ‚Π°ΠΊ.

Π¦ΠΈΡ‚Π°Ρ‚Π° ΠΈΠ· Errata:

Signature may be Erased in Serial Programming Mode
If the signature bytes are read before a chiperase command is completed, the signature may be erased causing the device ID and calibration bytes to disappear. This is critical, especially, if the part is running on internal RC oscillator.

ОсобСнно ΠΆΠ΅ Π²ΠΏΠ΅Ρ‡Π°Ρ‚Π»ΠΈΠ»ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹:

Problem Fix / Workaround:
Ensure that the chiperase command has exceeded before applying the next command.

Π’ΠΎ Π΅ΡΡ‚ΡŒ, Ссли Device ID ΡƒΠΆΠ΅ оказался стСртым, Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π΅Π³ΠΎ Π½Π°Π·Π°Π΄ возмоТности Π½Π΅ прСдоставляСтся. Π₯ΡƒΠΆΠ΅ всСго Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ вмСстС с Π½ΠΈΠΌ стираСтся Π΅Ρ‰Π΅ ΠΈ ΠΊΠ°Π»ΠΈΠ±Ρ€ΠΎΠ²ΠΊΠ° Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅ΠΉ частоты, которая Ρ‚Π°ΠΊΠΆΠ΅ нСвосстановима, насколько я понял ΠΈΠ· доступной ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ.

Π”ΠΎΠ»ΠΆΠ΅Π½ ΡΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ послС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Chip Erase Π² ΠΊΠΎΠ΄Π΅ стояла Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠ° Π² Π΄Π²Π° Ρ€Π°Π·Π° большС, Ρ‡Π΅ΠΌ Ρ‚ΠΎΠ³ΠΎ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π»Π° спСцификация. Однако Device ID Π²ΠΎΠ»ΡˆΠ΅Π±Π½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ стирался ΠΏΠΎ нСпонятной причинС…

Π§Ρ‚ΠΎ ΠΆΠ΅, Π½Π΅Π³Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΉ ΠΎΠΏΡ‹Ρ‚ β€” Ρ‚ΠΎΠΆΠ΅ ΠΎΠΏΡ‹Ρ‚. Вряд Π»ΠΈ я ΠΏΠΎ Π΄ΠΎΠ±Ρ€ΠΎΠΉ Π²ΠΎΠ»Π΅ Π²Ρ‹Π±Π΅Ρ€Ρƒ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Atmel для Ρ‡Π΅Π³ΠΎ-Π»ΠΈΠ±ΠΎ.

А Ρ‡Ρ‚ΠΎ касаСтся Arduino β€” понятно, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ, Ρ‡Ρ‚ΠΎ Ρ‚Π΅, ΠΊΡ‚ΠΎ Ρ€Π΅ΡˆΠ°Π΅Ρ‚ с Π½Π΅ΠΉ ΠΏΠΎΠΈΠ³Ρ€Π°Ρ‚ΡŒΡΡ, с Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎΠΌ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ банально Π½Π΅ столкнутся, Π½ΠΎ β€” послС всСго описанного Π²Ρ‹ΡˆΠ΅ я всС ΠΆΠ΅ Π½Π΅ понимаю ΡΡ‚ΠΎΠ»ΡŒ высокой Π΅Π΅ популярности.

И кстати, Π²Ρ‹Π±ΠΎΡ€ Π·Π°ΠΊΠ°Π·Ρ‡ΠΈΠΊΠΎΠΌ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹, ΠΏΠΎΡ…ΠΎΠΆΠ΅, ΠΊΠ°ΠΊ Ρ€Π°Π· ΠΈ Π±Ρ‹Π» обусловлСн ΠΏΠΎΠΏΡƒΠ»ΡΡ€Π½ΠΎΡΡ‚ΡŒΡŽ Ардуино…

UPD: Π’ΠΎΡ‚, кстати, ΠΈΠ· послСдних глюков: Π½Π° ATMega164 Π΅ΡΡ‚ΡŒ Ρ‚Ρ€ΠΈ Π³Ρ€ΡƒΠΏΠΏΡ‹ Ρ„ΡŒΡŽΠ·ΠΎΠ²: fuse, fuse_high, fuse_ext. Π’Π°ΠΊ Π²ΠΎΡ‚, ΠΏΠΎ нСизвСстной ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ fuse_high Π½Π΅ получаСтся. ΠŸΡ€ΠΈ этом ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ fuse β€” получаСтся, ΠΈ Ρ‡Ρ‚ΠΎ самоС интСрСсноС β€” послС любого измСнСния fuse (Π΄Π°ΠΆΠ΅ Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ Π·Π½Π°Ρ‡Π°Ρ‰Π΅Π³ΠΎ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅-Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π²Ρ‹Π²ΠΎΠ΄Π° Ρ‚Π°ΠΊΡ‚ΠΎΠ²ΠΎΠΉ частоты Π½Π°Ρ€ΡƒΠΆΡƒ Π½Π° ΠΏΠΈΠ½, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ висит Π² Π²ΠΎΠ·Π΄ΡƒΡ…Π΅) Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ fuse_ext.

ΠœΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρ‹ Atmel — Π’ΠΎΠ»ΡŒΡ‚ΠΈΠΊ.Ρ€Ρƒ

 Компания Atmel – Π»ΠΈΠ΄Π΅Ρ€ Π² области производства ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ². Π•Ρ‘ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ… встраиваСмых Ρ€Π΅ΡˆΠ΅Π½ΠΈΡΡ…, 8-Π±ΠΈΡ‚Π½Ρ‹Π΅ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρ‹ сСрии megaAVR с AVR Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€ΠΎΠΉ ΠΏΠΎΠ»ΠΎΠΆΠΈΠ»ΠΈ Π½Π°Ρ‡Π°Π»ΠΎ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅ Arduino, сдСлавшСй ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ использованиС ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ² простым ΠΊΠ°ΠΊ Π½ΠΈΠΊΠΎΠ³Π΄Π° Ρ€Π°Π½Π΅Π΅. ΠšΡ€ΠΎΠΌΠ΅ AVR, компания ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρ‹ Π½Π° Π±Π°Π·Π΅ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€ ARM ΠΈ MCS-51.

 Но ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρ‹ AVR всё-Ρ‚Π°ΠΊΠΈ ΡΠ²Π»ΡΡŽΡ‚ΡΡ самым популярным Π΄Π΅Ρ‚ΠΈΡ‰Π΅ΠΌ Atmel благодаря Ρ…ΠΎΡ€ΠΎΡˆΠ΅ΠΌΡƒ ΡΠΎΡ‡Π΅Ρ‚Π°Π½ΠΈΡŽ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, энСргоэффСктивности ΠΈ Ρ†Π΅Π½Ρ‹. Они Ρ…ΠΎΡ€ΠΎΡˆΠΎ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹ для программирования Π½Π° языкС C Π»ΠΈΠ±ΠΎ собствСнном языкС ассСмблСра. ΠŸΠ΅Ρ€Π²Ρ‹Π΅ 8-Π±ΠΈΡ‚Π½Ρ‹Π΅ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρ‹ этой Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ Π±Ρ‹Π»ΠΈ прСдставлСны Π² 1996 Π³ΠΎΠ΄Ρƒ, 32-Π±ΠΈΡ‚Π½Ρ‹Π΅ AVR32 появились Ρ‡Π΅Ρ€Π΅Π· 10 Π»Π΅Ρ‚ – Π² 2006 Π³ΠΎΠ΄Ρƒ.

AVR ΠΈΠΌΠ΅Π΅Ρ‚ Π³Π°Ρ€Π²Π°Ρ€Π΄ΡΠΊΡƒΡŽ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ (Π΄Π°Π½Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… хранятся Π² Ρ€Π°Π·Π½Ρ‹Ρ… адрСсных пространствах) ΠΈ систСму ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ RISC (сокращСнный Π½Π°Π±ΠΎΡ€ ΠΊΠΎΠΌΠ°Π½Π΄, ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΠΉ быстродСйствиС). Π’Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ ядро, ΠΏΠ°ΠΌΡΡ‚ΡŒ ΠΈ ΠΎΡΡ‚Π°Π»ΡŒΠ½Π°Ρ пСрифСрия находятся Π½Π° ΠΎΠ΄Π½ΠΎΠΌ кристаллС, благодаря Ρ‡Π΅ΠΌΡƒ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρ‹ AVR ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ собой SoC (System on chip, систСма Π½Π° кристаллС).

ΠšΡ€ΠΎΠΌΠ΅ Ρ„Π»Π΅Ρˆ-памяти ΠΈ ΠžΠ—Π£ Π² AVR ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°Ρ… имССтся программируСмая EEPROM ΠΏΠ°ΠΌΡΡ‚ΡŒ. ΠžΠ±ΡŠΡ‘ΠΌ памяти ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ – Π΄ΠΎ 512 ΠšΠ‘, Рабочая частота 8-Π±ΠΈΡ‚Π½Ρ‹Ρ… AVR ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ² – Π΄ΠΎ 32 ΠœΠ“Ρ†, 32-Π±ΠΈΡ‚Π½Ρ‹Ρ… – Π΄ΠΎ 66 ΠœΠ“Ρ†. НСкоторыС ΠΈΠ· Π½ΠΈΡ… ΠΈΠΌΠ΅ΡŽΡ‚ Π½Π°Ρ‚ΠΈΠ²Π½ΡƒΡŽ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ интСрфСйса USB. На сСгодняшний дСнь 8-Π±ΠΈΡ‚Π½Ρ‹Π΅ AVR ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρ‹ ΠΌΠΎΡ€Π°Π»ΡŒΠ½ΠΎ устарСли, Π° сСмСйство AVR32 Π½Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΎ ΡˆΠΈΡ€ΠΎΠΊΠΎΠ³ΠΎ распространСния.

Π’ послСднСС врСмя компания Atmel ΠΏΠ΅Ρ€Π΅ΡˆΠ»Π° Π½Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ ARM ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρ‹ вмСсто дорабатывания AVR. ARM ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρ‹ Atmel ΡΠ²Π»ΡΡŽΡ‚ΡΡ прСдставитСлями сСмСйств Cortex-M0+, Cortex-M3, Cortex-M4, Cortex-M7. Π’Π°ΠΊΠΎΠ΅ ΠΌΠ½ΠΎΠ³ΠΎΠΎΠ±Ρ€Π°Π·ΠΈΠ΅ МК Π½Π° Π±Π°Π·Π΅ ARM ΡƒΠ΄ΠΎΠ²Π»Π΅Ρ‚Π²ΠΎΡ€ΠΈΡ‚ ΠΏΠΎΡ‡Ρ‚ΠΈ Π»ΡŽΠ±Ρ‹Π΅ запросы. Они ΠΈΠΌΠ΅ΡŽΡ‚ большиС ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с AVR ΠΎΠ±ΡŠΡ‘ΠΌΡ‹ памяти ΠΈ Ρ‚Π°ΠΊΡ‚ΠΎΠ²Ρ‹Π΅ частоты: Π΄ΠΎ 2 ΠœΠ‘ памяти ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ ΠΈ Π΄ΠΎ 160 ΠšΠ‘ SRAM. Π­Ρ‚ΠΈ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρ‹ ΠΈΠΌΠ΅ΡŽΡ‚ Ρ‚Π°ΠΊΡ‚ΠΎΠ²ΡƒΡŽ частоту Π΄ΠΎ 120 ΠœΠ“Ρ†. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΎΠ½ΠΈ ΠΈΠΌΠ΅ΡŽΡ‚ Π½Π°Ρ‚ΠΈΠ²Π½ΡƒΡŽ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ сСнсорного Π²Π²ΠΎΠ΄Π° Atmel QTouch ΠΈ интСрфСйса USB. Π£ МК Atmel Π½Π° Π±Π°Π·Π΅ ARM Cortex-M4 энСргопотрСблСниС минимально Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΠ΅ срСди ΠΊΠΎΠ½ΠΊΡƒΡ€Π΅Π½Ρ‚ΠΎΠ², Ρ‡Ρ‚ΠΎ позволяСт ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ высокоавтономныС устройства.

Β ΠœΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρ‹ ΠΎΠ±ΠΎΠΈΡ… упомянутых Π²Ρ‹ΡˆΠ΅ сСмСйств ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ интСрфСйсы ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π΄Π°Π½Π½Ρ‹Ρ… Β SPI, I2C ΠΈ UART.

Β Π’Π°ΠΊΠΆΠ΅ Atmel выпускаСт ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρ‹ сСмСйства MCS-51 Π½Π° Π·Π°ΠΌΠ΅Π½Ρƒ снятым с производства Intel 8051. Π˜Ρ… производится Π±ΠΎΠ»Π΅Π΅ 50 Π²ΠΈΠ΄ΠΎΠ². ΠžΠ±ΡŠΡ‘ΠΌ Ρ„Π»Π΅Ρˆ-памяти – Π΄ΠΎ 64 ΠšΠ‘. ΠœΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρ‹ этого сСмСйства (производства Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Atmel) Π±ΠΎΠ»Π΅Π΅ 30 Π»Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ Π² Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… элСктронных устройствах – ΠΎΡ‚ свСтофоров ΠΈ Ρ‚ΠΎΡ€Π³ΠΎΠ²Ρ‹Ρ… Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΎΠ² Π΄ΠΎ Π±ΠΎΡ€Ρ‚ΠΎΠ²Ρ‹Ρ… Π°Π²ΠΈΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… самописцСв.

AVR ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρ‹: популярноС сСмСйство

БСмСйство AVR – Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² сСбя 8 Π±ΠΈΡ‚Π½Ρ‹Π΅ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρ‹ для ΡˆΠΈΡ€ΠΎΠΊΠΎΠ³ΠΎ спСктра Π·Π°Π΄Π°Ρ‡.

AVR ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹

Для слоТных ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² с большим количСством Π²Ρ…ΠΎΠ΄ΠΎΠ²/Π²Ρ‹Ρ…ΠΎΠ΄ΠΎΠ² Π²Π°ΠΌ прСдоставлСны ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρ‹ AVR сСмСйства Mega ΠΈ AVR xmega, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ΠΏΡƒΡΠΊΠ°ΡŽΡ‚ΡΡ Π² корпусах ΠΎΡ‚ 44 Π΄ΠΎ 100 Π²Ρ‹Π²ΠΎΠ΄ΠΎΠ² ΠΈ ΠΈΠΌΠ΅ΡŽΡ‚ Π΄ΠΎ 1024 ΠΊΠ± Flash памяти, Π° ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ ΠΈΡ… Ρ€Π°Π±ΠΎΡ‚Ρ‹ – Π΄ΠΎ 32 ΠΌΠΈΠ»Π»ΠΈΠΎΠ½ΠΎΠ² ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ Π² сСкунду.

ΠŸΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΠΈ всС ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΈΠΌΠ΅ΡŽΡ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ШИМ, встроСнный АЦП ΠΈ ЦАП.

ΠœΠΈΠ»Π»ΠΈΠΎΠ½Ρ‹ Ρ€Π°Π΄ΠΈΠΎΠ»ΡŽΠ±ΠΈΡ‚Π΅Π»Π΅ΠΉ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚ интСрСсныС ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹ Π½Π° AVR – это самоС популярноС сСмСйство МК, ΠΎ Π½ΠΈΡ… написано ΠΎΡ‡Π΅Π½ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠ½ΠΈΠ³ Π½Π° русском ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… языках ΠΌΠΈΡ€Π°.

Π˜Π½Ρ‚Π΅Ρ€Π΅ΡΠ½ΠΎ. Для ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠΈ Π½ΡƒΠΆΠ΅Π½ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΎΡ€, ΠΎΠ΄ΠΈΠ½ ΠΈΠ· самых распространённых – это AVRISP MKII, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ‹ Π»Π΅Π³ΠΊΠΎ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΈΠ· своСй Arduino.

ΠŸΠΎΠΏΡƒΠ»ΡΡ€Π½ΠΎΡΡ‚ΡŒ сСмСйства АВР поддСрТиваСтся Π½Π° высоком ΡƒΡ€ΠΎΠ²Π½Π΅ ΡƒΠΆΠ΅ ΠΌΠ½ΠΎΠ³ΠΎ Π»Π΅Ρ‚, Π² послСдниС 10 Π»Π΅Ρ‚ интСрСс ΠΊ Π½ΠΈΠΌ ΠΏΠΎΠ΄ΠΎΠ³Ρ€Π΅Π²Π°Π΅Ρ‚ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Arduino – ΠΏΠ»Π°Ρ‚Π° для простого Π²Ρ…ΠΎΠ΄Π° Π² ΠΌΠΈΡ€ Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠΉ элСктроники.

Π‘Ρ„Π΅Ρ€Ρ‹ примСнСния Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Tiny, Mega

Π§Π΅Ρ‚ΠΊΠΎ ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ сфСру примСнСния ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° нСльзя, вСдь ΠΎΠ½Π° Π±Π΅Π·Π³Ρ€Π°Π½ΠΈΡ‡Π½Π°, ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠ»Π°ΡΡΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

  1. Tiny AVR – самыС простыС Π² тСхничСском ΠΏΠ»Π°Π½Π΅. Π’ Π½ΠΈΡ… ΠΌΠ°Π»ΠΎ памяти ΠΈ Π²Ρ‹Π²ΠΎΠ΄ΠΎΠ² для ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ сигналов, Ρ†Π΅Π½Π° ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π°Ρ. Однако это идСальноС Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ для ΠΏΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠΈΡ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ², начиная ΠΎΡ‚ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠΊΠΈ управлСния ΠΎΡΠ²Π΅Ρ‚ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΏΡ€ΠΈΠ±ΠΎΡ€Π°ΠΌΠΈ салона автомобиля, Π΄ΠΎ осциллографичСских ΠΏΡ€ΠΎΠ±Π½ΠΈΠΊΠΎΠ² для Ρ€Π΅ΠΌΠΎΠ½Ρ‚Π° элСктроники своими Ρ€ΡƒΠΊΠ°ΠΌΠΈ. Они Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π² Arduino-совмСстимом ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ – Digispark. Π­Ρ‚ΠΎ самая малСнькая вСрсия Π°Ρ€Π΄ΡƒΠΈΠ½Ρ‹ ΠΎΡ‚ стороннСго производитСля; Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Π° Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ USB-Ρ„Π»Π΅ΡˆΠΊΠΈ.
  2. БСмСйство MEGA Π΄ΠΎΠ»Π³ΠΎ ΠΎΡΡ‚Π°Π²Π°Π»ΠΎΡΡŒ основным Ρƒ ΠΏΡ€ΠΎΠ΄Π²ΠΈΠ½ΡƒΡ‚Ρ‹Ρ… Ρ€Π°Π΄ΠΈΠΎΠ»ΡŽΠ±ΠΈΡ‚Π΅Π»Π΅ΠΉ, ΠΎΠ½ΠΈ ΠΌΠΎΡ‰Π½Π΅Π΅ ΠΈ ΠΈΠΌΠ΅ΡŽΡ‚ больший, Ρ‡Π΅ΠΌ Π² Tiny, ΠΎΠ±ΡŠΡ‘ΠΌ памяти ΠΈ количСство Π²Ρ‹Π²ΠΎΠ΄ΠΎΠ². Π­Ρ‚ΠΎ позволяСт Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ слоТныС ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹, ΠΎΠ΄Π½Π°ΠΊΠΎ сСмСйство ΠΎΡ‡Π΅Π½ΡŒ ΡˆΠΈΡ€ΠΎΠΊΠΎ для ΠΊΡ€Π°Ρ‚ΠΊΠΎΠ³ΠΎ описания. ИмСнно ΠΎΠ½ΠΈ использовались Π² ΠΏΠ΅Ρ€Π²Ρ‹Ρ… ΠΏΠ»Π°Ρ‚Π°Ρ… Arduino, Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ»Π°Ρ‚Ρ‹ оснащСны, Π² основном, ATMEGA

Π’Ρ‹Ρ…ΠΎΠ΄ любого МК Π±Π΅Π· Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… усилитСлСй потянСт свСтодиоды ΠΈΠ»ΠΈ ΡΠ²Π΅Ρ‚ΠΎΠ΄ΠΈΠΎΠ΄Π½ΡƒΡŽ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ Π² качСствС ΠΈΠ½Π΄ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠ², Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€.

AVR xMega ΠΈΠ»ΠΈ ΡΡ‚Π°Ρ€ΡˆΠΈΠ΅ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρ‹

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ Atmel создали AVR xMega, ΠΊΠ°ΠΊ Π±ΠΎΠ»Π΅Π΅ ΠΌΠΎΡ‰Π½Ρ‹ΠΉ МК, ΠΏΡ€ΠΈ этом ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°Ρ‰ΠΈΠΉ ΠΊ сСмСйству AVR. Π­Ρ‚ΠΎ Π±Ρ‹Π»ΠΎ Π½ΡƒΠΆΠ½ΠΎ для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±Π»Π΅Π³Ρ‡ΠΈΡ‚ΡŒ Ρ‚Ρ€ΡƒΠ΄ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π΅ ΠΊ Π±ΠΎΠ»Π΅Π΅ ΠΌΠΎΡ‰Π½ΠΎΠΌΡƒ сСмСйству.

Π’ AVR xMega Π΅ΡΡ‚ΡŒ Π΄Π²Π° направлСния:

  • МК с напряТСниСм питания 1.8-2.7 Π²ΠΎΠ»ΡŒΡ‚Π°, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ с частотой Π΄ΠΎ 12 ΠΌΠ“Ρ†, ΠΈΡ… Π²Ρ…ΠΎΠ΄Π° устойчивы ΠΊ Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Π΅ напряТСния Π² 3.3 Π’;
  • МК с напряТСниСм питания 2.7-3.6 Π²ΠΎΠ»ΡŒΡ‚Π° ΡƒΠΆΠ΅ ΠΌΠΎΠ³ΡƒΡ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π° Π±ΠΎΠ»Π΅Π΅ высоких частотах – Π΄ΠΎ 32 ΠΌΠ“Ρ†, Π° Π²Ρ…ΠΎΠ΄ устойчив ΠΊ 5 Π²ΠΎΠ»ΡŒΡ‚Π°ΠΌ.

Π’Π°ΠΊΠΆΠ΅ стоит ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ: AVR xMega ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ Π² Π°Π²Ρ‚ΠΎΠ½ΠΎΠΌΠ½Ρ‹Ρ… систСмах, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΈΠΌΠ΅ΡŽΡ‚ Π½ΠΈΠ·ΠΊΠΎΠ΅ энСргопотрСблСниС. Для ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°: ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΡ… Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π°Ρ… ΠΈ часах Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ RTC ΠΏΠΎΡ‚Ρ€Π΅Π±Π»ΡΡŽΡ‚ 2 мА Ρ‚ΠΎΠΊΠ°, ΠΈ Π³ΠΎΡ‚ΠΎΠ²Ρ‹ ΠΊ Ρ€Π°Π±ΠΎΡ‚Π΅ ΠΎΡ‚ прСрывания внСшнСго ΠΈΠ»ΠΈ ΠΏΠΎ ΠΏΠ΅Ρ€Π΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡŽ Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π°, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. Для выполнСния Ρ†Π΅Π»ΠΎΠ³ΠΎ ряда Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ примСняСтся мноТСство 16 разрядных Ρ‚Π°ΠΉΠΌΠ΅Ρ€ΠΎΠ².

Π Π°Π±ΠΎΡ‚Π° с USB ΠΏΠΎΡ€Ρ‚ΠΎΠΌ

НачнСм с Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ для программирования ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΠΎΡ€Ρ‚, ΠΎΠ΄Π½Π°ΠΊΠΎ Π½Π° соврСмСнных ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°Ρ… COM ΠΏΠΎΡ€Ρ‚ часто отсутствуСт. Как ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ ΠΊ Ρ‚Π°ΠΊΠΎΠΌΡƒ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρƒ? Если ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ USB-UART, эта ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Ρ€Π΅ΡˆΠ°Π΅Ρ‚ΡΡ ΠΎΡ‡Π΅Π½ΡŒ Π»Π΅Π³ΠΊΠΎ. ΠŸΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠΈΠΉ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΎΠ±Ρ€Π°Ρ‚ΡŒ Π½Π° микросхСмах FT232 ΠΈ Ch440, Π° Π΅Π³ΠΎ схСма прСдставлСна Π½ΠΈΠΆΠ΅.

Π’Π°ΠΊΠΎΠΉ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½ Π½Π° ΠΏΠ»Π°Ρ‚Π°Ρ… Arduino UNO ΠΈ Aduino Nano.

НСкоторыС ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρ‹ AVR ΠΈΠΌΠ΅ΡŽΡ‚ встроСнный (Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹ΠΉ) USB:

  • ATmega8U2;
  • ATmega16U2;
  • ATmega32U2.

Π’Π°ΠΊΠΎΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ нашло ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ связи ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π° ΠΈ Arduino mega2560 ΠΏΠΎ USB, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ Β«ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅Ρ‚Β» Ρ‚ΠΎΠ»ΡŒΠΊΠΎ UART.

НазначСниС ЦАП ΠΈ АЦП ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ² AVR

Π¦ΠΈΡ„Ρ€ΠΎΠ°Π½Π°Π»ΠΎΠ³ΠΎΠ²Ρ‹ΠΌΠΈ прСобразоватСлями (ЦАП) Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ устройства, ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΡŽΡ‰ΠΈΠ΅ сигнал Π΅Π΄ΠΈΠ½ΠΈΡ† ΠΈ Π½ΠΎΠ»Π΅ΠΉ (Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠΉ) Π² Π°Π½Π°Π»ΠΎΠ³ΠΎΠ²Ρ‹ΠΉ (ΠΏΠ»Π°Π²Π½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΡΡŽΡ‰ΠΈΠΉΡΡ). Π“Π»Π°Π²Π½Ρ‹Π΅ характСристики – Ρ€Π°Π·Ρ€ΡΠ΄Π½ΠΎΡΡ‚ΡŒ ΠΈ частота дискрСтизации. Π’ АЦП прСобразуСтся Π°Π½Π°Π»ΠΎΠ³ΠΎΠ²Ρ‹ΠΉ сигнал Π² Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠΉ Π²ΠΈΠ΄.

ΠŸΠΎΡ€Ρ‚Ρ‹ с ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ АЦП Π½ΡƒΠΆΠ½Ρ‹ для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΊ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρƒ Π°Π½Π°Π»ΠΎΠ³ΠΎΠ²Ρ‹Π΅ Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠΈ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, рСзистивного Ρ‚ΠΈΠΏΠ°.

ЦАП Π½Π°ΡˆΡ‘Π» своё ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π² Ρ†ΠΈΡ„Ρ€ΠΎΠ²Ρ‹Ρ… Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ…, Π³Π΄Π΅ Π²Ρ…ΠΎΠ΄Π½ΠΎΠΉ сигнал ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΡƒΡŽ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ ΠΈ Π²Ρ‹Π²ΠΎΠ΄ Ρ‡Π΅Ρ€Π΅Π· ЦАП Π² Π°Π½Π°Π»ΠΎΠ³ΠΎΠ²ΠΎΠΌ Π²ΠΈΠ΄Π΅, Π½ΠΈΠΆΠ΅ Π²Ρ‹ Π²ΠΈΠ΄ΠΈΡ‚Π΅ наглядныС осциллограммы. НиТний Π³Ρ€Π°Ρ„ΠΈΠΊ – Π²Ρ…ΠΎΠ΄Π½ΠΎΠΉ сигнал, срСдний – этот ΠΆΠ΅ сигнал, Π½ΠΎ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹ΠΉ Π°Π½Π°Π»ΠΎΠ³ΠΎΠ²Ρ‹ΠΌ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠΌ, Π° Π²Π΅Ρ€Ρ…Π½ΠΈΠΉ – Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠΉ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ Π½Π° ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π΅ Tiny45. Π€ΠΈΠ»ΡŒΡ‚Ρ€ Π½ΡƒΠΆΠ΅Π½ для формирования Π½ΡƒΠΆΠ½ΠΎΠ³ΠΎ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° частот сигнала, Π° Ρ‚Π°ΠΊΠΆΠ΅ для формирования сигнала ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΡ‹.

Π‘Ρ…Π΅ΠΌΠ° осциллографа Π½Π° ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π΅ Atmega328

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ использования АЦП – это осциллограф Π½Π° ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π΅. К соТалСнию, частоты ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² ΠΈ процСссора ПК ΠΎΡ‚ΡΠ»Π΅Π΄ΠΈΡ‚ΡŒ Π½Π΅ удастся, Π° Π²ΠΎΡ‚ частоты порядка 1 ΠΌΠ“Ρ† – Π»Π΅Π³ΠΊΠΎ. Он станСт ΠΎΡ‚Π»ΠΈΡ‡Π½Ρ‹ΠΌ ΠΏΠΎΠΌΠΎΡ‰Π½ΠΈΠΊΠΎΠΌ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с ΠΈΠΌΠΏΡƒΠ»ΡŒΡΠ½Ρ‹ΠΌΠΈ Π±Π»ΠΎΠΊΠ°ΠΌΠΈ питания.

А здСсь располоТСно ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠ΅ Π²ΠΈΠ΄Π΅ΠΎ этого ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, инструкции ΠΏΠΎ сборкС ΠΈ совСты ΠΎΡ‚ Π°Π²Ρ‚ΠΎΡ€Π°:

ΠšΠ°ΠΊΡƒΡŽ Π»ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΡƒΡ€Ρƒ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°Ρ… AVR для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…?

Для обучСния ΠΌΠΎΠ»ΠΎΠ΄Ρ‹Ρ… спСциалистов написаны Π³ΠΎΡ€Ρ‹ Π»ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΡƒΡ€Ρ‹, Π΄Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ· Π½ΠΈΡ…:

  1. ЕвстифССв А.Π’. Β«ΠœΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρ‹ AVR сСмСйства MegaΒ». Π’ ΠΊΠ½ΠΈΠ³Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ рассмотрСна Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°. Описано Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ всСх рСгистров ΠΈ Ρ‚Π°ΠΉΠΌΠ΅Ρ€ΠΎΠ², Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΡ… Ρ€Π΅ΠΆΠΈΠΌΡ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹. Π˜Π·ΡƒΡ‡Π΅Π½Π° Ρ€Π°Π±ΠΎΡ‚Π° интСрфСйсов связи с внСшним ΠΌΠΈΡ€ΠΎΠΌ SPI ΠΈ Ρ‚. Π΄. БистСма ΠΊΠΎΠΌΠ°Π½Π΄ раскрыта для понимания Ρ€Π°Π΄ΠΈΠΎΠ»ΡŽΠ±ΠΈΡ‚Π΅Π»ΡŽ срСднСго уровня. ΠœΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π» ΠΊΠ½ΠΈΠ³ΠΈ Β«ΠœΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρ‹ avr сСмСйства mega: руководство ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΒ» ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠ·ΡƒΡ‡ΠΈΡ‚ΡŒ структуру Ρ‡ΠΈΠΏΠ° ΠΈ Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· Π΅Π³ΠΎ ΡƒΠ·Π»ΠΎΠ², Ρ‡Ρ‚ΠΎ, бСзусловно, Π²Π°ΠΆΠ½ΠΎ для любого программиста ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ².
  2. Π‘Π΅Π»ΠΎΠ² А.Π’. – Β«ΠœΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρ‹ AVR Π² Ρ€Π°Π΄ΠΈΠΎΠ»ΡŽΠ±ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠΉ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅Β». Как Π²ΠΈΠ΄Π½ΠΎ ΠΈΠ· названия, эта ΠΊΠ½ΠΈΠ³Π°, Π² большСй стСпСни, посвящСна практичСской сторонС Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°ΠΌΠΈ. ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ рассмотрСн ΡΡ‚Π°Π²ΡˆΠΈΠΉ классичСским ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ ATiny2313, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ схСмы для сборки.
  3. Π₯Π°Ρ€Ρ‚ΠΎΠ² Π’.Π―. Β«ΠœΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρ‹ AVR. ΠŸΡ€Π°ΠΊΡ‚ΠΈΠΊΡƒΠΌ для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…Β». ΠŸΠΎΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ Π² AVR studio 4, Π° Ρ‚Π°ΠΊΠΆΠ΅ стартовом Π½Π°Π±ΠΎΡ€Π΅ STK Π’Ρ‹ Π½Π°ΡƒΡ‡ΠΈΡ‚Π΅ΡΡŒ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΈ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ интСрфСйсами, Ρ‚Π°ΠΊΠΈΠΌΠΈ ΠΊΠ°ΠΊ UART, I2C ΠΈ SPI. Книга Β«ΠœΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρ‹ AVR. ΠŸΡ€Π°ΠΊΡ‚ΠΈΠΊΡƒΠΌ для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…Β» написана ΠΏΡ€Π΅ΠΏΠΎΠ΄Π°Π²Π°Ρ‚Π΅Π»Π΅ΠΌ ΠœΠ“Π’Π£ ΠΈΠΌ. Н.Π­.Π‘Π°ΡƒΠΌΠ°Π½Π° ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Ρ‚Π°ΠΌ для изучСния этой Ρ‚Π΅ΠΌΡ‹.

Π˜Π·ΡƒΡ‡Π΅Π½ΠΈΠ΅ этого сСмСйства ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ² ΠΏΠΎΠΌΠΎΠ³Π»ΠΎ Π½Π°Ρ‡Π°Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΈ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹ ΠΌΠ½ΠΎΠ³ΠΈΠΌ Π»ΡŽΠ±ΠΈΡ‚Π΅Π»ΡΠΌ элСктроники. Π‘Ρ‚ΠΎΠΈΡ‚ Π½Π°Ρ‡ΠΈΠ½Π°Ρ‚ΡŒ ΠΈΠΌΠ΅Π½Π½ΠΎ с популярного сСмСйства, Ρ‡Ρ‚ΠΎΠ±Ρ‹ всСгда ΠΈΠΌΠ΅Ρ‚ΡŒ доступ ΠΊ ΠΌΠΎΡ€ΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ.

Π‘Ρ€Π΅Π΄ΠΈ Ρ€Π°Π΄ΠΈΠΎΠ»ΡŽΠ±ΠΈΡ‚Π΅Π»Π΅ΠΉ Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ уровня Π΅ΡΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ ΠΊΠΎΠ½ΠΊΡƒΡ€Π΅Π½Ρ‚ AVR – PIC ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρ‹.

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ² Π² AtmelStudio 6. Π§Π°ΡΡ‚ΡŒ 1. ΠŸΠ΅Ρ€Π²Ρ‹Π΅ шаги

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ² Π² AtmelStudio 6. Π§Π°ΡΡ‚ΡŒ 1. ΠŸΠ΅Ρ€Π²Ρ‹Π΅ шаги
Π‘ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠ΅ Ρ€Π°Π΄ΠΈΠΎΠ»ΡŽΠ±ΠΈΡ‚Π΅Π»ΡŒΡΡ‚Π²ΠΎ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π±Π΅Π·Β ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ², и это ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ. В послСдниС дСсятилСтия ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρ‹ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»Π΅ΠΉ стали ΡˆΠΈΡ€ΠΎΠΊΠΎ распространСны Π²Β Ρ€Π°Π·Π½Ρ‹Ρ… сфСрах Π΄Π΅ΡΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠ°. НСрСдко ΠΈΡ…Β ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΡ‚Ρ€Π΅Ρ‚ΠΈΡ‚ΡŒ в самых Π½Π΅ΠΎΠΆΠΈΠ΄Π°Π½Π½Ρ‹Ρ… устройствах и конструкциях. ΠœΡ‹ с вами являСмся свидСтСлями ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈΒ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΎΠΊΡ€ΡƒΠΆΠ°ΡŽΡ‰ΠΈΡ… нас процСссов. Π˜ΡΡ‚ΠΈΠ½Π° Ρ‚Π°ΠΊΠΎΠ²Π°, что бСз знания основ программирования ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ соврСмСнныС конкурСнтоспособныС устройства стало практичСски нСвозмоТно…

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅ / Contents

Если Π²Ρ‹ Ρ‡ΠΈΡ‚Π°Π΅Ρ‚Π΅ эту ΡΡ‚Π°Ρ‚ΡŒΡŽ, вСроятно у вас Π²ΠΎΠ·Π½ΠΈΠΊΠ»ΠΎ ΠΆΠ΅Π»Π°Π½ΠΈΠ΅ ΠΏΠΎΠ½ΡΡ‚ΡŒ, ΠΊΠ°ΠΊΒ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρ‹, и скорСС всСго появились вопросы:
1. Какой ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ для работы?
2. ΠšΠ°ΠΊΡƒΡŽ срСду Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для программирования Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠ³ΠΎ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°?
3. ΠšΠ°ΠΊΒ ΠΏΡ€ΠΎΡˆΠΈΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€, ΠΈΒ ΠΊΠ°ΠΊΠΈΠ΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΏΡ€ΠΈΠ±ΠΎΡ€Ρ‹ и акссСсуары Π½ΡƒΠΆΠ½Ρ‹ для удобной Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ними?
4. ΠšΠ°ΠΊΡƒΡŽ Π»ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΡƒΡ€Ρƒ ΠΈΠ·ΡƒΡ‡Π°Ρ‚ΡŒ?
5. Π“Π΄Π΅ Π²Β ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π΄Π°Π²Π°Ρ‚ΡŒ вопросы ΠΈΒ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Π΅ ΠΎΡ‚Π²Π΅Ρ‚Ρ‹?

ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠ΅ΠΌ ΠΎΡ‚Π²Π΅Ρ‚ΠΈΡ‚ΡŒ на эти вопросы.

Π‘ΠΎΠ»ΡŒΡˆΠΎΠΉ ΠΏΠΎΠΏΡƒΠ»ΡΡ€Π½ΠΎΡΡ‚ΡŒΡŽ ΡƒΒ Ρ€Π°Π΄ΠΈΠΎΠ»ΡŽΠ±ΠΈΡ‚Π΅Π»Π΅ΠΉ ΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ 8-Π±ΠΈΡ‚Π½Ρ‹Π΅ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρ‹ PIC Ρ„ΠΈΡ€ΠΌΡ‹ Microchip Technology ΠΈΒ AVR Ρ„ΠΈΡ€ΠΌΡ‹ Atmel, 16-Π±ΠΈΡ‚Π½Ρ‹Π΅ MSP430 Ρ„ΠΈΡ€ΠΌΡ‹ TI, Π°Β Ρ‚Π°ΠΊΠΆΠ΅ 32-Π±ΠΈΡ‚Π½Ρ‹Π΅ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρ‹, Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ ARM.

Π’Β ΠΏΡ€ΠΎΠΌΡ‹ΡˆΠ»Π΅Π½Π½ΠΎΡΡ‚ΠΈ, нСсколько ΠΈΠ½Π°Ρ‡Π΅, ΠΏΠ΅Ρ€Π²ΠΎΠ΅ мСсто с большим ΠΎΡ‚Ρ€Ρ‹Π²ΠΎΠΌ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ Renesas Electronics Π½Π°Β Π²Ρ‚ΠΎΡ€ΠΎΠΌ Freescale, Π½Π°Β Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅ΠΌ Samsung, Π·Π°Ρ‚Π΅ΠΌ ΠΈΠ΄ΡƒΡ‚ Microchip ΠΈΒ TI, Π΄Π°Π»Π΅Π΅ всС ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅.
ΠŸΠΎΠΏΡƒΠ»ΡΡ€Π½ΠΎΡΡ‚ΡŒ опрСдСляСтся Ρ†Π΅Π½ΠΎΠΉ ΠΈΒ Π΄ΠΎΡΡ‚ΡƒΠΏΠ½ΠΎΡΡ‚ΡŒΡŽ, Π½Π΅ΠΌΠ°Π»ΡƒΡŽ Ρ€ΠΎΠ»ΡŒ ΠΈΠ³Ρ€Π°ΡŽΡ‚ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ тСхничСской ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΈΒ ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ сопровоТдСния.

ΠœΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΠ·ΡƒΡ‡Π°Ρ‚ΡŒ 8-Π±ΠΈΡ‚Π½Ρ‹Π΅ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρ‹ AVR, сСмСйства ATMEGA 8 ΠΈΒ 16 сСрии. Π’Ρ‹Π±ΠΎΡ€ опрСдСлился, ΠΎΠΏΡΡ‚ΡŒΒ ΠΆΠ΅ Π΄ΠΎΡΡ‚ΡƒΠΏΠ½ΠΎΡΡ‚ΡŒΡŽ, Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ΠΌ мноТСства Π»ΡŽΠ±ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΈΡ… Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΎΠΊ, ΠΎΠ³Ρ€ΠΎΠΌΠ½Ρ‹ΠΌ количСством ΡƒΡ‡Π΅Π±Π½ΠΎΠ³ΠΎ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Π°. НаличиСм Ρ€Π°Π·Π½ΠΎΠΎΠ±Ρ€Π°Π·Π½Ρ‹Ρ… встроСнных ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² ΠΈΒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ этого сСмСйства.

Для AVR созданы Ρ€Π°Π·Π½Ρ‹Π΅ ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ срСды Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ (IDE, Integrated development environment).
IDE – это систСма ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… срСдств, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠ°Ρ программистами для разработки ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния (ПО), в состав ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ входят:
β€’ тСкстовый Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€,
β€’ компилятор ΠΈ/ΠΈΠ»ΠΈΒ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€,
β€’ срСдства Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ сборки,
β€’ ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊ.

НаиболСС распространСнныС ΠΈΠ·Β Π½ΠΈΡ… AVRStudio, ATmelStudio, WINAVR, CodeVision, IAR Embedded Workbench.
Для того, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΌΡ‹ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡΡ бСсплатной IDE ATmelStudio вСрсии 6 ΠΈΒ Π²Ρ‹ΡˆΠ΅.
Π‘ΠΊΠ°Ρ‡Π°Ρ‚ΡŒ Atmel Studio ΠΌΠΎΠΆΠ½ΠΎ ΡΒ ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ сайта послС рСгистрации (рСгистрация Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎ бСсплатная ΠΈΒ Π½ΠΈΒ ΠΊΒ Ρ‡Π΅ΠΌΡƒ нС обязываСт!)

ATmelStudio позволяСт ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹, ΠΈΒ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ как в ассСмблСрС, Ρ‚Π°ΠΊ и на БИ.

Π˜Π·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ всСгда стоит вопрос: ΠΊΠ°ΠΊΠΎΠΉ язык программирования Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΈΡΠ°Ρ‚ΡŒ эффСктивныС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹?

ΠžΡ‚Π²Π΅Ρ‡Ρƒ просто: Π½ΡƒΠΆΠ½ΠΎ ΡƒΠΌΠ΅Ρ‚ΡŒ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠ°ΠΊΒ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ Π½Π°Β Π΄Π²ΡƒΡ… языках ассСмблСрС и БИ. АссСмблСр просто Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌ, ΠΊΠΎΠ³Π΄Π° Π½ΡƒΠΆΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ быстрыС ΠΈΒ ΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚Π½Ρ‹Π΅ ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ и макросы, Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Ρ‹ устройств. Но, ΠΊΠΎΠ³Π΄Π° трСбуСтся ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΌΠ½Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚, построСнный на слоТных Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°Ρ…, бСз знания БИ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΡ‚Ρ€Π°Ρ‡Π΅Π½ΠΎ ΠΎΡ‡Π΅Π½ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, особСнно в процСссС ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ, а Ссли Π²ΠΎΠ·Π½ΠΈΠΊΠ½Π΅Ρ‚ ΠΆΠ΅Π»Π°Π½ΠΈΠ΅ пСрСнСсти Π½Π°Β Π΄Ρ€ΡƒΠ³ΡƒΡŽ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡƒ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ PIC18, ΠΈΠ»ΠΈΒ STM, ΠΌΠΎΠΆΠ΅Ρ‚ ΡΡ‚Π°Ρ‚ΡŒ Π½Π΅Ρ€Π°Π·Ρ€Π΅ΡˆΠΈΠΌΠΎΠΉ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΎΠΉ.
ΠšΡ€ΠΎΠΌΠ΅ этого, сСйчас появились Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹Π΅ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ Arduino, Ρ€Π°Π±ΠΎΡ‚Π° с которыми Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Π·Π½Π°Π½ΠΈΠΉ языка БИ++.
ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π±ΡƒΠ΄Π΅ΠΌ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ как в ассСмблСрС, Ρ‚Π°ΠΊ и на БИ.

Π§Ρ‚ΠΎΠ±Ρ‹ наглядно Π²ΠΈΠ΄Π΅Ρ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ своСй Ρ€Π°Π±ΠΎΡ‚Ρ‹, Π½Π΅Β ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ паяльник ΠΈΠ»ΠΈΒ ΠΌΠ°ΠΊΠ΅Ρ‚Π½ΡƒΡŽ ΠΏΠ»Π°Ρ‚Ρƒ достаточно ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Proteus.

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ датагорский ΠΊΠΈΡ‚Β β€” ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΎΡ€ Project-005 Β«D-AVR910Β». ΠšΡ€ΠΎΠΌΠ΅ этого, Π½ΡƒΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ приобрСсти ΠΌΠ°ΠΊΠ΅Ρ‚Π½Ρ‹Π΅ ΠΏΠ»Π°Ρ‚Ρ‹, Π±Π»ΠΎΠΊ питания с выходным напряТСниСм 5 Π’ΠΎΠ»ΡŒΡ‚. МоТно в качСствС Π‘ΠŸ с малыми ΠΏΡƒΠ»ΡŒΡΠ°Ρ†ΠΈΡΠΌΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ наш ΠΊΠΈΡ‚ Project-006 Β«POWER FILTERΒ», ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠ² стабилитрон Π½Π°Β 5 Π’ΠΎΠ»ΡŒΡ‚.
Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, со врСмСнСм ΠΌΡ‹ ΡΒ Π˜Π³ΠΎΡ€Π΅ΠΌ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠΈΠΌ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ для сборки ΠΎΡ‚Π»Π°Π΄ΠΎΡ‡Π½ΠΎΠΉ ΠΏΠ»Π°Ρ‚Ρ‹.

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ² Π² AtmelStudio 6. Π§Π°ΡΡ‚ΡŒ 1. ΠŸΠ΅Ρ€Π²Ρ‹Π΅ шаги

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ² Π² AtmelStudio 6. Π§Π°ΡΡ‚ΡŒ 1. ΠŸΠ΅Ρ€Π²Ρ‹Π΅ шаги

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ² Π² AtmelStudio 6. Π§Π°ΡΡ‚ΡŒ 1. ΠŸΠ΅Ρ€Π²Ρ‹Π΅ шаги

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ² Π² AtmelStudio 6. Π§Π°ΡΡ‚ΡŒ 1. ΠŸΠ΅Ρ€Π²Ρ‹Π΅ ΡˆΠ°Π³ΠΈΠΒ Π²ΠΎΡ‚, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€:
β€’ ΠŸΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ AVR на ассСмблСрС. Π Π΅Π²ΠΈΡ‡, 2011
β€’ 1000 ΠΈΒ ΠΎΠ΄Π½Π° микроконтроллСрная схСма Π’Ρ‹ΠΏ. 1-2. Рюмик, 2010-2011
β€’ 10 практичСских устройств на МК AVR Книга 1-2. ΠšΡ€Π°Π²Ρ‡Π΅Π½ΠΊΠΎ, 2008-2009
β€’ Π‘Π°ΠΌΠΎΡƒΡ‡ΠΈΡ‚Π΅Π»ΡŒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° устройств на МК AVR. Π‘Π΅Π»ΠΎΠ², 2008
β€’ МК AVR сСмСйств Tiny ΠΈΒ Atmega. ЕфстифССв, 2008
β€’ CodeVisionAVR. ПособиС Π΄Π»ΡΒ Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…. Π›Π΅Π±Π΅Π΄Π΅Π², 2008
β€’ ΠœΠΈΠΊΡ€ΠΎΠΏΡ€ΠΎΡ†Π΅ΡΡΠΎΡ€Π½ΠΎΠ΅ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ устройствами, тиристоры, Ρ€Π΅Π»Π΅. Π‘Π΅Π»ΠΎΠ², 2008
β€’ АналоговыС интСрфСйсы МК. Π‘Ρ‚ΡŽΠ°Ρ€Π΄, Π‘ΠΎΠ»Π», 2007
β€’ Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ устройства на МК AVR. Π‘Π΅Π»ΠΎΠ², 2007
β€’ МК AVR Π²Β Ρ€Π°Π΄ΠΈΠΎΠ»ΡŽΠ±ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠΉ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅. ΠŸΠΎΠ»Π½Ρ‹ΠΉ Ρ€Π°Π·Π±ΠΎΡ€ ATTINY2313. Π‘Π΅Π»ΠΎΠ², 2007
β€’ Π‘Π΅Ρ‚Π΅Π²ΠΎΠΉ и мСТсСтСвой ΠΎΠ±ΠΌΠ΅Π½ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ с МК. Иди, 2007
β€’ МК AVR. ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΡƒΠΌ Π΄Π»ΡΒ Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…. Π₯Π°Ρ€Ρ‚ΠΎΠ², 2007
β€’ ΠŸΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ AVR Π‘Ρ…Π΅ΠΌΡ‹, Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Π‘Π°Ρ€Π°Π½ΠΎΠ², 2006
β€’ ΠœΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρ‹ AVR. Π’Π²ΠΎΠ΄Π½Ρ‹ΠΉ курс. ΠœΠΎΡ€Ρ‚ΠΎΠ½, 2006
β€’ Π˜Π·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠ΅, ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈΒ Ρ€Π΅Π³ΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΒ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ AVR. Π’Ρ€Π°ΠΌΠΏΠ΅Ρ€Ρ‚, 2006
β€’ ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ на языкС Б для AVR ΠΈΒ PIC МК. Π¨ΠΏΠ°ΠΊ, 2006
β€’ ΠšΠΎΠ½ΡΡ‚Ρ€ΡƒΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ устройств на МК. Π‘Π΅Π»ΠΎΠ², 2005
β€’ МKΒ β€” это ТС просто, Ρ‚ΠΎΠΌΠ° 1-3. Π€Ρ€ΡƒΠ½Π·Π΅, 2002-2003
β€’ Π―Π·Ρ‹ΠΊ программирования Π‘ΠΈ, 2-Π΅ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅. ΠšΠ΅Ρ€Π½ΠΈΠ³Π°Π½, Π ΠΈΡ‚Ρ‡ΠΈ, 2009
β€’ ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ² ATMEL на языкС Π‘. ΠŸΡ€ΠΎΠΊΠΎΠΏΠ΅Π½ΠΊΠΎ, 2012Π—Π°Π΄Π°Π²Π°Ρ‚ΡŒ вопросы Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ на нашСм или любом Π΄Ρ€ΡƒΠ³ΠΎΠΌ Ρ„ΠΎΡ€ΡƒΠΌΠ΅, Π³Π΄Π΅ Ρ‚Π°ΠΊ ΠΈΠ»ΠΈΒ ΠΈΠ½Π°Ρ‡Π΅ Π·Π°Ρ‚Ρ€ΠΎΠ½ΡƒΡ‚Ρ‹ Ρ‚Π΅ΠΌΡ‹ ΠΏΠΎΒ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°ΠΌ. Π“Π»Π°Π²Π½ΠΎΠ΅ Π½Π°Β Ρ„ΠΎΡ€ΡƒΠΌΠ°Ρ… ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ Ρ„ΠΎΡ€ΠΌΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ вопросы, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ‡Π΅Ρ‚ΠΊΠΎ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ ΠΎΡ‚Π²Π΅Ρ‚Ρ‹. АбстрактныС вопросы Π½Π΅Β ΠΏΡ€ΠΈΠ²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‚ΡΡ, и скорСС всСго вмСсто ΠΎΡ‚Π²Π΅Ρ‚Π° Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ ΠΆΠ΅ΡΡ‚ΠΊΡƒΡŽ ΠΊΡ€ΠΈΡ‚ΠΈΠΊΡƒ, или ваш вопрос останСтся бСз внимания! β€’ 8-разрядный Π²Ρ‹ΡΠΎΠΊΠΎΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ AVR ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ с малым ΠΏΠΎΡ‚Ρ€Π΅Π±Π»Π΅Π½ΠΈΠ΅ΠΌ
β€’ ΠŸΡ€ΠΎΠ³Ρ€Π΅ΡΡΠΈΠ²Π½Π°Ρ RISC Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π°
130 Π²Ρ‹ΡΠΎΠΊΠΎΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΊΠΎΠΌΠ°Π½Π΄, Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄ выполняСтся Π·Π°Β ΠΎΠ΄ΠΈΠ½ Ρ‚Π°ΠΊΡ‚ΠΎΠ²Ρ‹ΠΉ Ρ†ΠΈΠΊΠ»
32 8-разрядных Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… рСгистра ΠΎΠ±Ρ‰Π΅Π³ΠΎ назначСния
ΠŸΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ статичСская Ρ€Π°Π±ΠΎΡ‚Π°
ΠŸΡ€ΠΈΠ±Π»ΠΈΠΆΠ°ΡŽΡ‰Π°ΡΡΡ ΠΊΒ 16 MIPS (ΠΏΡ€ΠΈΒ Ρ‚Π°ΠΊΡ‚ΠΎΠ²ΠΎΠΉ частотС 16 ΠœΠ“Ρ†) ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ
ВстроСнный 2-Ρ†ΠΈΠΊΠ»ΠΎΠ²Ρ‹ΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ½ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒ

β€’ ЭнСргонСзависимая ΠΏΠ°ΠΌΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ ΠΈΒ Π΄Π°Π½Π½Ρ‹Ρ…
8 ΠšΠ±Π°ΠΉΡ‚ внутрисистСмно ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΠ΅ΠΌΠΎΠΉ Flash памяти (In-System Self-Programmable Flash)
ΠžΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°Π΅Ρ‚ 1000 Ρ†ΠΈΠΊΠ»ΠΎΠ² стирания/записи
Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ сСктор Π·Π°Π³Ρ€ΡƒΠ·ΠΎΡ‡Π½Ρ‹Ρ… ΠΊΠΎΠ΄ΠΎΠ² с нСзависимыми Π±ΠΈΡ‚Π°ΠΌΠΈ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ
ΠžΠ±Π΅ΡΠΏΠ΅Ρ‡Π΅Π½ Ρ€Π΅ΠΆΠΈΠΌ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ чтСния/записи (Read-While-Write)
512Β Π±Π°ΠΉΡ‚ EEPROM
ΠžΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°Π΅Ρ‚ 100000 Ρ†ΠΈΠΊΠ»ΠΎΠ² стирания/записи
1 ΠšΠ±Π°ΠΉΡ‚ встроСнной SRAM
ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΠ΅ΠΌΠ°Ρ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠ°, ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰Π°Ρ Π·Π°Ρ‰ΠΈΡ‚Ρƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… срСдств ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ

β€’ ВстроСнная пСрифСрия
Π”Π²Π° 8-разрядных Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π°/счСтчика ΡΒ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΌ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ Π΄Π΅Π»ΠΈΡ‚Π΅Π»Π΅ΠΌ, ΠΎΠ΄ΠΈΠ½ с рСТимом сравнСния
Один 16-разрядный Ρ‚Π°ΠΉΠΌΠ΅Ρ€/счСтчик ΡΒ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΌ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ Π΄Π΅Π»ΠΈΡ‚Π΅Π»Π΅ΠΌ ΠΈΒ Ρ€Π΅ΠΆΠΈΠΌΠ°ΠΌΠΈ Π·Π°Ρ…Π²Π°Ρ‚Π° и сравнСния
Π‘Ρ‡Π΅Ρ‚Ρ‡ΠΈΠΊ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΡΒ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΌ Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠΌ
Π’Ρ€ΠΈ ΠΊΠ°Π½Π°Π»Π° PWM
8-ΠΊΠ°Π½Π°Π»ΡŒΠ½Ρ‹ΠΉ Π°Π½Π°Π»ΠΎΠ³ΠΎ-Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠΉ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ (в корпусах TQFP ΠΈΒ MLF)
6 ΠΊΠ°Π½Π°Π»ΠΎΠ² с 10-разрядной Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒΡŽ
2 ΠΊΠ°Π½Π°Π»Π° с 8-разрядной Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒΡŽ
6-ΠΊΠ°Π½Π°Π»ΡŒΠ½Ρ‹ΠΉ Π°Π½Π°Π»ΠΎΠ³ΠΎ-Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠΉ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ (в корпусС PDIP)
4 ΠΊΠ°Π½Π°Π»Π° с 10-разрядной Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒΡŽ
2 ΠΊΠ°Π½Π°Π»Π° с 8-разрядной Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒΡŽ
Π‘Π°ΠΉΡ‚-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ 2-ΠΏΡ€ΠΎΠ²ΠΎΠ΄Π½Ρ‹ΠΉ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ интСрфСйс
ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΉ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ USART
ΠŸΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ интСрфСйс SPI (Π²Π΅Π΄ΡƒΡ‰ΠΈΠΉ/Π²Π΅Π΄ΠΎΠΌΡ‹ΠΉ)
ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΉ стороТСвой Ρ‚Π°ΠΉΠΌΠ΅Ρ€ ΡΒ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΌ встроСнным Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠΌ
ВстроСнный Π°Π½Π°Π»ΠΎΠ³ΠΎΠ²Ρ‹ΠΉ ΠΊΠΎΠΌΠΏΠ°Ρ€Π°Ρ‚ΠΎΡ€

β€’ Π‘ΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ
Бброс ΠΏΠΎΒ ΠΏΠΎΠ΄Π°Ρ‡Π΅ питания ΠΈΒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΉ Π΄Π΅Ρ‚Π΅ΠΊΡ‚ΠΎΡ€ ΠΊΡ€Π°Ρ‚ΠΊΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ сниТСния напряТСния питания
ВстроСнный ΠΊΠ°Π»ΠΈΠ±Ρ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ RC-Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€
Π’Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠ΅ и внСшниС источники ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠΉ
ΠŸΡΡ‚ΡŒ Ρ€Π΅ΠΆΠΈΠΌΠΎΠ² ΠΏΠΎΠ½ΠΈΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ потрСблСния: Idle, Power-save, Power-down, Standby и сниТСния ΡˆΡƒΠΌΠΎΠ² ADC

β€’ Π’Ρ‹Π²ΠΎΠ΄Ρ‹ I/O и корпуса
23 ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ Π»ΠΈΠ½ΠΈΠΈ Π²Π²ΠΎΠ΄Π°/Π²Ρ‹Π²ΠΎΠ΄Π°
28-Π²Ρ‹Π²ΠΎΠ΄Π½ΠΎΠΉ корпус PDIP, 32-Π²Ρ‹Π²ΠΎΠ΄Π½ΠΎΠΉ корпус TQFP ΠΈΒ 32-Π²Ρ‹Π²ΠΎΠ΄Π½ΠΎΠΉ корпус MLF

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ² Π² AtmelStudio 6. Π§Π°ΡΡ‚ΡŒ 1. ΠŸΠ΅Ρ€Π²Ρ‹Π΅ шаги

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ² Π² AtmelStudio 6. Π§Π°ΡΡ‚ΡŒ 1. ΠŸΠ΅Ρ€Π²Ρ‹Π΅ ΡˆΠ°Π³ΠΈΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ² Π² AtmelStudio 6. Π§Π°ΡΡ‚ΡŒ 1. ΠŸΠ΅Ρ€Π²Ρ‹Π΅ шаги

β€’ Π Π°Π±ΠΎΡ‡ΠΈΠ΅ напряТСния
2,7Β β€” 5,5 Π’Β (ATmega8L)
4,5Β β€” 5,5 Π’Β (ATmega8)

β€’ Рабочая частота
0Β β€” 8 ΠœΠ“Ρ† (ATmega8L)
0Β β€” 16 ΠœΠ“Ρ† (ATmega8)

отличия ATMEGA16 ΠΎΡ‚Β 8
β€’ 16 ΠšΠ±Π°ΠΉΡ‚ внутрисистСмно ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΠ΅ΠΌΠΎΠΉ Flash памяти (In-System Self-Programmable Flash)

β€’ Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ JTAG (совмСстимый с IEEE 1149.1)
Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ сканирования ΠΏΠ΅Ρ€ΠΈΡ„Π΅Ρ€ΠΈΠΈ, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π°Ρ стандарту JTAG
Π Π°ΡΡˆΠΈΡ€Π΅Π½Π½Π°Ρ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° встроСнной ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ
ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ‡Π΅Ρ€Π΅Π·Β JTAG интСрфСйс: Flash, EEPROM памяти, ΠΏΠ΅Ρ€Π΅ΠΌΡ‹Ρ‡Π΅ΠΊ ΠΈΒ Π±ΠΈΡ‚ΠΎΠ² Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ

β€’ Π§Π΅Ρ‚Ρ‹Ρ€Π΅ ΠΊΠ°Π½Π°Π»Π° PWM / ШИМ

β€’ 8-ΠΊΠ°Π½Π°Π»ΡŒΠ½Ρ‹ΠΉ 10-разрядный Π°Π½Π°Π»ΠΎΠ³ΠΎ-Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠΉ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ
8 нСсиммСтричных ΠΊΠ°Π½Π°Π»ΠΎΠ²
7 Π΄ΠΈΡ„Ρ„Π΅Ρ€Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΊΠ°Π½Π°Π»ΠΎΠ² (Ρ‚ΠΎΠ»ΡŒΠΊΠΎ в корпусС TQFP)
2 Π΄ΠΈΡ„Ρ„Π΅Ρ€Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΊΠ°Π½Π°Π»Π° с программируСмым усилСниСм Π²Β 1, 10 ΠΈΠ»ΠΈΒ 200 ΠΊΡ€Π°Ρ‚ (Ρ‚ΠΎΠ»ΡŒΠΊΠΎ в корпусС TQFP)

β€’ Π¨Π΅ΡΡ‚ΡŒ Ρ€Π΅ΠΆΠΈΠΌΠΎΠ² ΠΏΠΎΠ½ΠΈΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ потрСблСния: Idle, Power-save, Power-down, Standby, Extended Standby и сниТСния ΡˆΡƒΠΌΠΎΠ² ADC

β€’ 32 ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ Π»ΠΈΠ½ΠΈΠΈ Π²Π²ΠΎΠ΄Π°/Π²Ρ‹Π²ΠΎΠ΄Π°

β€’ 40-Π²Ρ‹Π²ΠΎΠ΄Π½ΠΎΠΉ корпус PDIP ΠΈΒ 44-Π²Ρ‹Π²ΠΎΠ΄Π½ΠΎΠΉ корпус TQFP

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ² Π² AtmelStudio 6. Π§Π°ΡΡ‚ΡŒ 1. ΠŸΠ΅Ρ€Π²Ρ‹Π΅ шаги

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ² Π² AtmelStudio 6. Π§Π°ΡΡ‚ΡŒ 1. ΠŸΠ΅Ρ€Π²Ρ‹Π΅ ΡˆΠ°Π³ΠΈΠ•ΡΠ»ΠΈ Π’Ρ‹ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚Π΅, Ρ‚ΠΎΒ Π½ΡƒΠΆΠ½ΠΎ ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ ΠΈΒ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ AtmelStudio ΡΒ ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ страницы atmel.com
ПослС установки ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ AtmelStudio ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΈΡΡ‚ΡƒΠΏΠΈΡ‚ΡŒ к созданию ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°.
ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ – это ваша ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π²Ρ‹ Π±ΡƒΠ΄Π΅Ρ‚Π΅ ΠΏΠΈΡΠ°Ρ‚ΡŒ, ΠΎΡ‚Π»Π°ΠΆΠΈΠ²Π°Ρ‚ΡŒ ΠΈΒ ΠΏΡ€ΠΎΡˆΠΈΠ²Π°Ρ‚ΡŒ, послС компиляции, Π²Β ΠΏΠ°ΠΌΡΡ‚ΡŒ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°.

Π§Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚, Π½Π°Π΄ΠΎΒ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, ΠΏΠΎΡΠ²ΠΈΡ‚ΡŒΡΡ такая заставка,

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ² Π² AtmelStudio 6. Π§Π°ΡΡ‚ΡŒ 1. ΠŸΠ΅Ρ€Π²Ρ‹Π΅ шаги

и откроСтся страница создания ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ² Π² AtmelStudio 6. Π§Π°ΡΡ‚ΡŒ 1. ΠŸΠ΅Ρ€Π²Ρ‹Π΅ шаги

Π§Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚, Π½ΡƒΠΆΠ½ΠΎ ΠΊΠ»ΠΈΠΊΠ½ΡƒΡ‚ΡŒ ΠΏΠΎΒ Β«New Project…»
В этом случаС откроСтся Π½ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ, Π³Π΄Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ язык программирования, Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, Π΅Π³ΠΎ мСсторасполоТСниС, Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΏΠ°ΠΊΠ΅Ρ‚Π° с файлами ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΈΒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ создания ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° для дальнСйшСго использования Π²Β Π΄Ρ€ΡƒΠ³ΠΈΡ… пСрСкрСстных ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Ρ…. Π§Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚, Π³Π΄Π΅ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ в ассСмблСрС, Π½ΡƒΠΆΠ½ΠΎ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒΒ β€” Assembler, послС этого помСняСм Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, Π΅Π³ΠΎ располоТСниС, ΠΈΒ Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ ОК.

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ² Π² AtmelStudio 6. Π§Π°ΡΡ‚ΡŒ 1. ΠŸΠ΅Ρ€Π²Ρ‹Π΅ шаги

ΠŸΠΎΡΠ²ΠΈΡ‚ΡΡ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ ΠΎΠΊΠ½ΠΎ

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ² Π² AtmelStudio 6. Π§Π°ΡΡ‚ΡŒ 1. ΠŸΠ΅Ρ€Π²Ρ‹Π΅ шаги

Π’Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ β€œmegaAVR, 8-bit” ΠΈΒ Π½Π°Ρ…ΠΎΠ΄ΠΈΠΌ Π½ΡƒΠΆΠ½Ρ‹ΠΉ Π½Π°ΠΌ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€, ΠΌΡ‹ Π²Ρ‹Π±Ρ€Π°Π»ΠΈ ATmega8. Π’Β ΠΏΡ€Π°Π²ΠΎΠΉ части заставки появляСтся список устройств, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΡ… с этим ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠΌ, ΠΎΠ΄ΠΈΠ½ ΠΈΠ·Β ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ. Π’Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ ОК.

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ² Π² AtmelStudio 6. Π§Π°ΡΡ‚ΡŒ 1. ΠŸΠ΅Ρ€Π²Ρ‹Π΅ шаги

ΠŸΠΎΡΠ²Π»ΡΠ΅Ρ‚ΡΡ страница Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π° тСкста, которая позволяСт Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΒ ΠΎΡ‚Π»Π°ΠΆΠΈΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ. Пока страница чистая, ΡƒΠΊΠ°Π·Π°Π½ΠΎ врСмя ΠΈΒ Π΄Π°Ρ‚Π° создания ΠΈΒ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, имя ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ. Π•ΡΡ‚ΡŒ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΎΠΊΠ½ΠΎ устройств Π²Π²ΠΎΠ΄Π°-Π²Ρ‹Π²ΠΎΠ΄Π°, ΠΎΠΊΠ½ΠΎ ΠΎΡ‚Ρ‡Π΅Ρ‚ΠΎΠ² компиляции ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΡ‹

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ² Π² AtmelStudio 6. Π§Π°ΡΡ‚ΡŒ 1. ΠŸΠ΅Ρ€Π²Ρ‹Π΅ шаги
ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ в ассСмблСрС.
Аналогично создаСтся ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ для программирования на языкС БИ.
ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ² Π² AtmelStudio 6. Π§Π°ΡΡ‚ΡŒ 1. ΠŸΠ΅Ρ€Π²Ρ‹Π΅ шаги

Π’Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ сСмСйство ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ² β€œmegaAVR, 8-bit”

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ² Π² AtmelStudio 6. Π§Π°ΡΡ‚ΡŒ 1. ΠŸΠ΅Ρ€Π²Ρ‹Π΅ шаги

Π”Π°Π»Π΅Π΅, Π½Π°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° ΠΈΒ Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ ОК.

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ² Π² AtmelStudio 6. Π§Π°ΡΡ‚ΡŒ 1. ΠŸΠ΅Ρ€Π²Ρ‹Π΅ шаги

ΠŸΠΎΡΠ²Π»ΡΠ΅Ρ‚ΡΡ страница Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π° тСкста. Π—Π΄Π΅ΡΡŒ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ в БИ.

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ² Π² AtmelStudio 6. Π§Π°ΡΡ‚ΡŒ 1. ΠŸΠ΅Ρ€Π²Ρ‹Π΅ шаги

У нас Π΅ΡΡ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ дСмонстрационныС ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹ для работы с платами Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, выпускаСмыми ΠΊΠΎΡ€ΠΏΠΎΡ€Π°Ρ†ΠΈΠ΅ΠΉ ATMEL.
Для этого Π½ΡƒΠΆΠ½ΠΎ при создании ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΏΡƒΠ½ΠΊΡ‚ β€œNew Examle Project from ASF…”

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ² Π² AtmelStudio 6. Π§Π°ΡΡ‚ΡŒ 1. ΠŸΠ΅Ρ€Π²Ρ‹Π΅ шаги

ΠžΡ‚ΠΊΡ€ΠΎΠ΅Ρ‚ΡΡ ΠΎΠΊΠ½ΠΎ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ Π²ΠΈΠ΄Π°:

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ² Π² AtmelStudio 6. Π§Π°ΡΡ‚ΡŒ 1. ΠŸΠ΅Ρ€Π²Ρ‹Π΅ шаги

Π—Π΄Π΅ΡΡŒ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Π½ΡƒΠΆΠ½Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚, ΠΈΒ ΡΠΊΡΠΏΠ΅Ρ€ΠΈΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊΒ Π²Π°ΠΌ хочСтся…
Π’Ρ€Π΅Ρ‚ΠΈΠΉ ΠΏΡƒΠ½ΠΊΡ‚ на страничкС создания ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² позволяСт быстро ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Ρ‚ΡŒ послСдний Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½Π½Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚.

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ² Π² AtmelStudio 6. Π§Π°ΡΡ‚ΡŒ 1. ΠŸΠ΅Ρ€Π²Ρ‹Π΅ шаги

Π’Π°ΠΊΒ ΠΆΠ΅ Π΅ΡΡ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ, для этого Π½ΡƒΠΆΠ½ΠΎ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΏΠΎΠ΄Β ΠΏΡƒΠ½ΠΊΡ‚ΠΎΠΌ β€œRecent Projects” ΠΈΒ ΠΊΠ»ΠΈΠΊΠ½ΡƒΡ‚ΡŒ ΠΏΠΎΒ ΠΏΡ€Π°Π²ΠΎΠΉ клавишС ΠΌΡ‹ΡˆΠΈ. ΠŸΠΎΡΠ²ΠΈΡ‚ΡΡ мСню ΠΈΠ·Β 3-Ρ… ΠΏΡƒΠ½ΠΊΡ‚ΠΎΠ²:

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ² Π² AtmelStudio 6. Π§Π°ΡΡ‚ΡŒ 1. ΠŸΠ΅Ρ€Π²Ρ‹Π΅ шаги

Open Project – запускаСт ΠΏΡ€ΠΎΠ΅ΠΊΡ‚.
Open Containing Folder – просмотор содСрТимого ΠΏΠ°ΠΏΠΊΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°
Remove From List – ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ из списка ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ². Π‘Π°ΠΌ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ нС удаляСтся, ΠΈΒ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ° ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ с таким ТС ΠΈΠΌΠ΅Π½Π΅ΠΌ выдаст ΠΎΡˆΠΈΠ±ΠΊΡƒ. ΠŸΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ ΠΌΠΎΠΆΠ½ΠΎ Π²Β ΠΏΠ°ΠΏΠΊΠ΅, Π³Π΄Π΅ ΠΎΠ½ Π±Ρ‹Π» создан.

ΠšΠ°ΠΊΒ ΡΠΎΠ·Π΄Π°Π΅Ρ‚ΡΡ Π½ΠΎΠ²Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ и про пСрСнос старых ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ², созданных Π²Β AVR Studio 4, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π½Π°Β Π²ΠΈΠ΄Π΅ΠΎΡ€ΠΎΠ»ΠΈΠΊΠ΅ от АлСксандра ΠŸΠΈΡΠ°Π½Ρ†Π°

ΠšΠ°ΠΌΡ€Π°Π΄, смотри полСзняхи!

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ² Π² AtmelStudio 6. Π§Π°ΡΡ‚ΡŒ 1. ΠŸΠ΅Ρ€Π²Ρ‹Π΅ шаги

Π Π°Π΄ΠΈΠΊ (galrad)

Π Π€. РСспублика Π‘Π°ΡˆΠΊΠΎΡ€Ρ‚ΠΎΡΡ‚Π°Π½. Π³.Π£Ρ„Π°

1964Π³.Ρ€. Π’Ρ€Π°Ρ‡. УчСная ΡΡ‚Π΅ΠΏΠ΅Π½ΡŒ — ΠΊΠ°Π½Π΄ΠΈΠ΄Π°Ρ‚ мСдицинских Π½Π°ΡƒΠΊ. Π’Ρ‚ΠΎΡ€ΠΎΠ΅ Π²Ρ‹ΡΡˆΠ΅Π΅ ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ — ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€-элСктроник.

Β 

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ МК AVR Π½Π° языкС assembler Π² срСдС Linux / Habr


Ни для ΠΊΠΎΠ³ΠΎ Π½Π΅ сСкрСт, Ρ‡Ρ‚ΠΎ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρ‹ сСмСйства AVR ΠΏΡ€ΠΎΡ‡Π½ΠΎ вошли Π² ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΡƒ Π΄ΠΎΠΌΠ°ΡˆΠ½ΠΈΡ… ΠΏΠΎΠ΄Π΅Π»ΠΎΠΊ. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΡƒΠΆΠ΅ нСсколько Π»Π΅Ρ‚ Π½Π°Π±Π»ΡŽΠ΄Π°Π΅Ρ‚ΡΡ массовоС (Π½Π° Π³Ρ€Π°Π½ΠΈ эпидСмии) ΡƒΠ²Π»Π΅Ρ‡Π΅Π½ΠΈΠ΅ ΠΎΡ‚Π»Π°Π΄ΠΎΡ‡Π½Ρ‹ΠΌΠΈ ΠΏΠ»Π°Ρ‚Π°ΠΌΠΈ Ρ‚ΠΈΠΏΠ° Arduino, построСнными Π½Π° Π±Π°Π·Π΅ всС Ρ‚Π΅Ρ… ΠΆΠ΅ AVR. НС Π±ΡƒΠ΄Ρƒ ΡΡƒΠ΄ΠΈΡ‚ΡŒ, Ρ…ΠΎΡ€ΠΎΡˆΠΎ это ΠΈΠ»ΠΈ ΠΏΠ»ΠΎΡ…ΠΎ, ΠΈΠ±ΠΎ статСй Π½Π° эту Ρ‚Π΅ΠΌΡƒ Π½Π° рСсурсС Π±ΠΎΠ»Π΅Π΅ Ρ‡Π΅ΠΌ достаточно. Π₯ΠΎΡ‡Ρƒ ΡƒΠ±Π΅Ρ€Π΅Ρ‡ΡŒ ΠΈ ΠΌΠΎΠ΅Π³ΠΎ читатСля ΠΎΡ‚ споров Π½Π° Ρ‚Π΅ΠΌΡƒ Β«Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Arduino ΠΈ Ρ…ΠΎΡ€ΠΎΡˆΠΎ это ΠΈΠ»ΠΈ ΠΏΠ»ΠΎΡ…ΠΎΒ». Π‘Ρ‚Π°Ρ‚ΡŒΡ Π½Π΅ ΠΎΠ± этом.

Π Π°Π½ΠΎ ΠΈΠ»ΠΈ ΠΏΠΎΠ·Π΄Π½ΠΎ для любого Β«Π°Ρ€Π΄ΡƒΠΈΠ½ΡŒΡ‰ΠΈΠΊΠ°Β» (ΠΏΡ€ΠΈ условии Ρ‡Ρ‚ΠΎ ΠΎΠ½ Ρ…ΠΎΡ‡Π΅Ρ‚ Π²Ρ‹ΠΉΡ‚ΠΈ Π½Π° Π±ΠΎΠ»Π΅Π΅ высокий ΠΏΡ€ΠΎΡ„Π΅ΡΡΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ) наступаСт ΠΌΠΎΠΌΠ΅Π½Ρ‚ ΠΊΠΎΠ³Π΄Π° Π² Ρ€Π°ΠΌΠΊΠ°Ρ… ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ Arduino Π΅ΠΌΡƒ становится тСсно ΠΈ ΠΎΠ½ Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚ Π·Π°Π΄ΡƒΠΌΡ‹Π²Π°Ρ‚ΡŒΡΡ ΠΎ Ρ‚ΠΎΠΌ Π° Ρ‡Ρ‚ΠΎ ΠΆΠ΅ Π² Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ происходит ΠΏΠΎΠ΄ ΠΊΠ°ΠΏΠΎΡ‚ΠΎΠΌ. И ΠΎΡ‚Π²Π΅Ρ‚Ρ‹ Π½Π° всС Π΅Π³ΠΎ вопросы ΡƒΠΆΠ΅ Π΅ΡΡ‚ΡŒ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π² Π²ΠΈΠ΄Π΅ Π·Π°ΠΌΠ΅Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ курса Β«AVR. Π£Ρ‡Π΅Π±Π½Ρ‹ΠΉ курс» ΠΎΡ‚ Π³Π»ΡƒΠ±ΠΎΠΊΠΎΡƒΠ²Π°ΠΆΠ°Π΅ΠΌΠΎΠ³ΠΎ DIHALT. Если Π²Ρ‹ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ OS Windows, Ρ‚ΠΎ ΠΈ нСдостатка Π² инструмСнтах Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Ρƒ вас Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚, достаточно бСсплатной Atmel Studio, Π·Π°ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰Π΅ΠΉ всС вопросы Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ПО для МК AVR.

Π₯ΠΎΡ‚ΡŒ я ΠΈ Ρ‚ΠΈΠΌΠ»ΠΈΠ΄ Π² ΠΊΠΎΠ»Π»Π΅ΠΊΡ‚ΠΈΠ²Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ПО ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½ΠΎΠ³ΠΎ уровня, вопросы Β«ΠΆΠ΅Π»Π΅Π·Π°Β» ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π² нашСй ΠΊΠΎΠ½Ρ‚ΠΎΡ€Π΅ дСлаСтся Π½Π° Π±Π°Π·Π΅ AVR с Π½Π΅Π΄Π°Π²Π½ΠΈΡ… ΠΏΠΎΡ€ стали ΠΈΠ½Ρ‚Π΅Ρ€Π΅ΡΠΎΠ²Π°Ρ‚ΡŒ мСня ΠΎΡ‡Π΅Π½ΡŒ остро. Π’ΠΎΠ·Π½ΠΈΠΊΠ»ΠΎ ΠΆΠ΅Π»Π°Π½ΠΈΠ΅ Ρ…ΠΎΡ€ΠΎΡˆΠΎ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ Π²ΠΎ всСх аспСктах Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ПО для МК. И Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ я являюсь ΡƒΠ±Π΅ΠΆΠ΄Π΅Π½Π½Ρ‹ΠΌ ΠΏΡ€ΠΈΠ²Π΅Ρ€ΠΆΠ΅Π½Ρ†Π΅ΠΌ использования Π² Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ OS Π½Π° Π±Π°Π·Π΅ ядра Linux, мСня заинтСрСсовал вопрос, Π° ΠΊΠ°ΠΊ Ρ‚Π°ΠΌ Π² линуксах: ΠΌΠΎΠΆΠ½ΠΎ/нСльзя Π»ΠΈ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΈ ΠΎΡ‚Π»Π°ΠΆΠΈΠ²Π°Ρ‚ΡŒ ПО, Π·Π°ΡˆΠΈΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ Π² кристалл с Ρ‚Π΅ΠΌ ΠΆΠ΅ (ΠΈΠ»ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Ρ‚Π΅ΠΌ ΠΆΠ΅) ΡƒΡ€ΠΎΠ²Π½Π΅ΠΌ удобства, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π°ΠΌ доступСн Π² Windows. Π’Π΅Ρ… ΠΊΠΎΠ³ΠΎ Ρ‚ΠΎΠΆΠ΅ интСрСсуСт этот вопрос, ΠΈ Π² особСнности Ρ‚Π΅Ρ…, ΠΊΠΎΠΌΡƒ Ρ‚Π΅ΠΌΠ° поста каТСтся Π½Π°Π΄ΡƒΠΌΠ°Π½Π½ΠΎΠΉ, ΠΏΡ€ΠΈΠ³Π»Π°ΡˆΠ°ΡŽ ΠΏΠΎΠ΄ ΠΊΠ°Ρ‚.

Π§Ρ‚ΠΎ касаСтся Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π½Π° C/C++, Π² срСдС линукс с этим особых ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ ΠΈ Π½Π΅Ρ‚, Π² Π²ΠΈΠ΄Ρƒ ΠΎΠ±Ρ‰Π΅ΠΉ ориСнтированности этой систСмы Π½Π° использованиС Π΄Π°Π½Π½ΠΎΠ³ΠΎ языка ΠΈ наличия достойного Π½Π°Π±ΠΎΡ€Π° инструмСнтария. Однако, Ρ‚ΠΎΡ‚ ΠΆΠ΅ DIHALT, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΡƒΡ‚Π²Π΅Ρ€ΠΆΠ΄Π°Π΅Ρ‚ Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ для МК Π½Π΅ΠΎΡ‚Π΄Π΅Π»ΠΈΠΌΠΎ ΠΎΡ‚ знания ассСмблСра, Π² Ρ‡Π΅ΠΌ я с Π½ΠΈΠΌ ΡΠΎΠ³Π»Π°ΡˆΡƒΡΡŒ, Π² Π²ΠΈΠ΄Ρƒ логичности Π΅Π³ΠΎ тСзисов, ΠΈΠ·Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ… Π² Β«Π£Ρ‡Π΅Π±Π½ΠΎΠΌ курсС» ΠΈ собствСнного (ΠΏΡƒΡΡ‚ΡŒ нСбольшого) ΠΎΠΏΡ‹Ρ‚Π° систСмной Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΠΎΠ΄ x86.

Π ΡƒΠΊΠΎΠ²ΠΎΠ΄ΡΡ‚Π²ΡƒΡΡΡŒ тСзисом, Ρ‡Ρ‚ΠΎ ΠΎΡ‚ асма AVR Π½Π°ΠΌ Π½ΠΈΠΊΡƒΠ΄Π° Π½Π΅ ΡƒΠΉΡ‚ΠΈ ΠΈ сидим ΠΌΡ‹ ΠΏΠΎΠ΄ линуксом, ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠ΅ΠΌ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π½Π° Ρ‚ΠΎ, ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΈ ΠΎΡ‚Π»Π°ΠΆΠΈΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Π― ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽ дистрибутив Arch Linux, поэтому Π² своСм повСствовании Π±ΡƒΠ΄Ρƒ ΠΎΠΏΠΈΡ€Π°Ρ‚ΡŒΡΡ Π½Π° Π΅Π³ΠΎ экосистСму.


Π‘Ρ€Π°Π·Ρƒ скаТу, Ρ‡Ρ‚ΠΎ связку Atmel Studio + wine я ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Ρ‚ΡŒ Π½Π΅ Π±ΡƒΠ΄Ρƒ. НС люблю я wine (Ρ…ΠΎΡ‚ΡŒ ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡΡŒ ΠΏΠΎ нСобходимости). ΠžΡΡ‚Π°Π½ΠΎΠ²ΠΈΠΌΡΡ Π½Π° Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹Ρ… срСдствах, ΠΏΡ€Π΅ΠΆΠ΄Π΅ всСго компиляторов, ΠΎΠ±Π·ΠΎΡ€ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π² сСти ΠΈ Π»ΠΈΡ‡Π½Ρ‹Π΅ ковырялки Π΄Π°Π»ΠΈ Π²Ρ‹Ρ…ΠΎΠ΄ Π½Π° Ρ‚Ρ€ΠΈΡƒΠΌΠ²ΠΈΡ€Π°Ρ‚ gavrasm, avra ΠΈ avr-as. Π’Ρ‹Π±ΠΎΡ€ ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ΅Π» ΠΏΠΎ Π΄Π²ΡƒΠΌ ΠΏΡ€ΠΎΡ‚ΠΈΠ²ΠΎΡ€Π΅Ρ‡ΠΈΠ²Ρ‹ΠΌ критСриям: ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° синтаксиса ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅ΠΌΠΎΠ³ΠΎ Atmel ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠΈ ΠΏΠΎ шагам Π² эмуляторС. ПослСднСС для мСня Π±ΠΎΠ»Π΅Π΅ Π²Π°ΠΆΠ½ΠΎ, Π° Π² плоскости курса @DIHAL Ρ‚Π°ΠΊ прям Π²ΠΎΠΎΠ±Ρ‰Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ для понимания процСсса Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°. ΠžΠ±Ρ‰Π½ΠΎΡΡ‚ΡŒ синтаксиса с компиляторами ΠΎΡ‚ Atmel Π΄Π°Π΅Ρ‚, ΠΎΠΏΡΡ‚ΡŒ Ρ‚Π°ΠΊΠΈ с ΠΌΠΎΠ΅ΠΉ Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния, лишь Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π±Π΅Π· Ρ‚Ρ€ΡƒΠ΄Π° Π°Π΄Π°ΠΏΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹ Atmel Studio ΠΊ Ρ€Π°Π±ΠΎΡ‚Π΅ Π² линуксах, Ρ‡Ρ‚ΠΎ вСсьма ΡΠΎΠΌΠ½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ прСимущСство, ΠΈΠ±ΠΎ Ρ‚ΠΎΡ‚ ΠΆΠ΅ avr-as сущСствуСт ΠΈ ΠΏΠΎΠ΄ Windows. ΠŸΡ€Π΅Π΄Π»Π°Π³Π°ΡŽ Ρ‡ΠΈΡ‚Π°Ρ‚Π΅Π»ΡŽ ΠΎΠ±Π·ΠΎΡ€ пСрСчислСнной Ρ‚Ρ€ΠΎΠΈΡ†Ρ‹.

gavrasm ΠΈ avra


ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ синтаксис Atmel. ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ нашСлся Π² AUR ΠΈ устанавливаСтся ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ
$ yaourt -S gavrasm

Π’Ρ‚ΠΎΡ€ΠΎΠΉ Ρ‚Π°ΠΊ ΠΆΠ΅ доступСн Π² AUR
$ yaourt -S avra

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π²ΠΈΠ΄Π°

test.S

;---- ΠžΠΏΡ€Π΅Π΄Π΅Π»ΡΠ΅ΠΌ Ρ†Π΅Π»Π΅Π²ΠΎΠ΅ устройство
        .device atmega16
;---- Π‘Π΅Π³ΠΌΠ΅Π½Ρ‚ Π΄Π°Π½Π½Ρ‹Ρ…
        .dseg
;---- Π‘Π΅Π³ΠΌΠ΅Π½Ρ‚ ΠΊΠΎΠ΄Π°
        .cseg
        .org 0x0000

        ldi r16, 10
M1:
        inc r16
        rjmp M1

;---- Π‘Π΅Π³ΠΌΠ΅Π½Ρ‚ EEPROM
        .eseg

БобираСтся ΠΎΠ±ΠΎΠΈΠΌΠΈ компиляторами сразу Π² *.hex ΠΈ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρ‹ выглядит ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎ. Π§Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ Π²ΠΎΠ·ΠΌΡƒΡ‰Π°Ρ‚ΡŒ Π±Π»Π°Π³ΠΎΡ€ΠΎΠ΄Π½Ρ‹Ρ… Π΄ΠΎΠ½ΠΎΠ² Π΄Π»ΠΈΠ½Π½Ρ‹ΠΌΠΈ портянками, ΠΏΠΎΠΌΠ΅Ρ‰Π°ΡŽ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ компиляции ΠΏΠΎΠ΄ спойлСрыВыхлоп gavrasm
$ gavrasm test.S
+------------------------------------------------------------+
| gavrasm gerd's AVR assembler Version 3.5 (C)2015 by DG4FAC |
+------------------------------------------------------------+
Compiling Source file: test.S
-------
Pass:        1
14 lines done.

Pass 1 ok.
-------
Pass:        2
14 lines done.


3 words code, 0 words constants, total=3 =  0.0%

No warnings!
Compilation completed, no errors. Bye, bye ...

$ ls -l
ΠΈΡ‚ΠΎΠ³ΠΎ 12
-rw-rw----+ 1 maisvendoo users  52 июл 29 15:46 test.hex
-rw-rw----+ 1 maisvendoo users 741 июл 29 15:46 test.lst
-rw-rw----+ 1 maisvendoo users  92 июл 29 15:46 test.S

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΠΌΠΎΠ΅ hex-Ρ„Π°ΠΉΠ»Π° ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠΈ
:020000020000FC
:060000000AE00395FECFAB
:00000001FF

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΠΌΠΎΠ΅ Ρ„Π°ΠΉΠ»Π° листинга

gavrasm Gerd's AVR assembler version 3.5 (C)2015 by DG4FAC
----------------------------------------------------------
Source file: test.S
Hex file: test.hex
Eeprom file: test.eep
Compiled: 29.07.2017, 15:46:38
Pass: 2
1: .device atmega16
2:
3: .dseg
4:
5: .cseg
6: .org 0x0000
7:
8: 000000 E00A ldi r16, 10
9: M1:
10: 000001 9503 inc r16
11: 000002 CFFE rjmp M1
12:
13: .eseg
14:

Program : 3 words.
Constants : 0 words.
Total program memory: 3 words.
Eeprom space : 0 bytes.
Data segment : 0 bytes.
Compilation completed, no errors.
Compilation endet 29.07.2017, 15:46:38


Π’Ρ‹Ρ…Π»ΠΎΠΏ avra
$ avra -l test.lst test.S 
AVRA: advanced AVR macro assembler Version 1.3.0 Build 1 (8 May 2010)
Copyright (C) 1998-2010. Check out README file for more info

   AVRA is an open source assembler for Atmel AVR microcontroller family
   It can be used as a replacement of 'AVRASM32.EXE' the original assembler
   shipped with AVR Studio. We do not guarantee full compatibility for avra.

   AVRA comes with NO WARRANTY, to the extent permitted by law.
   You may redistribute copies of avra under the terms
   of the GNU General Public License.
   For more information about these matters, see the files named COPYING.

Pass 1...
Pass 2...
done

Used memory blocks:
   Code      :  Start = 0x0000, End = 0x0002, Length = 0x0003

Assembly complete with no errors.
Segment usage:
   Code      :         3 words (6 bytes)
   Data      :         0 bytes
   EEPROM    :         0 bytes
$ ls -l
ΠΈΡ‚ΠΎΠ³ΠΎ 16
-rw-rw----+ 1 maisvendoo users 92 июл 29 15:46 test.S
-rw-rw----+ 1 maisvendoo users  0 июл 29 15:55 test.S.cof
-rw-rw----+ 1 maisvendoo users 13 июл 29 15:55 test.S.eep.hex
-rw-rw----+ 1 maisvendoo users 55 июл 29 15:55 test.S.hex
-rw-rw----+ 1 maisvendoo users 61 июл 29 15:55 test.S.obj

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΠΌΠΎΠ΅ hex-Ρ„Π°ΠΉΠ»Π°
:020000020000FC
:060000000AE00395FECFAB
:00000001FF

Листинг гСнСрируСтся Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ ΠΊΠ»ΡŽΡ‡Π΅ΠΌ -l ΠΏΡ€ΠΈ сборкС
$ cat test.lst

AVRA Ver. 1.3.0 test.S Sat Jul 29 16:02:05 2017

.device atmega16

.dseg

.cseg
.org 0x0000

C:000000 e00a ldi r16, 10
M1:
C:000001 9503 inc r16
C:000002 cffe rjmp M1

.eseg

Segment usage:
Code : 3 words (6 bytes)
Data : 0 bytes
EEPROM : 0 bytes

Assembly completed with no errors.



Анализируя Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ:
  1. ГСнСрируСтся Ρ„Π°ΠΉΠ» Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ Intel HEX, ΠΏΡ€ΠΈΠ³ΠΎΠ΄Π½Ρ‹ΠΉ сразу для ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠΈ Π² МК
  2. Бинтаксис совмСстим с Atmel

ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎ Π² синтаксисС avra Π΅ΡΡ‚ΡŒ отличия, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€
        .device atmel16

Π΄Π°Π΅Ρ‚ ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ Π½Π° МК, скрывая ΠΎΡ‚ программиста явноС ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ ссылок Π½Π° *.inc Ρ„Π°ΠΉΠ» ΠΌΠ°ΠΊΡ€ΠΎΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠΉ. БущСствуСт ΠΈ ряд Π΄Ρ€ΡƒΠ³ΠΈΡ… нюансов, ΠΎ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΏΡ€ΠΎΡ‰Π΅ ΠΏΡ€ΠΎΡ‡Π΅ΡΡ‚ΡŒ Π² Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ ΠΈΠ»ΠΈ Π² Ρ…ΠΎΡ€ΠΎΡˆΠ΅ΠΉ ΠΎΠ±Π·ΠΎΡ€Π½ΠΎΠΉ ΡΡ‚Π°Ρ‚ΡŒΠ΅ Valber’Π° Π½Π° русском языкС. Об особСнностях gavrasm ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Ρ‚ΡƒΡ‚.

Оба рассмотрСнных компилятора ΠΈΠΌΠ΅ΡŽΡ‚ сущСствСнный Ρ„Π°Ρ‚Π°Π»ΡŒΠ½Ρ‹ΠΉ нСдостаток β€” ΠΎΠ½ΠΈ Π½Π΅ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΡŽΡ‚ ΠΎΡ‚Π»Π°Π΄ΠΎΡ‡Π½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ. Π₯отя Π² Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ ΠΏΠΎ avra такая Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ заявлСна

Debugging support AVRA creates a coff file everytime the assembly was sucessful. This file allows AVR Studio or any coff compatible debugger to simulate or emulate the program.

Π½ΠΎ *.cof Ρ„Π°ΠΉΠ» Π² Π²Ρ‹Ρ…Π»ΠΎΠΏΠ΅ Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Π½ΠΎ оказываСтся пустым. ΠžΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΠΈΠ΅ ΠΎΡ‚Π»Π°Π΄ΠΎΡ‡Π½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΈΡΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π°Π΄Π΅ΠΊΠ²Π°Ρ‚Π½ΡƒΡŽ ΠΎΡ‚Π»Π°Π΄ΠΊΡƒ ΠΏΠΎ шагам, остро Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡƒΡŽ Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΠΌ. Π’Π°ΠΊ Ρ‡Ρ‚ΠΎ ΠΎΡ‚ этих (ΠΊ слову довольно старых Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²) ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΠΌ ΠΊ Π΄Ρ€ΡƒΠ³ΠΎΠΌΡƒ, Π±ΠΎΠ»Π΅Π΅ ΠΌΠΎΠ³ΡƒΡ‡Π΅ΠΌΡƒ компилятору ΠΈΠ· сСмСйства GNU

avr-as


Установка этого инструмСнтария доступна ΠΈΠ· ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅Π² любого достаточно популярного дистрибутива. Π’ случаС с Arch Linux
$ sudo pacman -S avr-gcc avr-libc avr-binutils

GNU assembler (gas) являСтся бэкэндом ΠΊ компилятору gcc ΠΈ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ явно Π½Π΅ вызываСтся. Бвязано это с ΠΈΠ΄Π΅ΠΎΠ»ΠΎΠ³ΠΈΠ΅ΠΉ *nix систСм, ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… Π½Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ Π½Π° C/C++, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ассСмблСру отводится Ρ€ΠΎΠ»ΡŒ младшСго нСлюбимого сына. ВмСстС с Ρ‚Π΅ΠΌ это обСспСчиваСт Π³Π»ΡƒΠ±ΠΎΠΊΡƒΡŽ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡŽ ассСмблСрного ΠΊΠΎΠ΄Π° Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° C/C++ Ρ‡Ρ‚ΠΎ, Ρ€Π΅Π΄ΠΊΠΎ, Π½ΠΎ Π±Ρ‹Π²Π°Π΅Ρ‚ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ. К Ρ‚ΠΎΠΌΡƒ ΠΆΠ΅, Ссли Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ΡŒ ΠΎΠ± Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π°Ρ… x86/x86_64 синтаксис Β«Π³Π½ΡƒΡ‚ΠΎΠ³ΠΎΒ» ассСмблСра (AT&T) Ρ€Π°Π·ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ отличаСтся ΠΎΡ‚ принятой Intel-Π½ΠΎΡ‚Π°Ρ†ΠΈΠΈ (хотя Π½Π° gas ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ ΠΈΠ½Ρ‚Π΅Π»-синтаксис, компилятор Π΄Π°Π΅Ρ‚ Ρ‚Π°ΠΊΡƒΡŽ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ). Π§Π΅Π³ΠΎ стоит ΠΎΠ±Ρ€Π°Ρ‚Π½Ρ‹ΠΉ ΠΏΠΎ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡŽ ΠΊ ΠΈΠ½Ρ‚Π΅Π»-Π½ΠΎΡ‚Π°Ρ†ΠΈΠΈ порядок ΠΎΠΏΠ΅Ρ€Π°Π½Π΄ΠΎΠ² Π² ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ…, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€

ΠŸΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΊ AVR gas Π½Π΅ ΠΎΡ‚Ρ…ΠΎΠ΄ΠΈΡ‚ ΠΎΡ‚ Π½ΠΎΡ‚Π°Ρ†ΠΈΠΈ Atmel Π² части оформлСния ΠΊΠΎΠΌΠ°Π½Π΄ β€” порядок ΠΎΠΏΠ΅Ρ€Π°Π½Π΄ здСсь ΠΏΡ€ΠΈΠ²Ρ‹Ρ‡Π½Ρ‹ΠΉ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠΌΠ°Π½Π΄Π°:

ldi r16, 10

Π² gas для AVR выглядит ΠΏΡ€ΠΈΠ²Ρ‹Ρ‡Π½ΠΎ. Π”Ρ€ΡƒΠ³ΠΎΠ΅ Π΄Π΅Π»ΠΎ макросы ΠΈ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Ρ‹ компилятора, ΠΎΠ½ΠΈ ΠΎΡ‚Π»ΠΈΡ‡Π°ΡŽΡ‚ΡΡ ΠΎΡ‚ Atmel. ΠŸΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Π°Ρ Π²Ρ‹ΡˆΠ΅ тСстовая ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ Ρ‚Π°ΠΊ:

test.S

#include	"/usr/avr/include/avr/io.h"	

/* БСкция Π΄Π°Π½Π½Ρ‹Ρ… */
	.data

/* БСкция ΠΊΠΎΠ΄Π° */
	.section .text

	.org 0x0000

/* Π’ΠΎΡ‡ΠΊΠ° Π²Ρ…ΠΎΠ΄Π°, ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Π°Ρ ΠΏΡ€ΠΈ Π²Ρ‹Π·ΠΎΠ²Π΅ avr-gcc вмСсто avr-as */
	.global main

main:

	ldi r16, 10
M1:
	inc r16
	rjmp M1

Как Π²ΠΈΠ΄Π½ΠΎ ΠΈΠ· исходника сСкция ΠΊΠΎΠ΄Π° опрСдСляСтся Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²ΠΎΠΉ прСдпроцСссора .section .text (Π°Π½Π°Π»ΠΎΠ³ .cseg). Аналогом .dseg слуТит .data. ЕдинствСнноС, Ρ‡Π΅Π³ΠΎ я ΠΏΠΎΠΊΠ° Π½Π΅ понял ΠΈ Π½Π΅ ΡƒΠ·Ρ€Π΅Π» Π² Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ, ΠΊΠ°ΠΊ опрСдСляСтся содСрТимоС EEPROM (Π°Π½Π°Π»ΠΎΠ³ .eseg). НадСюсь срСди Ρ‡ΠΈΡ‚Π°Ρ‚Π΅Π»Π΅ΠΉ найдСтся Π΄ΠΎΠ±Ρ€Ρ‹ΠΉ Π³ΡƒΡ€Ρƒ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π°Ρ‚ΠΎΠ»ΠΊΠ½Π΅Ρ‚ мСня Π½Π° ΠΎΡ‚Π²Π΅Ρ‚. Новичкам ΠΆΠ΅, ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹ΠΌ ΠΌΠ½Π΅, ΡΠΎΠ²Π΅Ρ‚ΡƒΡŽ ΠΏΠΎΠΊΡƒΡ€ΠΈΡ‚ΡŒ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡŽ Ρ‚ΡƒΡ‚ ΠΈ Π²ΠΎΡ‚ здСсь для уяснСния спСцифики использования gas для AVR.

ΠœΡ‹ ΠΆΠ΅ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ собСрСм hex-Ρ„Π°ΠΉΠ», ΠΏΡ€ΠΈΠ³ΠΎΠ΄Π½Ρ‹ΠΉ для ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠΈ МК. Команда:

$ avr-as -mmcu=atmega16 -o test.o test.S

Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» для ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° (Π² нашСм случаС ATMega 16). Π”Π°Π»Π΅Π΅ Π΄Π°Π½Π½Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» прСобразуСтся Π² hex
$ avr-objcopy -O ihex test.o test.hex

ΠŸΠΎΠ»ΡƒΡ‡Π°Ρ Π½Π° Π²Ρ‹Ρ…ΠΎΠ΄Π΅ hex-Ρ„Π°ΠΉΠ» Π²ΠΈΠ΄Π°

test.hex
:060000000AE00395FECFAB
:00000001FF

Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, ΠΌΡ‹ Π½Π΅ ΠΎΡ‚Π²Π΅Ρ‚ΠΈΠ»ΠΈ Π½Π° Π³Π»Π°Π²Π½Ρ‹ΠΉ вопрос ΠΈ Π½Π΅ ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡ΠΈΠ»ΠΈ прСимущСство gas ΠΏΠΎ возмоТности ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ пошаговой ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ. Для этого ΠΏΡ€Π΅ΠΆΠ΄Π΅ всСго


Π’ линуксах Π½Π΅Ρ‚ достойной Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Ρ‹ GDB. Для Π΅Π³ΠΎ использования ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΊ МК AVR ставим фронтэнд
$ sudo pacman -S avr-gdb

Π”Π°Π½Π½Ρ‹ΠΉ ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊ ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ‚ всСм комплСксом ΠΏΡ€ΠΎΡ‚ΠΈΠ²ΠΎΡ€Π΅Ρ‡ΠΈΠΉ, ΠΏΡƒΠ³Π°ΡŽΡ‰ΠΈΡ… Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ²: ΠΏΡ€ΠΈ справСдливо заявлСнной тСрмоядСрной ΠΌΠΎΡ‰ΠΈ ΠΏΠΎΡ€ΠΎΠ³ вхоТдСния Π΅Π³ΠΎ довольно высок. Π§Ρ‚ΠΎΠ±Ρ‹ Ρ€Π°Π·ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ боятся gdb ΠΈ Π½Π°Ρ‡Π°Ρ‚ΡŒ Π² Π½Π΅ΠΌ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΎΡ‡Π΅Π½ΡŒ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΡŽ ΡΡ‚Π°Ρ‚ΡŒΡŽ Π²Π΅Π»ΠΈΡ‡Π°ΠΉΡˆΠ΅Π³ΠΎ ΠΈ ΠΌΠΎΠ³ΡƒΡ‡Π΅Π³ΠΎ ΠΈ, ΠΊ соТалСнию, Π½Ρ‹Π½Π΅ ΠΏΠΎΠΊΠΎΠΉΠ½ΠΎΠ³ΠΎ (зСмля Ρ‚Π΅Π±Π΅ ΠΏΡƒΡ…ΠΎΠΌ, ΠœΡ‹Ρ‰ΡŠΡ…!) Николая Π›ΠΈΡ…Π°Ρ‡Π΅Π²Π° aka ΠšΡ€ΠΈΡ ΠšΠ°ΡΠΏΠ΅Ρ€ΡΠΊΠΈ Β«ΠŸΠΎΠ³Ρ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ Π² Ρ‚Π΅Ρ…Π½ΠΈΠΊΡƒ ΠΈ Ρ„ΠΈΠ»ΠΎΡΠΎΡ„ΠΈΡŽ GDBΒ».

ΠŸΠ΅Ρ€Π²ΠΎΠ΅, Ρ‡Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ для использования gdb β€” ΡΠΎΠ±Ρ€Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, сгСнСрировав ELF-ΠΎΠ±Ρ€Π°Π·, содСрТащий ΠΎΡ‚Π»Π°Π΄ΠΎΡ‡Π½Ρ‹Π΅ символы

$ avr-as -mmcu=atmega16 -g --gstabs -o test.o test.S

ΠšΠ»ΡŽΡ‡ΠΈ -g ΠΈ —gstabs Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΡŽΡ‚ соотвСтствСнно ΠΎΡ‚Π»Π°Π΄ΠΎΡ‡Π½Ρ‹Π΅ символы ΠΈ Π΄ΠΎΠ±Π°Π²Π»ΡΡŽΡ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ±Ρ€Π°Π· для ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠΉ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ Π² gdb. ΠšΠΎΠΌΠΏΠΎΠ½ΡƒΠ΅ΠΌ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» Π² ELF

$ avr-ld -m avr4 -o test.elf test.o

ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹ΠΉ ΠΎΠ±Ρ€Π°Π· ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ для ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ нашСго тСста. Из Π½Π΅Π³ΠΎ ΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ hex-Ρ„Π°ΠΉΠ»

$ avr-objcopy -j .text -j .data -O ihex test.elf test.hex

явно указывая ΠΊΠ»ΡŽΡ‡Π΅ΠΌ -j Π²ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌΡ‹Π΅ Π² ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΡƒ сСкции, ΠΊΠ»ΡŽΡ‡Π΅ΠΌ -O ihex Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ Π²Ρ‹Π²ΠΎΠ΄Π° (intel HEX). ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ Ρ‚ΠΎΡ‚ ΠΆΠ΅ Ρ„Π°ΠΉΠ», Ρ‡Ρ‚ΠΎ ΠΈ Π² ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΌ случаС:

test.hex
:060000000AE00395FECFAB
:00000001FF

ΠžΡΡ‚Π°Π»ΠΎΡΡŒ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ Π² эмулятор ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ доступныС возмоТности ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ.


Π­Ρ‚ΠΎΡ‚ вопрос слоТнСС ΠΏΡ€ΠΎΡ‡ΠΈΡ…. Мною Π±Ρ‹Π»ΠΎ Π½Π°ΠΉΠ΄Π΅Π½ΠΎ Π΄Π²Π° достойных ΠΊΠ°Π½Π΄ΠΈΠ΄Π°Ρ‚Π°: simavr, ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠΉΡΡ Π² ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… рСпозиториях Π°Ρ€Ρ‡Π° ΠΈ устанавливаСмый простым:
$ sudo pacman -S simavr

ΠΈ Π±ΠΎΠ»Π΅Π΅ популярный симулятор simulavr, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π΅ Π±Ρ‹Π» Π½Π°ΠΉΠ΄Π΅Π½ Π΄Π°ΠΆΠ΅ Π² AUR, ΠΏΡ€ΠΈ Ρ‚ΠΎΠΌ Ρ‡Ρ‚ΠΎ основная масса ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ ΠΈΠ½Ρ„Ρ‹ Π² сСти ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΎ Π½Π΅ΠΌ. Π‘ΠΎΠ±Ρ€Π°Ρ‚ΡŒ ΠΈΠ· исходников с Ρ†Π΅Π»ΡŒΡŽ создания PKGBUILD для AUR Ρƒ мСня Π½Π΅ Π²Ρ‹ΡˆΠ»ΠΎ, хотя я ΠΏΠ΅Ρ€Π΅Π±Ρ€Π°Π» всС Π°Π΄Π΅ΠΊΠ²Π°Ρ‚Π½Ρ‹Π΅ Π²Π΅Ρ‚ΠΊΠΈ Π² ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΌ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ. ΠŸΡ€ΠΈΡˆΠ»ΠΎΡΡŒ ΠΏΡ€ΠΈΠ±ΠΈΡ‚ΡŒ звСрский ΠΊΠΎΡΡ‚Ρ‹Π»ΡŒ, скачав DEB-ΠΏΠ°ΠΊΠ΅Ρ‚ для Debian, ΠΏΡ€Π΅Π²Ρ€Π°Ρ‚ΠΈΠ² Π΅Π³ΠΎ Π² ΠΏΠ°ΠΊΠ΅Ρ‚ для Π°Ρ€Ρ‡Π° с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ debtap.
 $ debtap simulavr_0.1.2.2-7+b2_amd64.deb

ΠΈ Π΄Π°Π»Π΅Π΅ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹ΠΉ Π°Ρ€Ρ‡-ΠΏΠ°ΠΊΠ΅Ρ‚ Π±Π΅Π· ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ ΡΡ‚Π°Π²ΠΈΡ‚ΡŒΡΡ Π² систСму.

ВСрсия эта довольно дрСвняя, Π° Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ Ρ€Π΅Π»ΠΈΠ· (судя ΠΏΠΎ Π΄Π°Ρ‚Π΅ послСднСго ΠΊΠΎΠΌΠΌΠΈΡ‚Π° Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ) ΡƒΡˆΠ΅Π» довольно Π΄Π°Π»Π΅ΠΊΠΎ.

Π§Ρ‚ΠΎ ΠΆΠ΅ касаСтся simavr, Ρ‚ΠΎ ΠΎΠ½ ставится Π±Π΅Π· ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ большСС число МК, Π½ΠΎ Π½Π° ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΊ Π½Π΅ΠΌΡƒ ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠΎΠΌ Π²Ρ‹Π΄Π°Π΅Ρ‚ Π² консоль сообщСния ΠΎ ΠΊΡ€ΡΡˆΠ΅ эмулятора ΠΈ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ с этим ΠΌΠ½Π΅ ΠΏΠΎΠΊΠ° Π½Π΅ ΡƒΠ΄Π°Π»ΠΎΡΡŒ. Π’ΡƒΡ‚ я снова Π°ΠΏΠ΅Π»Π»ΠΈΡ€ΡƒΡŽ ΠΊ ΡΠ²Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌΡƒ Π² вопросС Ρ‡ΠΈΡ‚Π°Ρ‚Π΅Π»ΡŽ ΠΈ Ρ€Π°ΡΡΡ‡ΠΈΡ‚Ρ‹Π²Π°ΡŽ Π½Π° подсказку.

Пока ΠΆΠ΅ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ для ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ ΠΊΠΎΡΡ‚Ρ‹Π»ΡŒΠ½ΠΎ поставлСнный simulavr


Π˜Ρ‚Π°ΠΊ, сначала ΠΎΡ‚Π»Π°Π΄ΠΈΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Ρ…Π°Ρ€Π΄ΠΊΠΎΡ€Π½ΠΎ β€” ΠΈΠ· консоли запустим эмулятор
$ simulavr -d atmega16 -c 8000000 -g -P simulavr-disp

запускаСм эмулятор ATMega 16 (ΠΊΠ»ΡŽΡ‡ -d) Π½Π° частотС 8 ΠœΠ“Ρ† (ΠΊΠ»ΡŽΡ‡ -с) с ΠΎΠΏΡ†ΠΈΠ΅ΠΉ ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠΉ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ красивого просмотра рСгистров ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° (опция -P, которая ΠΏΠΎ Π΄Π°Π½Π½Ρ‹ΠΌ ΠΈΠ· сСти Π² свСТайшСй вСрсии эмулятора ΡƒΠ±Ρ€Π°Π½Π°). Π’ΠΈΠ΄ΠΈΠΌ окошко Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π° с содСрТимым рСгистров ΠΈ памяти

наблюдаСм Π² консоли запуска сообщСниС

Waiting on port 1212 for gdb client to connect...

ΡΠΎΠΎΠ±Ρ‰Π°ΡŽΡ‰Π΅Π΅ Π½Π°ΠΌ ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ эмулятор ΠΆΠ΄Π΅Ρ‚ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠ° Π½Π° ΠΏΠΎΡ€Ρ‚Ρƒ 1212 (ΠΏΠΎΡ€Ρ‚ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΏΡ€ΠΈ запускС ΠΊΠ»ΡŽΡ‡Π΅ΠΌ -p). Π’ Π΄Ρ€ΡƒΠ³ΠΎΠΉ консоли стартуСм ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊ:
$ avr-gdb -q -tui

ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡ ΡƒΠ±Π΅Ρ€Π΅Ρ‚ пафосный Π²Ρ‹Ρ…Π»ΠΎΠΏ gdb ΠΏΡ€ΠΈ запускС, вторая Π³Ρ€ΡƒΠΏΠΏΠ° ΠΊΠ»ΡŽΡ‡Π΅ΠΉ Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€ΡƒΠ΅Ρ‚ просмотр исходников Π² процСссС ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ Π² ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½Π° ΠΌΠ½ΠΎΠΉ для наглядности (Π½Π° Π΄Π΅Π»Π΅ эта опция Π½Π΅ΡƒΠ΄ΠΎΠ±Π½Π° ΠΏΠΎ ряду ΠΏΡ€ΠΈΡ‡ΠΈΠ½). Π’ консоли ΠΌΡ‹ ΡƒΠ²ΠΈΠ΄ΠΈΠΌ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅:

ΠŸΠΎΠ΄Π»ΡŽΡ‡Π°Π΅ΠΌΡΡ ΠΊ эмулятору

(gdb) target remote:1212

Π—Π°Π³Ρ€ΡƒΠΆΠ°Π΅ΠΌ ELF-ΠΎΠ±Ρ€Π°Π· Π² эмулятор (Π΄Π°, ΠΈΠΌΠ΅Π½Π½ΠΎ Π΅Π³ΠΎ Π° Π½Π΅ hex, Π½Π° Ρ‡Π΅ΠΌ я обТСгся Π² самом Π½Π°Ρ‡Π°Π»Π΅) d ‘vekznjh
(gdb) load test.elf

Π—Π°Π³Ρ€ΡƒΠΆΠ°Π΅ΠΌ ΠΎΡ‚Π»Π°Π΄ΠΎΡ‡Π½Ρ‹Π΅ символы:
(gdb) file test.elf

ΠΎΡ‚Π²Π΅Ρ‚ΠΈΠ² Β«yesΒ» Π½Π° Π·Π°Π΄Π°Π½Π½Ρ‹ΠΉ вопрос, получая ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½Ρƒ:

Π§Ρ‚ΠΎ ΠΆΠ΅, ΠΌΡ‹ Π²ΠΈΠ΄ΠΈΠΌ наш исходник ΠΈ ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊ, Π³ΠΎΡ‚ΠΎΠ²Ρ‹ΠΉ ΠΊ ΠΏΡ€ΠΈΠ΅ΠΌΡƒ ΠΊΠΎΠΌΠ°Π½Π΄. Π”Π°Π΅ΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ next

(gdb) n

ΠΈ Π²ΠΈΠ΄ΠΈΠΌ ΠΊΠ°ΠΊ ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊ Π±ΠΎΠ΄Ρ€ΠΎ пСрСмСстился ΠΏΠΎ ΠΊΠΎΠ΄Ρƒ.

ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ измСнившССся состояниС рСгистров ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° ΠΊΠ°ΠΊ Π² консоли эмулятора

Ρ‚Π°ΠΊ ΠΈ Π² ΠΎΠΊΠ½Π΅ ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠ°:

(gdb) info registers
.
.
.
r16            0xa      10
.
.
.
SREG           0x0      0
SP             0x0      0x0 <main>
PC2            0x2      2
pc             0x2      0x2 <M1>

Π‘ этого ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° Π½Π°ΠΌ доступСн вСсь Π±ΠΎΠ³Π°Ρ‚Π΅ΠΉΡˆΠΈΠΉ инструмСнтарий, прСдоставляСмый ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠΎΠΌ gdb. Однако, Ρ‡Ρ‚ΠΎ линуксоиду Ρ…ΠΎΡ€ΠΎΡˆΠΎ Ρ‚ΠΎ виндузятнику ΡΠΌΠ΅Ρ€Ρ‚ΡŒ мСня ΡƒΠΏΡ€Π΅ΠΊΠ½ΡƒΡ‚ ΠΌΠΎΠ» Β«Ρ‡ΡƒΠ²Π°ΠΊ, Π² Atmel Studio Π΅ΡΡ‚ΡŒ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Π°Ρ ΠΎΡ‚Π»Π°Π΄ΠΊΠ° с ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ исходников, ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ΠΌ ΠΏΠΎ ΠΊΠΎΠ΄Ρƒ хоткСями ΠΈ просмотром Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π²Ρ€Π°Π·ΡƒΠΌΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ графичСским способом» ΠΈ Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΡ€Π°Π²Ρ‹, поэтому попытаСмся хотя Π±Ρ‹ частично Ρ€Π΅ΡˆΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ друТСствСнности ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ, совмСстив Π΅Ρ‘ с Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΎΠΉ
IDE Eclipse извСстна Π΄Π°Π²Π½ΠΎ. Π—Π° врСмя своСго сущСствования ΠΎΠ½Π° ΠΏΡ€ΠΎΡ‡Π½ΠΎ ΡƒΡ‚Π²Π΅Ρ€Π΄ΠΈΠ»Π°ΡΡŒ Π² Ρ€Π°Π·Π½Ρ‹Ρ… областях Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ПО ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Β«Ρ‚ΡƒΠΏΠΎ всё», благодаря ΠΎΠ±ΡˆΠΈΡ€Π½ΠΎΠΌΡƒ Π½Π°Π±ΠΎΡ€Ρƒ ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ², Ρ€Π°ΡΡˆΠΈΡ€ΡΡŽΡ‰ΠΈΡ… Π΅Ρ‘ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ. Π’ своС врСмя я восторгался Π΅ΠΉ, Π½ΠΎ врСмя это ΠΏΡ€ΠΎΡˆΠ»ΠΎ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π² ΠΎΠ±Ρ‹Π΄Π΅Π½Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Π΅ Ρƒ Π½Π΅Ρ‘ Π΅ΡΡ‚ΡŒ масса ΠΌΠ΅Π»ΠΊΠΈΡ… нюансов, Ρ€Π°Π·Π΄ΡƒΠ²Π°ΡŽΡ‰ΠΈΡ…ΡΡ Π² нСдостатки (Π½Π° Ρ€Π°Π±ΠΎΡ‚Π΅ Π² ΠΏΡ€ΠΎΠ΄Π°ΠΊΡˆΠ΅Π½Π΅ я ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Π΅Π» для Ρ‚ΠΎΠ³ΠΎ ΠΆΠ΅ C/C++ QtCreator Π² силу спСцифики Π΄Π΅ΡΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, ΠΎ Ρ‡Π΅ΠΌ Π½Π΅ ТалСю).

Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, с Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния Ρ€Π΅ΡˆΠ°Π΅ΠΌΠΎΠΉ Π½Π°ΠΌΠΈ Π·Π°Π΄Π°Ρ‡ΠΈ ΠΎΠ½Π° Π²ΠΏΠΎΠ»Π½Π΅ удовлСтворяСт Π΅Ρ‘ трСбованиям. Для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с AVR Π² Eclipse потрСбуСтся установка ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ²

ΠΈ, Π΄Π°Π±Ρ‹ Π½Π΅ ΠΏΠ΅Ρ€Π΅Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ ΡΡ‚Π°Ρ‚ΡŒΡŽ я ΠΎΡ‚ΡΡ‹Π»Π°ΡŽ читатСля ΠΊ поиску, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ установка ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ² ΠΊ Eclipse описываСтся ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ. Π’Π°ΠΆΠ½Ρ‹ΠΌ здСсь прСдставляСтся настройка ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, ΠΎ Ρ‡Π΅ΠΌ я расскаТу ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ.

Eclipse ΠΏΠΎ своСй сути ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ Π½Π° C/C++ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ, поэтому для создания ассСмблСрного ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡΡ Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠ΅ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Ρ‡Π΅Ρ€Π΅Π· ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠΉΡΡ Makefile, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈ напишСм для нашСго тСста. Π’ΠΎΡ‚ ΠΎΠ½

Makefile

# Π”Π΅ΠΊΠ»Π°Ρ€ΠΈΡ€ΡƒΠ΅ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅
DEVICE = atmega16
TARGET = test
OBJECTS = $(TARGET).o
ELF = $(TARGET).elf
HEX = $(TARGET).hex

# Π—Π°Π΄Π°Π΅ΠΌ ΠΏΡ€Π°Π²ΠΈΠ»Π° компиляции
COMPILE = avr-as -mmcu=$(DEVICE) -g --gstabs

# Главная Ρ†Π΅Π»ΡŒ - HEX-Ρ„Π°ΠΉΠ» ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠΈ
all:	hex

# ΠŸΡ€Π°Π²ΠΈΠ»ΠΎ сборки ΠΎΠ±ΡŠΠ΅ΠΊΡ€Π½Ρ‹Ρ… ΠΌΠΎΠ»ΡƒΠ»Π΅ΠΉ: Π±Π΅Ρ€ΡƒΡ‚ΡŒΡΡ всС исходники 
# с Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ΠΌ *.S ΠΈ компилятся Π² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½Ρ‹Π΅ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ *.o
.S.o:
           $(COMPILE) -c $< -o $@
	
# ΠŸΡ€Π°Π²ΠΈΠ»ΠΎ очитски - удаляСм всС ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Ρ‹ сборки
clean:
           rm -f $(HEX) $(ELF) $(OBJECTS)
	
# Компоновка всСх ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½Ρ‹Ρ… ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ Π² ELF
elf:   $(OBJECTS)
        avr-ld -m avr4 -o $(ELF) $(OBJECTS)

# ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ELF Π² HEX
hex: elf
        avr-objcopy -j .text -j .data -O ihex $(ELF) $(HEX)

Написав этот опус ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅ΠΌ Eclipse ΠΈ создаСм Π½ΠΎΠ²Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ File -> New -> Project, выбирая ΡΠΈΡˆΠ½Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π½Π° основС Makefile

ΠΆΠΌΠ΅ΠΌ Next, Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΎΠΊΠ½Π΅ выбирая располоТСниС ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° с исходниками ΠΈ Makefile

Π¨Π»Π΅ΠΏΠ°Π΅ΠΌ Finish ΠΈ Π²ΠΈΠ΄ΠΈΠΌ наш ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π²ΠΎ всСй красС

ИдСм Π² мСню Project -> Build all ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ всС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ Π½Π°ΠΌ Π±ΠΈΠ½Π°Ρ€Π½ΠΈΠΊΠΈ:

19:34:51 **** Build of configuration Default for project test ****
make all 
avr-as -mmcu=atmega16 -g --gstabs -c test.S -o test.o
avr-ld -m avr4 -o test.elf test.o
avr-objcopy -j .text -j .data -O ihex test.elf test.hex

19:34:51 Build Finished (took 128ms)

Π’Π΅ΠΏΠ΅Ρ€ΡŒ настроим запуск эмулятора, ΠΊΠ°ΠΊ внСшнСго инструмСнта ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° зайдя Π² Run -> External Tools, создав Π½ΠΎΠ²ΡƒΡŽ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ с настройками ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌΠΈ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹ΠΌ скринам

Π’ΡƒΡ‚ ΠΌΡ‹ сообщаСм срСдС, Ρ‡Ρ‚ΠΎ Ρ…ΠΎΡ‚ΠΈΠΌ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ эмулятор с Π½ΡƒΠΆΠ½Ρ‹ΠΌΠΈ Π½Π°ΠΌ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки, помСстив ΠΏΡƒΠ½ΠΊΡ‚ запуска Π² мСню Run β†’ External Tools.

ΠŸΡ€ΠΈΠΌΠ΅Π½ΡΠ΅ΠΌ настройки, ΠΈΠ΄Π΅ΠΌ Π² мСню Run β†’ External Tools β†’ atmega16 ΠΈ наблюдаСм запуск эмулятора:

Π₯ΠΎΡ€ΠΎΡˆΠΎ, Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ настроим ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ нашСго ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. ИдСм Π² мСню Run β†’ Debug Configuratuions ΠΈ настраиваСм Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΡƒΡŽ ΠΎΡ‚Π»Π°Π΄ΠΊΡƒ Ρ‡Π΅Ρ€Π΅Π· GDB.

Π½Π΅ забывая ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Ρ‚ΠΈΠΏ соСдинСния с сСрвСром симуляции:

ΠΈ ΡƒΠΊΠ°Π·Π°Π², ΠΊΠ°ΠΊΠΈΠ΅ дСйствия слСдуСт Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΏΡ€ΠΈ запускС ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ:

ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ставим Π³Π°Π»ΠΊΠΈ Π½Π° Load image ΠΈ Load Symbols β€” это позволяСт ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΡƒ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΡƒ Π² эмулятор ΠΈ ΠΏΡ€ΠΎΡ‡Π΅ΡΡ‚ΡŒ ΠΎΡ‚Π»Π°Π΄ΠΎΡ‡Π½Ρ‹Π΅ символы. Π‘Ρ‚Π°Π²ΠΈΠΌ Ρ‚ΠΎΡ‡ΠΊΡƒ останова Π½Π° ΠΌΠ΅Ρ‚ΠΊΡƒ M1.

Π–ΠΌΠ΅ΠΌ ΠΊΠ½ΠΎΠΏΠΊΠΈ Apply ΠΈ Debug и… вуаля!

ΠžΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊ ΠΏΠΎΡΠ»ΡƒΡˆΠ½ΠΎ стал Π½Π° ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ Ρ‚ΠΎΡ‡ΠΊΠ΅ останова. ДоступСн просмотр Π΄Π°ΠΌΠΏΠ° памяти ΠΈ содСрТимого рСгистров. Π–ΠΌΠ΅ΠΌ F5 (ΠΈΠ»ΠΈ F6) ΠΈ трассируСм наш ΠΊΠΎΠ΄ ΠΏΠΎ шагам.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΠΎΠΆΠ½ΠΎ Ρ…ΠΎΡ‚ΡŒ Π΄ΠΎ посинСния Ρ‚Ρ€Π°ΡΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ΄, ΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ значСния рСгистров ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…, ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄, снова Ρ‚Ρ€Π°ΡΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, Π² ΠΎΠ±Ρ‰Π΅ΠΌ Π·Π°Π½ΠΈΠΌΠ°Ρ‚ΡŒΡΡ ΠΏΡ€ΠΈΠ²Ρ‹Ρ‡Π½Ρ‹ΠΌ процСссом Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ.


Π§Ρ‚ΠΎ Ρ…ΠΎΡ‡Ρƒ ΡΠΊΠ°Π·Π°Ρ‚ΡŒ Π² Ρ„ΠΈΠ½Π°Π»Π΅? Π― ΡƒΠΆΠ΅ тысячу Ρ€Π°Π· Π³ΠΎΠ²ΠΎΡ€ΠΈΠ» ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ всС ΠΌΠΎΠΈ ΡΡ‚Π°Ρ‚ΡŒΠΈ Π½Π° рСсурсах Ρ…Π°Π±Ρ€ ΠΈ гиктаймс β€” ΠΎΡ‚Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π»ΠΈΡ‡Π½ΠΎΠ³ΠΎ ΠΎΠΏΡ‹Ρ‚Π° ΠΈ Ρ€ΡƒΠΏΠΎΡ€ ΡΡƒΠ±ΡŠΠ΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ мнСния. РСшСна Π·Π°Π΄Π°Ρ‡Π° β€” организация Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ПО для ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ² AVR Π² срСдС Linux. Π­Ρ‚Π° ΡΡ‚Π°Ρ‚ΡŒΡ β€” ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ Π΄ΠΎΠ»Π³ΠΎΠ³ΠΎ гуглСния ΠΈ сбора ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΈΠ· Ρ€Π°Π·Ρ€ΠΎΠ·Π½Π΅Π½Π½Ρ‹Ρ… сСтСвых источников. ЦСль Π΅Ρ‘ β€” Π½Π°Ρ‚ΠΎΠ»ΠΊΠ½ΡƒΡ‚ΡŒ Π½ΠΎΠ²ΠΈΡ‡ΠΊΠ° Π½Π° поиск Π² Π½ΡƒΠΆΠ½ΠΎΠΌ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠΈ. Π‘Ρ‚Π°Ρ‚ΡŒΡ Π½Π΅ ΠΏΡ€Π΅Ρ‚Π΅Π½Π΄ΡƒΠ΅Ρ‚ Π½Π° Π°ΠΊΠ°Π΄Π΅ΠΌΠΈΡ‡Π½ΠΎΡΡ‚ΡŒ, ΠΎΠ½Π° лишь ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ ΠΌΠΎΠΈΡ… собствСнных ΠΊΠΎΠΏΠ°Π½ΠΈΠΉ ΠΈ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ° подСлится собранной ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ, Π° Ρ‚Π°ΠΊ ΠΆΠ΅ ΠΏΡ€ΠΈΠ²Π»Π΅Ρ‡ΡŒ заинтСрСсованных людСй ΠΊ интСрСсной ΠΌΠ½Π΅ Ρ‚Π΅ΠΌΠ΅.

Π’ΡƒΡ‚ ΠΌΠ½ΠΎΠ³ΠΎ ΠΎ Ρ‡Π΅ΠΌ Π½Π΅ сказано, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΎ ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠ΅ Ρ‡Π΅Ρ€Π΅Π· avrdude, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ (sic!) Π΅ΡΡ‚ΡŒ кроссплатформСнная ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π° ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠΈ для сСмСйства AVR. Если Ρƒ Ρ‡ΠΈΡ‚Π°Ρ‚Π΅Π»Π΅ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ ΠΆΠ΅Π»Π°Π½ΠΈΠ΅, Π° Ρƒ мСня Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ, ΠΌΡ‹ рассмотрим ΠΈ Π΅Ρ‘, ΠΏΠΎΠΌΠΈΠ³Π°Π΅ΠΌ свСтодиодами, пошлСм слово Β«ΠΆΠΎΠΏΠ°Β» Β«ΡΡ‡Π°ΡΡ‚ΡŒΠ΅Β» Ρ‡Π΅Ρ€Π΅Π· USART ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅. Π’Π΅ΠΌΠ° нСисчСрпаСма ΠΈ достойна продолТСния. ВрСмя ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ‚.

А ΠΏΠΎΠΊΠ°, Π±Π»Π°Π³ΠΎΠ΄Π°Ρ€ΡŽ ΠΌΠΎΠ΅Π³ΠΎ читатСля Π·Π° Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΈ надСюсь Π½Π° Π½ΠΎΠ²ΡƒΡŽ встрСчу!

alexxlab

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *