Как прошить загрузчик Arduino (ATmega8A)

jeka_tm
jeka_tm аватар
Offline
Зарегистрирован: 19.05.2013

конечно можно. если не на один раз а часто свои платы делать планируешь то есть смысл купить такой переходник, сам таким пользуюсь

он подходит для всех мег в этом корпусе, и самое главное atmega8 и atmega328 

http://ru.aliexpress.com/item/Free-shipping-CHIP-PROGRAMMER-SOCKET-TQFP32-QFP32-LQFP32-TO-DIP28-adapter-socket-support-ATMEGA8-series/32273842625.html

или сделать плату, к которой просто прижимается микросхема, мне не нравится, но люди используют

как например делали в этой статье

http://www.getchip.net/posts/059-ispravlyaem-avr-fyuzy-pri-pomoshhi-atme...

trembo
trembo аватар
Offline
Зарегистрирован: 08.04.2011

Рекомендацию шить через переходник, а потом впаивать в плату в которой нет 6-пинового разъёма для программирования считать вредной и не соответствующей генеральной линии партии и правительства!  ;)

jeka_tm
jeka_tm аватар
Offline
Зарегистрирован: 19.05.2013

да кто как хочешь)) мне проще так. не всегда могу пины для программирования вывести (isp). забариты ограничены. да и просто удобно. купил десяток. залил бутлоадер, проверил работоспособность и пусть лежат. понадобились впаял, зная что все работает

мне попадались несколько мег8 которые не программировались через uart, причем uart рабочий проверял. а другие из той же партии работали

соответственно бракованные ставить в менее ответственные места (мало что еще там не работает) и программировать только через isp

bwn
Offline
Зарегистрирован: 25.08.2014

Всем привет, ткните носом, в чем ошибка. Весьма частая, но на русскоязычных внятного объяснения не нашел, ток костыли.
Начал шить загрузчик в Atmega328P-PU через Duemilanove (камень такой-же+FT232RL), схема на макетке классическая с кварцем, reset с 10 выхода+резистор, ISP согласно схеме. IDE 1.0.5-r2, плату выбрал Duemilanove w/Atmega328, программатор Arduino as ISP.
После "Записать загрузчик" получаю в переводе на великий и могучий - считана сигнатура 1e 95 14, ожидаемая 1e 95 0F. В итоге чтения нета меняю в avrdude.conf сигнатуру на 1e 95 14, загрузчик благополучно заливается.
Вынимаю камень с записанным загрузчиком, вставляю  в Duemilanove, пытаюсь залить Blink, ответ - считана сигнатура 1e 95 0F, ожидаемая 1e 95 14. Снова правим avrdude.conf, все работает. Но это ведь не правильно. Что я делаю не так?

Short Circuit
Short Circuit аватар
Offline
Зарегистрирован: 17.05.2015

а в 1.6.1  версии  -  как можно  работать с мегой 8 ?

Клапауций 999
Offline
Зарегистрирован: 06.06.2015

Short Circuit пишет:

а в 1.6.1  версии  -  как можно  работать с мегой 8 ?

выбрать плату Arduino NG or older w/ ATmega8

std
Offline
Зарегистрирован: 05.01.2012

Хало all, вопрос железный, но тут профильная тема. Хочу сделать опторазвязку линий SPI и сброса, потому что бывает нужно перешить выключатель под напряжением, потому как неглупый дом ещё на стадии отладки, а парит бегать к щитку и клацать выключателем. Не, может быть можно втыкать прямо так, то есть устройство питается от БП, и тут я втыкаю программатор с USB. Ну хз, как-то привычка всегда отключать. USB портов на ноуте всего два, и жечь не хочется.

Так вот, я правильно понимаю что там будут просто оптопары, притягивающие к минусу? И на MISO наоборот, с резистором. Кстати, какой этот резистор, можно его подрассчитать чтобы заходило и на 5, и на 3.3? Думаю в районе 470R, но может надо меньше.

Zahar
Zahar аватар
Offline
Зарегистрирован: 16.11.2013

Здравствуйте.

Я сделал ПП для Atmega8. Всё работает и программируется. Но есть две проблемы.

1) При прошивке не идёт автоматический рестарт (только кнопкой).

2) После ресета проходит около 9 -11 секунд пока запускаеться микро.

