• ↓
  • ↑
  • ⇑
 
Записи с темой: avr (список заголовков)
10:34 

Программка для прошивки партии устройств

Кто-то любит пирожки, а кто-то - нет.
Было время, приходилось регулярно прошивать всего три типа устройств. Потом их стало пять. Потом ещё больше, да и некоторые из них дали свои модификации (выполнялись, например, на аналогичных контроллерах с другим размером флеша или имелись мелкие схемотехнические или программные отличия). Раньше хватало пары bat-файлов для прошивки, где выставлялись фьюзы, стирался флеш, прошивался, проверялся, прошивался еепром и т.д. Потом скриптов стало много, много модификаций и это запутывало.
Ещё была неприятность — если какой-то этап не был выполнен, то остальные выполнять бессмысленно, но бат-файлу пофиг, он выполняет все этапы вне зависимости от результатов их деятельности.

Мне надоело такое положение дел и я накатал себе простенькую оболочку для прошивки контроллеров, где мог бы организовать кучу разных версий прошивок и алгоритмов в более удобной форме.
По сути это общая гуи для консольных прошиваторов, ещё в альфа-версии, на скорую руку. Но тем не менее, я к ней смог подключить консольные прошиваторы:
— atprogram.exe от Atmel Studio 6 (AVR Studio 5.1) для программаторов avr isp mkII, jtagice3 и подобных;
— ST-LINK_CLI.exe от ST-Link Utility для контроллеров stm32 и программатора st-link;
— STVP_CmdLine.exe от ST Visual Programmer для STM8 и программатора st-link.
Возможно, покатит и какой-нибудь avrdude, но у меня нет программаторов, чтобы это проверить.

Описывать не буду, но выглядит это так:
картинки

Ссылка на всякий случай.

@темы: программизмы, мии, stm8, stm32, avr

03:10 

AVR Studio 5.1, Atmel Studio и sprintf для float

Кто-то любит пирожки, а кто-то - нет.
По умолчанию к программе подключается библиотека с урезанным sprintf, который не поддерживает дробные числа (видимо, в целях оптимизации).

То есть код sprintf(&buffer[0], "%f", 2.3f); выдаст "?" вместо правильного числа.

НУЖНО БОЛЬШЕ ФЛОАТА!

@темы: программизмы, avr

12:38 

Хранение настроек

Кто-то любит пирожки, а кто-то - нет.
После некоторых вариантов остановился на следующей схеме хранения настроек устройства в энергонезависимой памяти:

Имеем структуру с описанием всех полей настроек:


читать дальше

@темы: электроника, программизмы, avr

00:56 

Проблемы с JTAGICE3

Кто-то любит пирожки, а кто-то - нет.
Сегодня весь вечер бодался с ним, студию переставлял, то, сё. Не работает. Выдаёт ошибку: USB driver initialization failed with error 0x20000007. И хоть тресни.

Помогло убивание avrdbg.exe в диспетчере задач. Он перезапускается и некоторое время работает нормально.

@темы: мии, avr

18:05 

AVR Studio шаблоны

Кто-то любит пирожки, а кто-то - нет.
В АВР Студии при создании файлов кода студия подставляет готовую шапку с именем файла, датой и именем пользователя. Что-то типа:


Но мне, например, подобная шапка не нравится. И её можно прекрасно поменять на что угодно. В папке студии, куда она установлена, есть пара папок, где эти шаблоны файлов и проектов лежат. ItemTemplatesCache и ProjectTemplatesCache. В них эти файлы лежат распакованные. В папках с тем же именем, но без Cache, лежат архивы с шаблонами. Я их тоже на всякий случай отредактировал и сохранил. Рассматривать подробно не буду, но покажу пример одного из шаблонов:


Это заголовочный файл с подключёнными stdint и stdbool и переделанной шапкой. Аналогичным образом переделаны все остальные файлы. Понятно, что при создании файла студия заменит конструкции в долларах на какие-то нужные значения.

@темы: avr, программизмы

16:40 

ATmega16M1, ATmega32M1, ATmega64M1, ATmega32C1, ATmega64C1

Кто-то любит пирожки, а кто-то - нет.
Микроконтроллеры Atmel, анонсированные впервые ещё три года назад, но мало известные и распространённые в России (хотя на внешних складах Compel они есть по неизвестной цене).

Чем они интересны?
читать дальше

@темы: avr

15:33 

Прошивание AVR устройства "одним движением руки"

Кто-то любит пирожки, а кто-то - нет.
Установив AVR Studio 5.1 неожиданно обнаружил ряд интересных и полезных вещей.

Например, появился командный интерфейс (CLI), позволяющий прошивать контроллеры из командной строки =)
Находится сия программа в папочке \AVR Studio 5.1\avrdbg и называется atprogram.exe. Конечно, оно поддерживает только канонные устройства, но такая ли сложность их достать? =)

Интерфейс у неё простой и достаточно свободный. Например, для прошивки устройства я сделал следующий алгоритм:
atprogram -t jtagice3 -d atmega1280 -i isp -cl 250khz write -fs --values FFC9FC
atprogram -t jtagice3 -d atmega1280 -i isp -cl 1500khz chiperase
atprogram -t jtagice3 -d atmega1280 -i isp -cl 1500khz program -fl -f %1
atprogram -t jtagice3 -d atmega1280 -i isp -cl 1500khz verify -fl -f %1

читать дальше

@темы: электроника, няшодки, avr

Няшки-вкусняшки любят карандашики.

главная