Андрей Смирнов
Время чтения: ~18 мин.
Просмотров: 7

Миниатюрный USB программатор для AVR микроконтроллеров

shtampnm.pngRoman1984ЭлектроникаДобавлено 8 комментариев Развитие электроники идёт стремительными темпами, и всё чаще главным элементом того или иного устройства является микроконтроллер. Он выполняет основную работу и освобождает проектировщика от необходимости создания изощрённых схемных решений, тем самым уменьшая размер печатной платы до минимального. Как всем известно, микроконтроллером управляет программа, записанная в его внутреннюю память. И если опытный программист-электронщик не испытывает проблем с использованием микроконтроллеров в своих устройствах, то для начинающего радиолюбителя попытка записать программу в контроллер (особенно PIC) может обернуться большим разочарованием, а иногда и небольшим пиротехническим шоу в виде дымящей микросхемы.Как ни странно, но при всём величии сети Интернет в нём очень мало информации о прошивке PIC-контроллеров, а тот материал что удаётся найти — очень сомнительного качества. Конечно, можно купить заводской программатор за неадекватную цену и шить сколько душе угодно, но что делать, если человек не занимается серийным производством. Для этих целей можно собрать несложную и не дорогую в реализации самоделку, именуемую JDM-программатором по приведенной ниже схеме (рисунок №1):Рисунок №1 — схема программатораСразу привожу перечень элементов для тех, кому лень всматриваться в схему:В схеме использован пример подключения таких распространённых контроллеров, как PIC12F675 и PIC12F629, но это совсем не значит, что прошивка других серий PIC будет невозможна. Чтобы записать программу в контроллер другого типа, достаточно перекинуть провода программатора в соответствии с рисунком №2, который приведён ниже.Рисунок №2 — варианты корпусов PIC-контроллеров с необходимыми выводамиКак можно догадаться, в схеме моего программатора использован корпус DIP8. При большом желании можно изготовить универсальный переходник под каждый тип микросхемы, получив тем самым универсальный программатор. Но так как с PIC-контроллерами работаю редко, для меня хватит и этого.Хоть сама схема довольно проста и не вызовет трудностей в сборке, но она тоже требует уважения. Поэтому неплохо было бы сделать под неё печатную плату. После некоторых манипуляций с программой SprintLayout, текстолитом, дрелью и утюгом, на свет родилась вот такая заготовка (фото №3).Фото №3 — печатная плата программатораСкачать исходник печатной платы для программы SprintLayout можно по этой ссылке:При желании его можно изменить под свой тип PIC-контроллера. Для тех, кто решил оставить плату без изменений, выкладываю вид со стороны деталей для облегчения монтажа (рисунок №4).Рисунок №4 — плата с монтажной стороныЕщё немного колдовства с паяльником и мы имеем готовое устройство, способное прошить PIC-контроллер через COM-порт вашего компьютера. Ещё тёпленький и не отмытый от флюса результат моих стараний показан на фото №5.Фото №5 — программатор в сбореС этого момента, первый этап на пути к прошивке PIC-контроллера, подошёл к концу. Второй этап будет включать в себя подключение программатора к компьютеру и работу с программой IC-Prog.К сожалению, не все современные компьютеры и ноутбуки способны работать с данным программатором ввиду банального отсутствия на них COM-портов, а те что установлены на ноутбуках не выдают необходимые для программирования 12В. Так что я решил обратится к своему первому ПК, который давным-давно пылился и ждал своего звёздного часа (и таки дождался).Итак включаем компьютер и первым делом устанавливаем программу IC-Prog. Скачать её можно с сайта автора или по этой ссылке: Подключаем программатор к COM-порту и запускаем только что установленное приложение. Для корректной работы необходимо выполнить ряд манипуляций. Изначально необходимо выбрать тот тип контроллера, который собираемся шить. У меня это PIC12F675. На скриншоте №6 поле для выбора контроллера выделено красным цветом.Скриншот №6 — выбор типа микроконтроллераДалее переходим в меню «Настройки»->»Опции«, в появившемся окне выбираем вкладку I2C и ставим галочки, как показано на скриншоте №7.Скриншот №7 — настройка метода записи контроллераВ этом же окне переходим во вкладку «Программирование» и выбираем пункт «Проверка при программировании«. Проверка после программирования может вызвать ошибку, так как в некоторых случаях самой прошивкой устанавливаются фьюзы блокировки считывания СР. Чтобы не морочить себе голову данную проверку лучше отключить. Короче следуем скриншоту №8.Скриншот №8 — настройка верификацииПродолжаем работу с этим окном и переходим на вкладку «Общие«. Здесь необходимо задать приоритет работы программы и обязательно задействовать NT/2000/XP драйвер (скриншот №9). В некоторых случаях программа может предложить установку данного драйвера и потребуется перезапуск IC-Prog.Скриншот №9 — общие настройкиИтак, с этим окном работа окончена. Теперь перейдём к настройкам самого программатора. Выбираем в меню «Настройки»->»Настройки программатора» или просто нажимаем клавишу F3. Появляется следующее окно, показанное на скриншоте №10.Скриншот №10 — окно настроек программатораПервым делом выбираем тип программатора — JDM Programmer. Далее выставляем радиокнопку использования драйвера Windows. Следующий шаг подразумевает выбор COM-порта, к которому подключен ваш программатор. Если он один, вопросов вообще нет, а если более одного — посмотрите в диспетчере устройств, какой на данным момент используется. Ползунок задержки ввода/вывода предназначен для регулирования скорости записи и чтения. Это может понадобится на быстрых компьютерах и при возникновении проблем с прошивкой — этот параметр необходимо увеличить. В моём случае он остался по умолчанию равным 10 и всё нормально отработало.На этом настройка программы IC-Prog окончена и можно переходить к процессу самой прошивки, но для начала считаем данные с микроконтроллера и посмотрим что в него записано. Для этого на панели инструментов нажимаем на значок микросхемы с зелёной стрелкой, как показано на скриншоте №11.Скриншот №11 — процесс чтения информации с микроконтроллераЕсли микроконтроллер новый и до этого не прошивался, то все ячейки его памяти будут заполнены значениями 3FFF, кроме самой последней. В ней будет содержаться значение калибровочной константы. Это очень важное и уникальное для каждого контроллера значение. От него зависит точность тактирования, которая путём подбора и установки этой самой константы закладывается заводом изготовителем. На скриншоте №12 показана та ячейка памяти, в которой будет храниться константа при чтении контроллера.Скриншот №12 — значение калибровочной константыПовторюсь, что значение уникальное для каждой микросхемы и не обязательно должно совпадать с тем, что на рисунке. Многие по неопытности затирают эту константу и в последствии PIC-контроллер начинает некорректно работать, если в проекте используется тактирование от внутреннего генератора. Советую записать эту константу и наклеить надпись с её значением прямо на контроллер. Таким образом вы избежите множество неприятностей в будущем. Итак, значение записано — двигаемся дальше. Открываем файл прошивки, имеющий как правило расширение .hex. Теперь вместо надписей 3FFF, буфер программирования содержит код нашей программы (скриншот №13).Скриншот №13 — прошивка, загруженная в буфер программированияВыше я писал, что многие затирают калибровочную константу по неосторожности. Когда же это происходит? Это случается в момент открытия файла прошивки. Значение константы автоматически меняется на 3FFF и если начать процесс программирования, то назад дороги уже нет. На скриншоте №14 выделена та ячейка памяти где ранее была константа 3450 (до открытия hex-файла).Скриншот №14 — автоматическое изменение калибровочной константыТеперь нужно очень внимательно выполнить последующие действия. Нажимаем иконку микросхемы с молнией на панели инструментов, тем самым сообщая программе, что мы хотим инициировать процесс прошивки. Программа спросит уверены ли мы, что хотим прошить данное устройство. Соглашаемся и нажимаем «ДА«. После этого получаем предупреждение, показанное на скриншоте №15.Скриншот №15 — предупреждение о расхождении значений константы тактированияIC-Prog сообщает нам, что ранее было установлено одно значение калибровочной константы (в моём случае 3450), а теперь другое (3FFF), автоматически подставленное из hex-файла. Также по умолчанию предлагается оставить значение 3FFF. Здесь важно нажать «НЕТ«, чтобы IC-Prog во время программирования вернул нам значение 3450 или то, что будет у вас. В общем жмём «НЕТ» и наблюдаем следующее окно (скриншот №16).Скриншот №16 — процесс программированияВ этот период советую ничего не нажимать и не грузить компьютер другими задачами. Когда я делал снимок экрана для этой статьи, то при нажатии на кнопку Print Screen вылетела ошибка записи и пришлось проделывать всё заново. По истечении некоторого времени IC-Prog выдаст вам сообщение об успешной проверке вновь записанного кода в ваш PIC-контроллер, так что всем кому понравилась эта статья, желаю увидеть вот это после аналогичных стараний (скриншот №17):Скриншот №17 — прошивка прошла успешно, можно расслабитьсяЕсли в процессе у вас возникнут какие-либо вопросы, внимательно перечитайте статью заново и всё обязательно получится — проверено лично. Всем удачи и творческих успехов!!!Доставка новых самоделок на почту