Может ктото  знает в чём проблемма?

Файлы схемы и ПП прилогаються.

 

 

Yarik.Yar
Offline
Зарегистрирован: 07.09.2014

Авторесета нет, т.к. вы не вывели DTR от преобразователя USB<->UART. DTR через конденсатор - на Reset МК.

Стартует долго - такой бутлоадер.

Zahar
Zahar аватар
Offline
Зарегистрирован: 16.11.2013

На схеме конденсатор С1.

Я ставил 100nF, Прилогаю графики от ослика. Первый до конденсатора (выход USBasp), второй после него.

Yarik.Yar
Offline
Зарегистрирован: 07.09.2014

Если вы заливаете с помощью программатора, кондер не нужен!

 

Клапауций 070
Offline
Зарегистрирован: 26.09.2015

Yarik.Yar пишет:

Если вы заливаете с помощью программатора, кондер не нужен!

блин. у тебя комп картинки кажет? - смотри схему.

Zahar
Zahar аватар
Offline
Зарегистрирован: 16.11.2013

Ой простите, я всё перепутал. Я заливаю скетчи при помощи USB to UART.

Я им прошивал pro mini, всё было нормально.

А вот с самодельной платой, чтото не работает. Причём схема скопирована с официальной схемы pro mini.

Zahar
Zahar аватар
Offline
Зарегистрирован: 16.11.2013

Yarik.Yar пишет:

Стартует долго - такой бутлоадер.

А как его изменить? Можно конечно изменить фьюзы но там разница будет пару микро секунд. А мне надо 10 секунд скинуть.

Клапауций 070
Offline
Зарегистрирован: 26.09.2015

Zahar пишет:

А вот с самодельной платой, чтото не работает. Причём схема скопирована с официальной схемы pro mini.

попробуй увеличить ёмкость керамики на ресет до 0,5-1мкф

Zahar
Zahar аватар
Offline
Зарегистрирован: 16.11.2013

Пробовал 1мкф, такая жэ фигня :(

Правда сигнал после него больше похож на сигнал как на первой картинке.

Может что то от бутлоадера зависит?

Yarik.Yar
Offline
Зарегистрирован: 07.09.2014

 

Аппаратный ресет не зависит от бутлоадера)

 

Zahar
Zahar аватар
Offline
Зарегистрирован: 16.11.2013

Yarik.Yar пишет:

Стартует долго - такой бутлоадер.

