Написав я тут невелику програмку для свого PinBoard, щоб автоматизувати завантаження *.hex-файлу зразу ж після компіляції проекту. Запуск DTR Pulser здійснюється за допомогою команд, які виконуються після компіляції проекту. Сама програма написана на Visual C#. І для її роботи знадобиться.NET Framework 4,5. Даний приклад працює на AVR Studio 6. В четвертій версії, наскільки я знаю, немає таких опції як виконання команд після компіляції. Що робить DTR Pulser? При її відкритті просто відсилається сигнал на ногу com-port DTR  . Це, за допомогою невеликої модифікації PinBoard, допомагає перевести її в режим самопрограмування із поміччю завантажувача. Все працює як в Ардуіно, натискаємо компіляцію і проект відправляється на завантаження в плату. Середовище Ардуіно використовує досить популярну консольну програму AVRDUDE і функція, яку я реалізував у своїй програмці, доступна тільки для протоколу STK500v2. А завантажувач PinBoardа працює AVR109, відповідно тут нам використати таку функцію AVRDUDE не вдасться.

Перед тим як почати користуватись цією програмуліною прийдеться виконати невеликі приготування як із софтовою стороною так і із самим PinBoard. Із софтом прийдеться налаштувати ваш Віндовс і саму AVR Studio.

Почнімо із Віндовса! Потрібно додати папку із AVRDUDE і DTR Pulser в змінне оточення віндовс. Для його клікаюм правою клавішею миші на “Мій комп”ютер” -> “Властивості” -> “Додаткові настройки системи” -> кнопка “Змінні оточення” і там в нижній таблиці шукаємо строку “Path”, двічі по ній клікаєм і в самий кінець строки редагування, через крапку з комою додаємо шлях до AVRDUDE і DTR Pulser. Після чого потрібно все зберегти і перезавантажити комп”ютер. Як перевірити чи все працює? Відкриваємо CMD і в полі вводу, вписуємо по черзі AVRDUDE і DTR_Pulser. В першому випадку ви маєте побачити всі налаштування і командні ключі AVRDUDE. А в другому старт самої DTR Pulser. Це вірний признак, що все зроблено вірно.

Далі переходимо до налаштування AVR Studio 6. Для цього нам потрібно створити, або відкрити існуючий проект і перейти до його налаштувань. Для цього є комбінація клавіш Alt+F7, або ж меню “Projeck”->”Properties” там шукаємо вкладку «Build Events» і в полі «Post-build event command line» вводимо такі командні строки :

DTR_Pulser avrdude  -p $(avrdevice) -c AVR109 -P COM2  -U flash:w:$(Name).hex :a

Після чого налаштування потрібно зберегти.

Далі можна перейти до модифікації PinBoard. В мене одна із перших її ревізій і тут прийдеться трохи попрацювати паяльником. Отже що робимо. Припаюємо проводок до другої ноги інтерфейсної мікросхеми FT232RL. Його кінець через 100nF керамічний конденсатор до перерізаної доріжки ISP-роз”єму програмування основного контролера. Перерізати потрібно там де декілька штирів підряд під”єднані до GND. З іншої сторони плати потрібно на штирі накинути джампер, щоб з”єднати DTR FT232RL і Reset мікроконтролера.

FTDI_SISP_SIMAG0027jamper

На цьому всі модифікації із залізом і софтовою частиною завершуються. З цього моменту, все має почати працювати. Щоб перевірити чи правильно все зроблено, можна один раз запустити DTR Pulser, просто два рази по ньому клікнувши мишкою.

Інтерфейс програми dtr pulser із поясненням функцій

Основні функції:

  1.  Випадаюче меню для вибору порта. Після наступного запуску програми, там буде вказаний порт, який вибирався раніше.
  2. Кнопка за допомогою якої можна зупинити внутрішній таймер, який автоматично закриває програму, після декількох секунд, а також дозволяє зберегти вибраний порт.
  3. Також зупиняє таймер і дозволяє примусово викликати сигнал на ногу DTR.
  4. Невелика строка стану, відображає що в даний момент робить програма, а також помилки.

 

 

На цьому все, саму програмку прикріплю під статтею.

Update: Написав також суто консольний варіант DTR_Pulser_v2, який можна запускати із bat-файлу, разом із ще якоюсь програмою. Для вибору порта потрібно в bat-файлі вказати його ім’я. Наприклад “DTR_Pulser_v2.exe COM2”.

Також для довідки можна ввести “help”. Апдейт буде прикріплений в кінці статті в розділі Файли.

Сирці на GitHub: https://github.com/Leon11t/DTR-Pulser

Файли: DTR_Pulser

Comments:

Написати відповідь

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> 

вимагається