Получайте на почту подборку новых самоделок. Никакого спама, только полезные идеи!

*Заполняя форму вы соглашаетесь на обработку персональных данных

Становитесь автором сайта, публикуйте собственные статьи, описания самоделок с оплатой за текст. Подробнее здесь.

12 октября 2019, 07:50 | Подборки, перечисления, топ-10, и так далее

В жизни любого радиолюбителя наступает момент, когда собранный своими руками программатор хочется заменить на что-то купленное и с бОльшими возможностями. Или расширить номенклатуру совместимых кристаллов. На Алиэкспресс можно найти огромный ассортимент универсальных программаторов и готовые адаптеры для установки микросхем памяти и контроллеров. В подборке будут интересные модели для AVR (ATMega/ATTiny), для PIC, STM8/STM32, для EEPROM, для Zigbee контроллеров и адаптеры.

 С другими полезными обзорами и списками выгодных покупок вы можете ознакомиться по ссылке.

 Все больше становится доступного программного обеспечения, с помощью которого можно настраивать по себя различные модули и устройства. А конкретно, CC-Debugger может использоваться для программирования и отладки систем на базе 8051, например, модулей CC2531, на базе которых производятся гаджеты для умного дома и «интернета вещей». Работает с программным обеспечением IAR и SmartRF Studio.