Да ты совершенно прав. Поменял бутлоадер (брал отсюда http://homes-smart.ru/index.php/oborudovanie/arduino/avr-zagruzchik), стало запускаться гораздо быстрее, около 2 сек.

Хотя и это очень много :(

А рисет так и не работает. Я уже подумываю поставить туда 555.

dimax
dimax аватар
Offline
Зарегистрирован: 25.12.2013

Zahar, вот  вам для сравнения ресет с Ардуино Нано до кондёра и после. Сответссно жёлтый и бирюзовый цвета. Клетка 200 микросекунд.

Zahar
Zahar аватар
Offline
Зарегистрирован: 16.11.2013

dimax, спасибо за график.

Я чуть позже попробую прошить PRO MINI и посмотрю, какой с ним график получу.

Хотя и так видно что у Вас пульс около 900мс а у меня 22мс и ещё какой то мусор после :(

Может у меня проблема с самим IDE или с USB-UART ?

lopata v ruke
Offline
Зарегистрирован: 29.10.2015

Доброго времени суток.
Я собрал клон Arduino - EGYduino http://cxem.net/arduino/arduino140.php
Но никак немогу его запустить, а именно залить бутлодер.
Кварца на 16мГц - нет...и я использую ATmega8 от внутреннего генератора 8мГц.
В  "Конструкторе загрузчика" выбрал внутренний генератор

a8_8MHz.name=atmega8 (8 MHz)
a8_8MHz.upload.protocol=arduino
a8_8MHz.upload.maximum_size=7680
a8_8MHz.upload.speed=115200
a8_8MHz.bootloader.low_fuses=0xa4
a8_8MHz.bootloader.high_fuses=0xdc
a8_8MHz.bootloader.path=optiboot
a8_8MHz.bootloader.file=a8_8MHz_a4_dc.hex
a8_8MHz.build.mcu=atmega8
a8_8MHz.build.f_cpu=8000000L
a8_8MHz.build.core=arduino
a8_8MHz.build.variant=standard

Фьюзы
Пробовал разные 

Low    0 x A4         High  0 x DC

Low     0 x E4        High   0 x D9

Скопировал текст в boards.txt  и сохранил.

Прошиваю бутлоадер (Hex файл в папке firmware) БЕЗ ардуины Пони-прогом (в панельке программатора).
 

Зашил, выставил фьюзы.
Запустил IDE, выбрал плата Atmega8 внутренний кварц. Выираю простенькую програмку морганием светодиода 13 пин.
И выскакивает ошибка пропущен 'upload.tool' параметр конфигурации Arduino последняя версия IDE
в весии 1.0.5 другая ошибка  - avrdude: stk500_getsync(): not in sync: resp=0x00

Впервые пробую Ардуино. Подскажите, как залить бутлоадер для внутреннего генератора 8мГц, через прогер.
Заранее благодарен.

 

std
Offline
Зарегистрирован: 05.01.2012

not in sync: resp=0x00 значит что не проходит reset. Проверьте провода.

Zahar
Zahar аватар
Offline
Зарегистрирован: 16.11.2013

По той схеме, у тебя два МК. Ты первый прошил? Если да, то вначале проверь его. Например закороти его вход и выход (RX TX) и через какую-нибудь прогу, например putty пошли любой текст. Если при посылке текста ты его увидел на экране значит TX и RX работает. Тогда смотри на Reset. Также попробуй при прошивке скетча сделать ручной reset (кратковременно нажать на кнопку).

Но если честно я не понимаю, нахрена вообще нужна эта схема? Для USB to UART есть специальные микросхемы. Или подключись через MAX323. Зачем городить огород с MEGA8 (IC1)?

Удачи :)

 

 

lopata v ruke
Offline
Зарегистрирован: 29.10.2015

std пишет:

 Проверьте провода.

Проводов у меня нет (кроме юсб шнура), только пары резисторов в смд 68ом не нашлось, поставил пока что
навесом.

Zahar пишет:

По той схеме, у тебя два МК. Ты первый прошил?


Да.

Zahar пишет:

закороти его вход и выход (RX TX) и через какую-нибудь прогу, например putty пошли любой текст. Если при посылке текста ты его увидел на экране значит TX и RX работает.

Сделал, в Терминале - сообщения идут

 

 


 

Zahar пишет:

Зачем городить огород с MEGA8 (IC1)?

На Макс232 я делать отказался, т.к не нужен мне ком порт на плате.
ФТ232РЛ - с ней вообще беда: Купил недавно в Китае - оказалась фейк .
У меня было штук 5 Атмег8 , вот и решил на Меге сварганить. Если опять заказывать ФТ232 в Китае, то придется ждать. А  радио-магазина в городе нет.

Мне-бы запустить ардуинку, хотя-бы посмотреть, что это такое и с чем ее едят....а там можно и 328Мегу прикупить с кварцем, или купить готовую Ардуину Уно с СМД контроллером (цена всего руб. 200 +-)

Цитата:

not in sync: resp=0x00 значит что не проходит reset.
.....................................................................
Тогда смотри на Reset

А с ним что делать?

Zahar пишет:

Также попробуй при прошивке скетча сделать ручной reset (кратковременно нажать на кнопку).


Пробовал, не помогает

Zahar
Zahar аватар
Offline
Зарегистрирован: 16.11.2013

lopata v ruke пишет:

Пробовал разные 
Low    0 x A4         High  0 x DC

Low     0 x E4        High   0 x D9

Скопировал текст в boards.txt  и сохранил.

Прошиваю бутлоадер (Hex файл в папке firmware) БЕЗ ардуины Пони-прогом (в панельке программатора).

 
Low    0 x A4         High  0 x DC это точно должно работать, я сам с такими прошивал.
 
lopata v ruke пишет:
И выскакивает ошибка пропущен 'upload.tool' параметр конфигурации Arduino последняя версия IDE
в весии 1.0.5 другая ошибка  - avrdude: stk500_getsync(): not in sync: resp=0x00
 

Я не понял, ты пользуешься разными IDE?

Лично у меня с последними версиями ни чего не получалось.

Как по мне то 1.0.5. самая нормальная версия.

 

Если у тебя есть ослик, посмотри им что происходит на Reset. Выше есть графики, какие должны быть. Хотя если даже ручной не помогает тогда проблема скорее всего в bootloader.

 

Да и вот ещё что подумал, если у тебя две разные версии IDE, они наверняка обращаются к разным файлам boards.txt и *.hex

Проверь наличие этих файлов.

 

 
 
 

 

lopata v ruke
Offline
Зарегистрирован: 29.10.2015

Последняя версия IDE была установлена (Windows Instailer), а IDE версия 1.0.5 была Portable (не требуящая установки).

Сейчас я удалил все IDE, что были на компе. Скачал 1.0.5 установщик и установил. Прошил HEX файл в панельке программатора (понипрогом), и установил Фьюзы :
BODEN
SUT0
CKSEL3
CKSEL1
CKSEL0
BOOTRST
BOOTSZ0
SPIEN

В файл boards.txt скопировал текст для Атмеги8 с работой от внутреннего генератора 8мГц.
Запустил IDE, попытался зашить скейтч (Blink) , и попрежнему ошибка   resp=0x00

Осцила у меня нет.

Попробую зашить hex, который выдает Калькулятер бутлоадера   http://designer.homes-smart.ru/boot/out/a8_8MHz_a4_dc.hex

***********************************
Зашил Hex, что по ссылке выше. С ним скетч прошился и заморгал светодиод ,но выскочила ошибка

avrdude: stk500_paged_load(): (a) protocol error, expect=0x10, resp=0x14
avrdude: stk500_cmd(): programmer is out of sync

выключил дуину и закрыл программу. Включил повторно. Опять выбрал Blink, зашил, ошибка осталась, но она работает, наверное все нормально

 Спасибо за помощь. 

 

nevkon
Offline
Зарегистрирован: 20.01.2015

Можно я тоже помучаю?

Есть нана 3.0, в нее залит ArduinoISP.

Есть Atmega8a в TQFP-32, стоит кварц 16МГц. Подключение: все земли на землю, все питание на питание, 10 с наны на ресет с подтяжкой на питание через 10к резистор, 11 - мисо, 12 - моси, 13 - сцк.

ИДЕ 1.6.5, плата - Arduino NG or older, процессор - ATmega8, прошивальщик - Arduino as ISP. Пытаюсь прошить загрузчик, ошибка:

avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x15
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x15

avrdude: stk500_getparm(): (a) protocol error, expect=0x14, resp=0x14

avrdude: stk500_getparm(): (a) protocol error, expect=0x14, resp=0x01
avrdude: stk500_initialize(): (a) protocol error, expect=0x14, resp=0x10
avrdude: initialization failed, rc=-1
         Double check connections and try again, or use -F to override
         this check.

avrdude: stk500_disable(): unknown response=0x12
Проблема загрузки на плату. Для достижения дзен, курить http://www.arduino.cc/en/Guide/Troubleshooting#upload .

 

nevkon
Offline
Зарегистрирован: 20.01.2015

Через ИДЕ 1.0.5 вроде прошился загрузчик. Могу я через нану прошивать скетчи через загрузчик? Если да, то какая схема подключения должна быть?

nevkon
Offline
Зарегистрирован: 20.01.2015

Разобрался. Нужно выбирать вгрузить через программатор. В 1.0.5 работает.

soznik
Offline
Зарегистрирован: 20.09.2015

Пролистал всю ветку ни чего не понял зачем такие сложности . Если просто считать через ISP прошивку в CodeVisionAVR вместе c Fuse битами и залить в чистую мегу причем FUSE можно выставить под себя с внутреним генератором. 

Zahar
Zahar аватар
Offline
Зарегистрирован: 16.11.2013

Помоем это работать будет не корректно.

Так как программа Ардуинки перед прошиванием пересчитывает, например задержки под себя, в зависимости от FUES битов.

А так как ты хочешь эти FUES менять, чтобы работать с внутренним генератором, а это не как не 16М а значительно меньше, значит и сами delay изменятся.

Это только маленький пример. Я думаю, что таких примеров можно ещё кучу нарыть.

 

Ramzez
Offline
Зарегистрирован: 24.01.2016

Добрый день. Я новичек. Раньше писал на Си в CodeVisionAvr. Решил разобраться и тут.

Arduino плат у меня нет. Есть программатор SPI и UART.

Я нашел статью, что можно в просттую atmega8 залить загрузчик и далее по UART прямо из ARDUINO слать прошивку и делать отладку.

Статья: http://todbot.com/blog/2009/05/26/minimal-arduino-with-atmega8/

Залил загрузчик по SPI - все окей. Не могу заставить Arduino 1.6.7 компилировать скеттч под atmega 8.

Нашел статьи, в которых описано редактирование boards.txt и добавление папки, после этого появляется в списке atmega8 и вроде бы все должно работать.

Проблема в том, что в статьях папка bootloaders находится в папке hardware\arduino, а в новой версии arduino IDE она находится в hardware\arduino\avr. В ней же и boards.txt . 

После любого изменения boards.txt возникает ошибка компиляции:

"Arduino: 1.6.7 (Windows 8.1), Плата:"ATmega8-noxtal @8MHz"

Property line '?# See: http://code.google.com/p/arduino/wiki/Platforms' in file C:\Program Files (x86)\Arduino\hardware\arduino\avr\boards.txt is invalid
Ошибка компиляции.
 
 
Причем откат изменений уже не помогает. Только переустановка Arduino IDE. После этого компилирует скетчи , но стоит только поменять boards и сразу все перестает компилироваться.
 
Вопрос: можно ли в версии 1.6.7 добавить поддержку atmega8, есть ли где то инструкция или статья, может кто то уже обсуждал? сам ничего не нашел.
Или как исправить эту ошибку ?
Yarik.Yar
Offline
Зарегистрирован: 07.09.2014

Используйте версию постарше.

Ramzez
Offline
Зарегистрирован: 24.01.2016

Спасибо, но какую ? 1.6.7 висит на главной сайта arduino.cc , ее я и устанавливал.

Не хотелось бы использовать древнюю версию 1.0.5

bwn
Offline
Зарегистрирован: 25.08.2014

Ramzez пишет:

Не хотелось бы использовать древнюю версию 1.0.5

А что с ней не так?

Yarik.Yar
Offline
Зарегистрирован: 07.09.2014

Да, чем вам она не угодила? Самая стабильная. Сам в ней работаю, когда надо что-нибудь проверить по-быстромк. Безотказно работает.
*погоня за обновлениями-дурной тон. Не удивлюсь, если вы ещё и айфоны каждый год меняете.

bodriy2014
bodriy2014 аватар
Offline
Зарегистрирован: 12.05.2015

Привет. Ребята выложите пож. у кого есть версию 1.0.5.

Сижу не 1,6,4 иногда старая нужна.

Yarik.Yar
Offline
Зарегистрирован: 07.09.2014

Буду дома - скину.

soznik
Offline
Зарегистрирован: 20.09.2015
bwn
Offline
Зарегистрирован: 25.08.2014

bodriy2014. Вроде она .

Ramzez
Offline
Зарегистрирован: 24.01.2016

Yarik.Yar пишет:
Да, чем вам она не угодила? Самая стабильная. Сам в ней работаю, когда надо что-нибудь проверить по-быстромк. Безотказно работает. *погоня за обновлениями-дурной тон. Не удивлюсь, если вы ещё и айфоны каждый год меняете.

Я не сильно специалист, по этому настроить что то по инструкции могу только на той версии, про которую рассказывают в инструкции.

Хотелось бы еще поковырять чип ESP8266 , попробовал в старой версии прописать адрес, откуда тянуть новые "платы" - там даже таких параметров нет (или я плохо искал).

айфон из принципа не покупаю и не меняю :D 

 

bwn
Offline
Зарегистрирован: 25.08.2014

Ramzez пишет:

Я не сильно специалист, по этому настроить что то по инструкции могу только на той версии, про которую рассказывают в инструкции.

Пардон, а чем синтаксис языка отличается в версиях IDE?

Ramzez
Offline
Зарегистрирован: 24.01.2016

вроде ничем, но как мне в старой IDE выбрать плату ESP8266 ? это возможно ? а если не выбрать, то как я буду компилировать под нее.

Там наверное руками надо прописывать все. Но я ведь писал, что не специалист

Штирлиц
Штирлиц аватар
Offline
Зарегистрирован: 13.06.2015

Ramzez пишет:

вроде ничем, но как мне в старой IDE выбрать плату ESP8266 ? это возможно ? а если не выбрать, то как я буду компилировать под нее.

Там наверное руками надо прописывать все. Но я ведь писал, что не специалист

Ни кто не мешает иметь две версии Ардуино ИДЕ на компе . Если не компилится в новой - проверяем  в старой. И наоборот.. Место занимают ИДЕ не много.

bodriy2014
bodriy2014 аватар
Offline
Зарегистрирован: 12.05.2015

bwn и soznik спсибо за ссылки.

pompx
Offline
Зарегистрирован: 04.12.2015

Всех категорически приветствую!

Требуется помощь! Проблема в следующем: имеются UNO R3 - 2шт., нужно залить загрузчик. И каменый цветок у меня что-то ну никак не выходит...

Мои действия:

1. Залил в рабочую UNO скетч "Файл/Примеры/ArduinoISP".

2. Собрал схему, как здесь (самая первая):  https://www.arduino.cc/en/Tutorial/ArduinoISP

Конденсатор на 10мкф между RESET и минусом поставил.

3. Выбрал "Инструменты/Программатор/Arduino as ASP".

4. Пробую "Инструменты/Записать загрузчик".

Ругается следующим образом:

"Arduino:1.6.6 (Windows XP), Плата:"Arduino/Genuino Uno"

avrdude: Yikes!  Invalid device signature.

Double check connections and try again, or use -F to override this check.

Ошибка при записи загрузчика.

  Это сообщение будет содержать больше информации чем

  "Отображать вывод во время компиляции"

  включено в Файл > Настройки"

Схему проверил не один раз. Пробовал платы/контроллеры менять местами - никак. Подключил к цепи RESET светодиод (через резистор 1 КоМ) - не моргнул (хотя, конечно, импульс там может быть очень коротким...). Версия  IDE 1.6.6.

Не подскажете, какие танцы с буном еще можно сплясать? И что это за "...use -F to override this check..."?

Спасибо!

Штирлиц
Штирлиц аватар
Offline
Зарегистрирован: 13.06.2015

pompx пишет:

avrdude: Yikes!  Invalid device signature.

замените сигнатуры вашего  камня  в файле averdude.config находящегося в папке  Arduino > hardware >tools>avr>etc

pompx
Offline
Зарегистрирован: 04.12.2015

 Страсти какие... Это такой темный лес для меня... Но, надеюсь, пока. Полез в averdude.config, там увидел много непонятных цыфер и букаф, вот небольшие фрагменты:

#------------------------------------------------------------
# ATmega328
#------------------------------------------------------------

part
    id            = "m328";
    desc        = "ATmega328";
    has_debugwire    = yes;
...

...
    signature        = 0x1e 0x95 0x14;
...

...

memory "signature"
    size = 3;
    read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x",
           "x x x x x x a1 a0 o o o o o o o o";
    ;
;

part parent "m328"
    id            = "m328p";
    desc        = "ATmega328P";
    signature        = 0x1e 0x95 0x0F;

    ocdrev              = 1;
;

Сигнатуры встретились 2 раза. У меня 328Р-РА, наверное, тут нижняя работает и это ее нужно исправить? Как? 0x0F заменить на 0x14? Встречалось мне такое... Не хотелось бы действовать методом нучного тыка - как бы не наворотить чего... Не подскажете? Ну или где почитать можно про это. Для начинающих... А то поиск дал споры и обсуждения данного вопроса среди бывалых, где я ни пса пока не понимаю.

Спасибо.

bodriy2014
bodriy2014 аватар
Offline
Зарегистрирован: 12.05.2015

pompx Воспользуйтесь моим методом, я только так прошивки и загрузчики заливаю и фьюзы шью.

Залили в свою Ардуино ISP пример подключили к ней пациента.

Дальше открываете SinaProg и ставите настройки как у меня на скрине.

Жмете Searh программа должна автоматом определить ваш микропроцессор, если нет значит косяки с подключением.

Дальше здесь собираете загрузчик и hex загрузчика заливаете в МК и все.

Метод подходит для всех AVR.

Прога не требует установки

pompx
Offline
Зарегистрирован: 04.12.2015

Спасибо, поизучаю, попробую.