Хороший пример использования предыдущего отладчика CC-Debugger — это заливка адаптированной прошивки в компактный USB донгл для сети Zigbee. С помощью модифицированного Zigbee трансмиттера можно привязывать устройства в свою сеть, создавать собственные Zigbee-мосты, анализировать протоколы датчиков и так далее.

 Один из лучших программаторов для AVR — это классический  USBASP, компактный и универсальный программатор, для загрузки программного обеспечения через интерфейс ISP. В комплекте есть кабель для загрузки через ISP на 10 контактов. Подходит не только для семейства ATMEGA8, но и для новых ATMEGA128. Работает в Win7.

А это еще один вариант USB ISP программатора для AVR (семейства ATMega и ATTiny). В отличие от предыдущего имеет выбор питания кристалла (5V или 3.3V джампером), а также в два раза меньшую стоимость. Интерфейс для программирования ISP, но есть смысл воспользоваться отдельным адаптером с ISP10 на ISP6 для удобства работы с компактными отладочными платами Arduino.

Устройство представляет собой полноценный uart-мост и эмулятор последовательного порта. Предназначен для прошивки микросхем памяти (24 EEPROM и 25 SPI flash 8pin/16pin) и микроконтроллеров по spi (AVR, PIC, Singlechip STC). Подходит для восстановления флэш-памяти BIOS USB. Для работы с контроллерами Атмел используется программное обеспечение AVR CH341A или AVRDUDE

Для работы с устройствами от STMicroelectronics рекомендую использовать программатор ST LINK. По ссылке версия ST-Link V2, который подходит для чипов семейств STM8 и STM32. Удобен для загрузки встроенного программного обеспечения на контроллер прямо в составе схемы, а также для отладки работы и поиска ошибок. В комплекте есть 4-pin кабель. Цена смешная — полтора бакса.

А вот если нужен адаптер посерьезнее, то есть смысл посмотреть недорогой программатор SWD, который совместим со всеми функциями J-Link. В данной модели интерфейс упрощен до четырех линий: VCC, SWDIO, SWCLK, GND. Но, по сравнению с обычными, этот вариант быстрый и эффективный. Подключается через MicroUSB, корпуса, увы, не предусмотрено. Цена всего 2 бакса. 

Один из лучших  USB программаторов для PICmicro контроллеров и ключей KeeLOQ производства компании Microchip Technology. В лоте на выбор есть модели: PICKIT3, PICKIT2 или PICKIT 3,5. Лучше брать последние версии устройства. В комплекте идет плата расширения с ZIF-сокетом (PIC ICD2). Полный схемотехнический аналог фирменного программатора PICKIT 3 компании Microchip.

Новейшая версия универсального USB программатора EZP2019 с высокоскоростным интерфейсом SPI с большим набором адаптеров для EEPROM, клипсами и диском с программным обеспечением. Этот вариант несколько лучше дешевого программатора CH341A. Является усовершенствованной версией программаторов EZPO2010/EZP2013. В комплекте есть все необходимое для работы.

Есть еще один хороший вариант — универсальный программатор TL866II, но он не поместился в текст статьи, о нем будет позже.

Рекомендую ознакомиться с другими подборками по другим темам:

Ламповые аудиоусилители — лучшее с Алиэкспресс

10 идей для бизнеса с помощью Aliexpress: инструкция о том, как начать свое новое дело

Полезные автотовары и инструменты для каждого (с Алиэкспресс)Автор:

Ольга Вершинина

</span>Категория: Рейтинги » Электроника

Место

Наименование

Характеристика в рейтинге

1 USB EZP2019
2 USB ESP8266
3 RT809F
4 XGecu TL866II Plus
5 Turbosky PMT-1
6 MiniPro TL866
7 CH341A
8 OpenPort 2.0
9 IProg Plus v80
10 NOAHlink

Простейшие программаторы – это устройства для связи микроконтроллера и компьютера. Они позволяют загрузить файл прошивки в память. Помощником служит специальная программа, в которой уже предустановленны нужные протоколы. Пользователю остается нажать несколько кнопок и дождаться, когда файлы с компьютера перейдут в микроконтроллер.

На рынке представлены десятки программаторов с самыми разными свойствами. Бюджетные модели созданы для одного класса микросхем. Если вы уже знаете, что будете программировать, то такие приборы – лучшее приобретение. К тому же у производителей техники часто есть специализированные устройства, оптимизированные под микросхемы бренда. Универсальные программаторы, наоборот, выполняют десятки задач. В рейтинг вошли 10 лучших моделей для работы с телевизорами, автомобилями, телефонами, компьютерами и многим другим.

Топ-10 лучших программаторов

10 NOAHlink

Страна: ДанияСредняя цена: 15 900 руб.Рейтинг (2019): 4.3

NOAHlink – уникальный программатор, выпущенный датской компанией Himsa для работы со слуховыми аппаратами. Попаданию в список лучших девайс обязан высоким скоростям передачи информации на компьютер. Он позволяет точно настроить слуховые аппараты, дать пациенту возможность легче ориентироваться в мешанине звуков. Передача информации происходит через Bluetooth. Немаловажной является возможность тестирования разборчивости речи с разного расстояния.

NOAHlink удобно брать с собой, если нужно выехать к пациенту на дом. Во время настройки аппарата мастер может передвигаться по квартире, ведь проводов нет. Подключение без кабелей более безопасно. Хотя есть и минус – программатор работает от батареек, которые нужно менять каждые 20 использований. Аппарат питается от элемента Alkaline AA (R6) 1.5V. Один процесс занимает до 45 минут. Вместе со всеми элементами девайс весит всего 141 грамм.

9 IProg Plus v80

Страна: РоссияСредняя цена: 19 990 руб.Рейтинг (2019): 4.4

IProg Plus v80 – это официальный программатор для силовых агрегатов и автомобилей. Девайс за короткие сроки способен сбросить AirBag, скорректировать пробег. Умельцы меняют одометры, снимают блокировку с мультимедийных систем (радио, проигрыватели). Открыта работа с ключами. Прибор за несколько минут подготавливает технику в автомобиле к использованию, считывает и записывает нужную информацию. Для корректировки требуется разъем OBD-2 или подходящий адаптер.

IProg Plus v80 привлекает своей универсальностью. Он взаимодействует с IMMO-key, восстанавливает работу ЭБУ. Умеет менять показания одометра с километров на мили и наоборот. Проверяет процессоры и чипы автомобиля. Удаляет из памяти информацию, загружает новые сведения. Может прочитать ПИН-код. Так как программатор официальный, его драйвера регулярно обновляются. Это сильно расширяет возможности пользователя.

8 OpenPort 2.0

Страна: СШАСредняя цена: 2 790 руб.Рейтинг (2019): 4.4

Для программирования и анализа ЭБУ российские мастера часто прибегают к OpenPort 2.0. Его популярность неудивительна – это один из немногих приборов, совместимых с J2534 и поддержкой CAN. Американская фирма задала высокий стандарт для девайсов для прошивки техники. У него лучшее программное обеспечение EcuFlash, которое проверено опытными специалистами. На официальном сайте всегда лежит самая свежая версия. Хотя OpenPort 2.0 поддерживает и сторонний софт.

Программатор используется с любыми устройствами, которые понимают его протокол. Без него сложно представить тюнинг ЭБУ зарубежных и отечественных марок автомобилей. Доступно даже программирование ВАЗ и УАЗ по CAN шине. Производитель протестировал девайс с MMC Flasher, Combiloader, BitBox и другим ПО. Поддерживается диагностика софта дилерского уровня (Honda, Toyota, Mitsubishi). Доступно программирование одометров MD Flasher и EcuCe.

7 CH341A

Страна: КитайСредняя цена: 450 руб.Рейтинг (2019): 4.5

CH341A – простой компактный девайс, который прошивает EEPROM и SPI флеши. Всего 700 микросхем, что неплохо для бюджетного прибора. В комплекте идет платка со штырьками для установки флеш. Что примечательно – софт прошивки переведен на русский, интерфейс понятен с первого раза. Вместе с программатором можно починить разные детали компьютера, например, материнскую плату. Важно только стереть микросхему памяти перед установкой, иначе софт выдаст ошибку.

Если все подключено верно, на девайсе загорится светодиод Power. Новейшие драйвера устанавливаются автоматически, если пользователь не отключил эту функцию. В папке с ПО, которая есть в свободном доступе, лежат необходимые программы. Мастера в отзывах предупреждают, что микросхему нужно ставить не той стороной, которая показана в инструкции производителя. Если их не послушать, девайс сгорит. На запись ему требуется 30 минут, чуть больше уходит на верификацию.

6 MiniPro TL866

Страна: КитайСредняя цена: 3 600 руб.Рейтинг (2019): 4.6

Лучшей характеристикой MiniPro TL866 является высокая скорость программирования на всех современных системах Windows: 7, 8, 10, 32 и 64 бита. К одному компьютеру подключается до 4 девайсов. Список поддерживаемых аппаратов занимает десятки страниц, их больше 15 000. Читаются и записываются серии с 24 до 50 параллельных и последовательных чипов памяти. Подключаются сотни микроконтроллеров разных производителей. С помощью MiniPro TL866 можно провести SRAM тест. Прибор поддерживает чипы NAND Flash объемом до 8 Gbits.

MiniPro TL866 имеет десятки дополнительных функций. Например, автоматический поиск плохих пин-контактов и вывод порядкового номера, а также тестирование алгоритмов. Микросхемы потребляют минимум энергии. Программисты создают любые алгоритмы с помощью DLL библиотек. Можно даже ввести уникальный код для защиты авторских прав на устройство. Это полезно на производствах.

5 Turbosky PMT-1

Страна: КитайСредняя цена: 2 500 руб.Рейтинг (2019): 4.7

Turbosky PMT-1 – одновременно узкоспециализированный и универсальный девайс. Он подходит для любых портов радиостанций, но только для них. Справляется с задачами, с которыми не работают другие программаторы по причине расхождения уровней единицы и нуля. Этот кабель позволяет тонко настроить в радиостанциях десятки характеристик. Например, установить уровень шумоподавления, добавить озвучку переключения каналов, ввести собственные функции для кнопок.

Мастера работают с кодами CTCSS и DCS. Они создают домашние радиоканалы, разделяют пользователей на группы. Драйвера для Turbosky PMT-1 можно скачать с официального сайта производителя, они бесплатны. Бренд производит специальные радиостанции для этого программатора вместе с адаптерами питания, аккумуляторами и антеннами.

4 XGecu TL866II Plus

Страна: КитайСредняя цена: 4 390 руб.Рейтинг (2019): 4.8

Когда программатор XGecu приобрел популярность среди покупателей, китайский бренд поспешил выпустить усовершенствованную версию TL866II Plus. Она служит для работы с процессорами производителей телефонов, позволяет прошивать и настраивать микросхемы и микроконтроллеры. Среди множества совместимых устройств есть EPROM, NAND FLASH и GAL. Девайс справляется с телефонами, которые защищены от взлома. В комплекте идет ICSP кабель, адаптеры для подсоединения к компьютеру и софт.

С XGecu TL866II Plus пользователю открывается доступ к 13 000 устройствам, в том числе к приборными панелям автомобиля, иммобилайзерам, микроконтроллерам, схемам памяти. Мастера справляются с коррекцией спидометров, программируют модули EWS BMW, читают EEPROM. Самой главной фишкой обновленной версии являются свежие авторизации. Она отлично справляется с большими биосами, которые не вытягивают бюджетные программаторы.

3 RT809F

Страна: КитайСредняя цена: 4 999 руб.Рейтинг (2019): 4.8

Тройку лучших открывает универсальный программатор RT809F. Он привлекает новичков простотой использования и широкими возможностями. Девайс позволяет записывать в микроконтроллер нужные программы. RT809F подходит для отладки электрооборудования. Например, для прошивки системных плат, дисплеев, ноутбуков, компьютеров. Программатор умеет считывать и записывать 8 и 16-пинговые схемы. В комплекте идут USB и VGA кабели, а также SOP-адаптер.

RT809F поддерживает всю 24 серию микросхем. Считывает DDR1/DDR2/DDR3 памяти, обрабатывает I2C EEPROM Memory. Подходит для всех схем серии 93 MircroWire. В режиме реального времени читает MCU RTD2120. С помощью специального кабеля можно записывать информацию EDID сразу на матрицу ноутбука. Подходит для прошивки компьютеров и телевизоров. Поражает совместимость с чипами Micom и микроконтроллерами WINBOND. Аппарат умеет работать с подключением по Wi-Fi и автономно.

2 USB ESP8266

Страна: КитайСредняя цена: 150 руб.Рейтинг (2019): 4.9

ESP8266 создан только для одной цели: модуля ESP-01, и со своей задачей устройство отлично справляется. За небольшую стоимость пользователь получает регулятор напряжения в 3.3В, преобразователь уровней и простое подключение. ESP8266 позволяет обмениваться информацией с чипами. Однако придется поработать паяльником: на время заливки прошивки нужно замкнуть контакты, припаять перемычку. Модуль ESP-01 ставится по направлению стрелки, ошибиться сложно.

Внешне ESP8266 похож на маленькую черную плату с разъемом желтого цвета с шагом в 2.54 мм. В него и вставляется нужный модуль. С другой стороны расположен USB разъем. Микросхема CH340 отвечает за связь между модулем и компьютером, причем работает она отлично. На программаторе установлен кварцевый резонатор. Последний увеличивает скорость работы. Производитель подумал и о стабилизаторе напряжения. Максимальный ток составляет 250 мА.

1 USB EZP2019

Страна: КитайСредняя цена: 799 руб.Рейтинг (2019): 5.0

USB программатор EZP2019 предназначен для ремонта и обслуживания домашней техники: телевизоров, материнских плат, чипов памяти, телефонов, DVD и так далее. При всей своей универсальности цена остается бюджетной. Иногда девайс применяется в заводском производстве, особенно для промышленных микросхем. Автоматически проводит pin-тест при операциях с программируемым оборудованием. Из дополнительных функций только считывание биоса материнской платы, к которой подключен прибор.

EZP2019 работает с интерфейсом USB 2.0 на скорости до 12 Мбит/с. Другими словами, на чтение и запись уходит не более 10 секунд. Хоть это и не самый быстрый результат на рынке, но лучший среди девайсов этой ценовой категории. Чипы идентифицируются автоматически, сразу создается автономная копия. Программатор поддерживает обновление прошивки. В качестве приятного бонуса – компактные размеры, его легко носить с собой в кармане.

Внимание! Представленная выше информация не является руководством к покупке. За любой консультацией следует обращаться к специалистам!Используемые источники:

  • https://usamodelkina.ru/11692-samodelnyj-programmator-dlja-pic-kontrollerov.html
  • https://www.ixbt.com/live/topcompile/top-10-luchshih-programmatorov-i-debaggerov-s-aliekspress.html
  • http://markakachestva.ru/rating-of/4400-luchshie-programmatory.html

Рейтинг автора
5
Подборку подготовил
Максим Уваров
Наш эксперт
Написано статей
171
Ссылка на основную публикацию
Похожие публикации