Как начать программировать микроконтроллеры AVR на C. Какие инструменты и библиотеки нужны. Основы синтаксиса и особенности программирования AVR на C. Примеры кода и проектов.
Введение в программирование AVR на C
Микроконтроллеры AVR от компании Atmel (сейчас принадлежит Microchip) — одно из самых популярных семейств 8-битных микроконтроллеров. Они широко применяются в различных встраиваемых системах, от бытовой техники до промышленной автоматики. Хотя AVR можно программировать на ассемблере, использование языка C значительно упрощает и ускоряет процесс разработки.
Какие преимущества дает программирование AVR на C.
- Более высокий уровень абстракции по сравнению с ассемблером
- Переносимость кода между разными моделями AVR
- Возможность использования стандартных библиотек
- Упрощение отладки и сопровождения кода
- Сокращение времени разработки
При этом C позволяет сохранить контроль над аппаратными ресурсами микроконтроллера, что важно для оптимизации кода.

Необходимые инструменты для программирования AVR на C
Для разработки программ на C для микроконтроллеров AVR потребуются следующие инструменты:
- Компилятор C для AVR (например, avr-gcc)
- Программатор для прошивки микроконтроллера
- Среда разработки (IDE) или текстовый редактор
- Набор стандартных библиотек (например, avr-libc)
- Отладчик (опционально, но крайне полезно)
Наиболее популярный набор инструментов — это связка компилятора avr-gcc, библиотеки avr-libc и среды разработки Atmel Studio от производителя микроконтроллеров. Для новичков это хороший вариант начать.
Основы синтаксиса C для AVR
Синтаксис C для AVR в целом совпадает со стандартным C, но есть некоторые особенности:
- Использование специальных ключевых слов для работы с памятью (PROGMEM, EEMEM и т.д.)
- Прямой доступ к регистрам через специальные макросы
- Использование прерываний через атрибут ISR
- Ограниченная поддержка стандартной библиотеки из-за ресурсных ограничений
Пример простой программы на C для AVR, мигающей светодиодом:

#include <avr/io.h>
#include <util/delay.h>
int main(void) {
DDRB |= (1 << PB5); // Настраиваем пин PB5 на выход
while(1) {
PORTB ^= (1 << PB5); // Инвертируем состояние пина
_delay_ms(1000); // Задержка 1 секунда
}
return 0;
}
Особенности программирования AVR на C
При программировании микроконтроллеров AVR на C следует учитывать ряд особенностей:
- Ограниченные ресурсы памяти - необходимо оптимизировать использование RAM и Flash
- Отсутствие операционной системы - программа должна напрямую управлять всем оборудованием
- Важность работы с прерываниями для реагирования на события
- Необходимость правильной инициализации периферийных устройств
- Учет энергопотребления при разработке встраиваемых систем
Как реализуются эти особенности на практике. Для экономии памяти часто используют статические переменные и константы в программной памяти. Работа с прерываниями требует правильного написания обработчиков. Инициализация периферии выполняется путем настройки соответствующих регистров.
Библиотеки для программирования AVR на C
Для упрощения разработки существует ряд полезных библиотек:
- avr-libc - стандартная библиотека C для AVR
- Arduino core - библиотеки Arduino, портированные на чистый C
- FreeRTOS - операционная система реального времени
- Протоколы связи: UART, I2C, SPI и др.
- Драйверы для различных датчиков и устройств
Использование готовых библиотек позволяет сэкономить время на разработку типовых компонентов и сосредоточиться на решении конкретной задачи.

Отладка программ для AVR на C
Отладка программ для микроконтроллеров имеет свою специфику. Основные методы отладки AVR:
- Симуляция - выполнение кода на ПК в симуляторе микроконтроллера
- Внутрисхемная отладка через JTAG или debugWIRE
- Вывод отладочной информации через UART
- Использование встроенных светодиодов для индикации
Современные среды разработки, такие как Atmel Studio, предоставляют удобные инструменты для отладки, включая точки останова, пошаговое выполнение и просмотр переменных.
Примеры проектов на C для AVR
Рассмотрим несколько типовых проектов для AVR на C:
- Цифровые часы на семисегментных индикаторах
- Измеритель температуры и влажности с выводом на LCD
- Управление шаговым двигателем
- Беспроводной датчик с передачей данных по радиоканалу
- Простой осциллограф на базе АЦП микроконтроллера
Эти проекты позволяют на практике изучить различные аспекты программирования AVR - от работы с портами ввода-вывода до использования периферийных модулей и внешних устройств.
Оптимизация кода на C для AVR
Оптимизация важна из-за ограниченных ресурсов микроконтроллера. Основные методы оптимизации:

- Использование встроенных в AVR аппаратных возможностей
- Правильный выбор типов данных (например, uint8_t вместо int)
- Размещение часто используемых переменных в регистрах
- Применение битовых операций вместо арифметических где возможно
- Использование макросов для часто повторяющегося кода
Компилятор avr-gcc также предоставляет различные уровни оптимизации, которые можно настроить для баланса между размером кода и скоростью выполнения.
Заключение
Программирование микроконтроллеров AVR на языке C открывает широкие возможности для создания различных встраиваемых систем. Этот подход сочетает удобство высокоуровневого языка с возможностью низкоуровневого управления оборудованием. Освоив основы, описанные в этой статье, вы сможете создавать сложные и эффективные проекты на базе AVR.
Бензиновая электростанция SDMO TECHNIC 20000 TE AVR C AUTO c автоматикой запуска.
- Сверхмощный 16 кВт бензиновый генератор от SDMO является очень надежным источником электроэнергии для промышленности, дома и бизнеса. Так же возможно подключение освещения, электроинструмента, компрессоров и водяных насосов.
- TECHNIC 20000 TE AVR C обеспечивает до 20 кВА электрической мощности при низком потреблении топлива.
- Все генераторы поставляются с 100% медной обмоткой альтернатора, в отличие от более дешевых алюминиевых на других моделях. Это обеспечивает более широкие и надежные выходные параметры генератора.
- Оснащен очень большим 35-литровым топливным баком.
- Встроенная система AVR (автоматический регулятор напряжения), чтобы получать более стабильное при нагрузки напряжение.
- С встроенной системой автоматического запуска VERSO50T 40A
Бензиновый генератор SDMO TECHNIC 20000 TE AVR C AUTO c автоматикой запуска. Максимальная мощность подключения 20 кВА
Добавить к сравнению
ХАРАКТЕРИСТИКИ
Производитель | SDMO |
Мощность максимальная, кВА | 20 |
Мощность номинальная, кВА | 16 |
Напряжение, В | 230/400 |
Макс.![]() |
26 |
Тип регулятора частоты вращения | |
Количество цилиндров | 2 |
Объём картера | 2 |
Расположение клапанов | OHV |
Частота вращения об/мин | 3600 |
Тип топлива | Бензин |
Расход топлива при 75% нагрузки, л/ч | ![]() |
Уровень шума, дБ | 79 |
Размеры, см | 94х90х77 |
Страна производства | Франция |
Комплектация
- 1 розетка 230В-16А
- 1 розетка СЕЕ 230В-32А
- 2 розетка СЕЕ 400В-16А
- Автоматика запуска VERSO50T 40A
- Счётчик моточасов
- Аккумулятор (без электролита)
- Тепловой предохранитель от перегрузки
Отзывы
Оставьте отзыв об этом товаре первым!
Покупатели, которые приобрели SDMO TECHNIC 20000 TE AVR C AUTO, также купили
ПриемуществаБолее 3000 моделей генераторов и ИБП от ведущих мировых производителей 7 лет на рынке резервного энергоснабжения Бесплатная доставка по Москве, быстрая доставка по России
Сервис от А до Я монтаж, обслуживание, ремонт, обучение Низкие цены индивидуальные скидки и акции Аренда Предоставляем генераторы в аренду на выгодных условиях
Статьи Об учете особенностей нагрузки, подключаемой к ИБП и ГУ
admin 10 октября 2016
При выборе модели источника бесперебойного питания (ИБП) и генераторной установки (ГУ) в первую очередь руководствуются суммарной мощностью компонентов защищаемой системы и необходимым временем поддержания ее в автономном состоянии.
Знание суммарной мощности компонентов системы, заявленных в паспортах подключаемых приборов, к сожалению, не дает полной информации о том, на какую...
Двойное резервирование сети
admin 10 октября 2016
Схема двойного резервирования одной группы потребителей при помощи 2-х ДГУ SDMO аналогичной мощности. Данная схема позволяет повысить вероятность удачного запуска ДГУ в случае аварии входной сети, что может быть не маловажным для особо ответственных потребителей. Данная схема распространяется, прежде всего, на ДГУ с пультами MICS Telys. Не требуется абсолютно никаких доработок...
Электростанция TECHNIC 7500TE AVR C
Электростанции SDMO TECHNIC с увеличенной емкостью топливного бака отличаются длительностью времени работы в автономном режиме. Оснащены профессиональным двигателем Kohler OHV и устройством защиты двигателя при низком уровне масла.
Технические характеристики |
|
Макс. |
6,50 |
Макс.мощность при напряжении 400В (3 фазы), кВА |
8,15 |
Объем встроенного топливного бака, л |
35 |
Размеры ДхШхВ (см) |
89,5х57х77 |
Масса без топлива (кг) |
124 |
Уровень звукового давления (Lwa) |
101 |
Уровень шума (Дба) - 7м |
78 |
Двигатель |
|
Производитель двигателя |
Kohler OHV |
Тип двигателя |
CH 15 |
Тип топлива |
Бензин |
Мощность в л. |
12 |
Защита двигателя при низком уровне масла |
да |
Электрический запуск |
да |
Автономность работы (ч) |
13,5 |
Генератор |
|
Розетка на 230В |
да |
Розетка на 400В |
да |
Дополнительные опции |
|
Тележечный комплект |
RKB2 |
Дифференциальные автоматы защиты |
R03B |
Комплект автоматики |
R05A |
Комплект для технического обслуживания |
- |
Типы разъемных соединителей |
- |
- Генераторная установка TECHNIC SH 6080 E
- Генераторная установка TECHNIC SH 6080
- Генераторная установка TECHNIC SH 6000 E
- Генераторная установка TECHNIC SH 6000
- Генераторная установка TECHNIC 4500 AVR
- Генераторная установка INTENS HX 6080
- Генераторная установка INTENS HX 6000
- Генераторная установка INTENS HX 4000
- Генераторная установка PERFORM 4500
- Генераторная установка OPEN TURBO 5000
- Электростанция TECHNIC 15000TE AVR C
- Электростанция PRESTIGE ALIZE 6000 E
Здесь Вы можете отправить свою заявку на любое интересующее Вас оборудование или задать вопрос, не отходя от Вашего компьютера. Обязательные для заполнения поля отмечены звездочкой (*).
* Ваше Имя: |
Пример: Сидоров Иван Петрович |
*Текст сообщения: Информация о заказе, либо любой интересующий вопрос пишется в произвольной форме. Сообщение будет обработано нашим менеджером. |
|
* Ваш телефон: |
Пример: 8-351-2345678 |
||
Ваш Город: |
Пример: Челябинск |
||
Ваш E-Mail: |
Пример: [email protected] |
||
* Введите код: |
Пример: abc3127 |
||
Special
|
avr-libc: AVR Libc
Последняя версия этого документа всегда доступна по адресу http://savannah. nongnu.org/projects/avr-libc/
Пакет AVR Libc предоставляет подмножество стандартной библиотеки C для 8-разрядные RISC-микроконтроллеры Atmel AVR. Кроме того, библиотека предоставляет базовый код запуска, необходимый большинству приложений.
В этом документе содержится огромное количество информации, выходящей за рамки простого описания интерфейсов и подпрограмм, предоставляемых библиотекой. Мы надеемся, что в этом документе содержится достаточно информации, чтобы новый разработчик AVR быстро освоился с использованием свободно доступных инструментов разработки: binutils, gcc, avr-libc и многих других.
Если вы столкнулись с проблемой, которую этот документ не полностью описывает, вы можете опубликовать сообщение в списке рассылки avr-gcc. Большинство разработчиков портов AVR binutils и gcc, а также разработчики avr-libc подписываются на этот список, так что вы, как правило, сможете решить свою проблему. Вы можете подписаться на список по адресу http://lists.nongnu. org/mailman/listinfo/avr-gcc-list. Прежде чем публиковать сообщения в списке, вы можете попробовать прочитать главу «Часто задаваемые вопросы» этого документа.
- Примечание
- Если вы считаете, что нашли ошибку или у вас есть предложения по улучшению либо в этой документации, либо в самой библиотеке, воспользуйтесь системой отслеживания ошибок по адресу https://savannah.nongnu.org/ bugs/?group=avr-libc, чтобы проблема не была забыта.
В общем, при внедрении этой библиотеки мы стремились как можно лучше придерживаться установленных стандартов. Обычно это относится к библиотеке C, как описано в ANSI X3.159-1989 и ISO/IEC 9.899:1990 ("ANSI-C"), а также части их преемника ISO/IEC 9899:1999 ("C99"). Некоторые дополнения были вдохновлены другими стандартами, такими как IEEE Std 1003.1-1988 («POSIX.1»), в то время как другие расширения являются чисто специфичными для AVR (например, весь строковый интерфейс программного пространства).
Если не указано иное, функции этой библиотеки , а не гарантированно реентерабельны. В частности, известно, что любые функции, которые хранят локальное состояние, не являются реентерабельными, а также функции, которые манипулируют регистрами ввода-вывода, такие как подпрограммы доступа к EEPROM. Если эти функции используются как в стандартном контексте, так и в контексте прерывания, результатом будет неопределенное поведение. См. FAQ для более подробного обсуждения.
Ниже приведен список устройств AVR, поддерживаемых в настоящее время библиотекой. Обратите внимание, что фактическая поддержка некоторых новых устройств зависит от способности компилятора/ассемблера поддерживать эти устройства во время компиляции библиотеки.
- megaAVR Устройства:
- atmega103
- атмега128
- атмега128а
- атмега1280
- атмега1281
- атмега1284
- atmega1284p
- атмега16
- атмега161
- атмега162
- атмега163
- атмега164а
- atmega164p
- atmega164pa
- атмега165
- атмега165а
- atmega165p
- atmega165pa
- атмега168
- атмега168а
- atmega168p
- atmega168pa
- атмега16а
- атмега2560
- атмега2561
- atmega32
- atmega32a
- атмега323
- атмега324а
- atmega324p
- atmega324pa
- атмега325
- атмега325а
- atmega325p
- atmega325pa
- атмега3250
- атмега3250а
- atmega3250p
- atmega3250pa
- atmega328
- atmega328p
- атмега48
- атмега48а
- atmega48pa
- atmega48pb
- atmega48p
- атмега64
- atmega64a
- атмега640
- atmega644
- атмега644а
- atmega644p
- atmega644pa
- атмега645
- атмега645а
- atmega645p
- атмега6450
- атмега6450а
- atmega6450p
- atmega8
- atmega8a
- atmega88
- atmega88a
- atmega88p
- atmega88pa
- atmega88pb
- atmega8515
- атмега8535
- tinyAVR Устройства:
- аттини4
- аттини5
- аттини10
- attiny11 [1]
- attiny12 [1]
- аттини13
- аттини13а
- аттини15 [1]
- аттини20
- аттини22
- аттини24
- аттини24а
- аттини25
- аттини26
- аттини261
- аттини261а
- attiny28 [1]
- аттини2313
- аттини2313а
- аттини40
- аттини4313
- аттини43у
- аттини44
- аттини44а
- аттини441
- аттини45
- аттини461
- аттини461а
- аттини48
- аттини828
- аттини84
- аттини84а
- attiny841
- аттини85
- attiny861
- аттини861а
- аттини87
- аттини88
- аттини1634
- Автомобильные AVR-устройства:
- атмега16м1
- atmega32c1
- atmega32m1
- atmega64c1
- atmega64m1
- аттини167
- ата5505
- ата5272
- ата5702м322
- ата5782
- ата5790
- ата5790н
- ата5831
- ата5795
- ата6612с
- ата6613с
- ата6614q
- ата6616с
- ата6617с
- ата664251
- Устройства CAN AVR:
- at90can32
- at90can64
- at90can128
- ЖК-устройства AVR:
- atmega169
- атмега169а
- atmega169p
- atmega169pa
- atmega329
- atmega329a
- atmega329p
- atmega329pa
- атмега3290
- атмега3290а
- atmega3290p
- атмега3290pa
- atmega649
- атмега649а
- atmega6490
- атмега6490а
- atmega6490p
- atmega649p
- Осветительные устройства AVR:
- at90pwm1
- at90pwm2
- at90pwm2b
- at90pwm216
- at90pwm3
- at90pwm3b
- at90pwm316
- at90pwm161
- at90pwm81
- Устройства Smart Battery AVR:
- атмега8хва
- атмега16хва
- атмега16хва2
- atmega16hvb
- atmega16hvbrevb
- atmega32hvb
- atmega32hvbrevb
- atmega64hve
- atmega64hve2
- атмега406
- Устройства USB AVR:
- at90usb82
- at90usb162
- at90usb646
- at90usb647
- at90usb1286
- в90usb1287
- atmega8u2
- atmega16u2
- atmega16u4
- atmega32u2
- atmega32u4
- atmega32u6
- Устройства XMEGA:
- atxmega8e5
- atxmega16a4
- atxmega16a4u
- atxmega16c4
- atxmega16d4
- atxmega32a4
- atxmega32a4u
- atxmega32c3
- atxmega32c4
- atxmega32d3
- atxmega32d4
- atxmega32e5
- atxmega64a1
- atxmega64a1u
- atxmega64a3
- atxmega64a3u
- atxmega64a4u
- atxmega64b1
- atxmega64b3
- atxmega64c3
- atxmega64d3
- atxmega64d4
- atxmega128a1
- atxmega128a1u
- atxmega128a3
- atxmega128a3u
- atxmega128a4u
- atxmega128b1
- atxmega128b3
- atxmega128c3
- atxmega128d3
- atxmega128d4
- atxmega192a3
- atxmega192a3u
- atxmega192c3
- atxmega192d3
- atxmega256a3
- atxmega256a3u
- atxmega256a3b
- atxmega256a3bu
- atxmega256c3
- atxmega256d3
- atxmega384c3
- atxmega384d3
- Беспроводные устройства AVR:
- atmega644rfr2
- атмега64рфр2
- атмега128рфа1
- атмега1284рфр2
- атмега128рфр2
- атмега2564рфр2
- атмега256рфр2
- Прочие устройства:
- at94K [2]
- at76c711 [3]
- at43usb320
- at43usb355
- ат86рф401
- at90scr100
- ата6285
- ата6286
- ата6289
- м3000 [4]
- Классические устройства AVR:
- at90s1200 [1]
- at90s2313
- at90s2323
- at90s2333
- at90s2343
- ат90с4414
- ат90с4433
- ат90с4434
- at90s8515
- at90c8534
- at90s8535
- Примечание
- [1] Только сборка.
Не существует прямой поддержки для программирования этих устройств на C, поскольку они не имеют стека на основе оперативной памяти. Тем не менее, их можно запрограммировать на C, см. FAQ для опции.
- Примечание
- [2] Устройства at94K представляют собой комбинацию микроконтроллера FPGA и AVR. [TRoth-2002/11/12: Не уверен в уровне их поддержки. Будет приветствоваться дополнительная информация.]
- Примечание
- [3] at76c711 представляет собой микросхему моста USB-быстрого последовательного интерфейса, использующую ядро AVR.
- Примечание
- [4] m3000 — это контроллер двигателя AVR ASIC от Intelligent Motion Systems (IMS) / Schneider Electric.
avr-libc можно свободно использовать и распространять при соблюдении следующих условий лицензии.
Части avr-libc защищены авторским правом (c) 1999-2016. Вернер Бёльманн, Дин Камера, Питер Конради, Брайан Дин, Кит Гаджер, Воутер ван Гулик, Бьорн Хааз, Стейнар Хауген, Питер Янсен, Рейнхард Джессих, Магнус Йоханссон, Харальд Кипп, Карлос Ламас, Клифф Лоусон, Артур Липовски, Марек Михалкевич, Тодд С.Миллер, Рич Несволд, Колин О'Флинн, Боб Пэддок, Андрей Пащенко, Райнер Патоммель, Флорин-Виорел Петров, Александр Попов, Майкл Рикман, Теодор А. Рот, Юрген Шиллинг, Филип Соберг, Анатолий Соколов, Нильс Кристиан Стром, Майкл Штумпф, Стефан Свейнпол, Гельмут Вальнер, Эрик Б. Веддингтон, Йорг Вунш, Дмитрий Хмельков, Корпорация Атмел, egnite Software GmbH, Регенты Калифорнийского университета. Все права защищены. Распространение и использование в исходном и бинарном виде, с или без модификации разрешены при соблюдении следующих условий: * Распространение исходного кода должно сохранять указанные выше авторские права. обратите внимание, этот список условий и следующий отказ от ответственности. * Распространение в бинарной форме должно воспроизводить указанное выше авторское право уведомление, этот список условий и следующий отказ от ответственности в документации и/или других материалов, предоставленных вместе с распределение. * Ни имена правообладателей, ни имена участники могут быть использованы для поддержки или продвижения продуктов, полученных из этого программного обеспечения без специального предварительного письменного разрешения.
ДАННОЕ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ПРЕДОСТАВЛЯЕТСЯ ОБЛАДАТЕЛЯМИ АВТОРСКИХ ПРАВ И УЧАСТНИКАМИ "КАК ЕСТЬ" И ЛЮБЫЕ ЯВНЫЕ ИЛИ ПОДРАЗУМЕВАЕМЫЕ ГАРАНТИИ, ВКЛЮЧАЯ, ПОМИМО ПРОЧЕГО, ПОДРАЗУМЕВАЕМЫЕ ГАРАНТИИ КОММЕРЧЕСКОЙ ПРИГОДНОСТИ И ПРИГОДНОСТИ ДЛЯ ОПРЕДЕЛЕННОЙ ЦЕЛИ ОТКАЗЫВАЮТСЯ. НИ ПРИ КАКИХ ОБСТОЯТЕЛЬСТВАХ ВЛАДЕЛЕЦ АВТОРСКИХ ПРАВ ИЛИ УЧАСТНИКИ НЕ ДОЛЖНЫ БЫТЬ НЕСУТ ОТВЕТСТВЕННОСТЬ ЗА ЛЮБЫЕ ПРЯМЫЕ, КОСВЕННЫЕ, СЛУЧАЙНЫЕ, ОСОБЫЕ, ОБРАЗЦОВЫЕ ИЛИ КОСВЕННЫЕ УБЫТКИ (ВКЛЮЧАЯ, ПОМИМО ПРОЧЕГО, ПРИОБРЕТЕНИЕ ЗАМЕНЯЮЩИЕ ТОВАРЫ ИЛИ УСЛУГИ; ПОТЕРЯ ИСПОЛЬЗОВАНИЯ, ДАННЫХ ИЛИ ПРИБЫЛИ; ИЛИ БИЗНЕС ПРЕРЫВАНИЕ) ОДНАКО ВЫЗВАННАЯ И НА ЛЮБОЙ ТЕОРИИ ОТВЕТСТВЕННОСТИ, БУДУТ В ДОГОВОР, СТРОГАЯ ОТВЕТСТВЕННОСТЬ ИЛИ ДЕЛИКТ (ВКЛЮЧАЯ ХАЛАТНОСТЬ ИЛИ ИНОЕ) КАКИМ-ЛИБО ОБРАЗОМ ВОЗНИКАЮЩИЕ В РЕЗУЛЬТАТЕ ИСПОЛЬЗОВАНИЯ ЭТОГО ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ, ДАЖЕ ЕСЛИ УВЕДОМЛЕН О ВОЗМОЖНОСТЬ ТАКОГО ПОВРЕЖДЕНИЯ.
JumpStart C для AVR
Почему JumpStart C для AVR
В одном пакете вы можете продуктивно программировать микроконтроллеры Atmel AVR за считанные часы, а не дни или недели. JumpStart C для AVR даже включает встроенный визуальный отладчик (требуется покупка отдельной лицензии). См. также Почему инструменты JumpStart.
От клиента:
Кстати, у меня была - ну, где-то еще есть - лицензия на ICCAVR6, которую я широко использовал для аналогичных проектов для экспериментов в ЦЕРНе; ваши инструменты сыграли свою роль в открытии бозона Хиггса, без шуток
Купить СЕЙЧАС!Загрузите полнофункциональную 45-дневную демоверсию здесь.
Основные функции JumpStart C Tools
- Профессиональная среда разработки с управлением рабочим пространством/проектом, функциями с учетом синтаксиса, просмотром кода и т. д.
- Не нужно писать командные файлы компоновщика. Выберите целевое устройство по имени, а наши инструменты сделают все остальное.
- Полный набор инструментов компилятора, включая компилятор C, ассемблер, компоновщик и файловый менеджер библиотеки.
- Создание выходных файлов стандартного формата, вкрапленных файлов листинга C и asm и символьных файлов отладки.
- Целевые и независимые от машины оптимизации.
- Собственный отладчик, интегрированный в IDE.
- Встроенный загрузчик флэш-памяти.
Инструменты JumpStart поставляются в трех разных версиях
- STD (стандартная) — для базовой коммерческой разработки. Флэш-память ограничена 64 КБ (Atmel AVR)
- NC (некоммерческий) - для студентов и любителей. В основном с теми же функциями, что и STD.
Владельцы одного типа издания могут перейти на более высокий выпуск за разницу в цене.
JumpStart C для Atmel AVR Дополнительные функции- Версия PRO (Professional) — добавление дополнительных оптимизаций (код лучше на 5–20 %) и отсутствие ограничений на использование флэш-памяти
- Быстрые компиляторы, совместимые с ANSI C, написанные с нуля и оптимизированные для целевых микроконтроллеров.
- Полная интеграция с модулями отладки Atmel, включая: AVR Dragon, JTAGICE MkII, JTAGICE3 и Atmel-ICE.
- Поддерживает все серии AVR, megaAVR и XMEGA.
- Application Builder предоставляет удобный визуальный интерфейс для генерации кода инициализации периферийных устройств (только для AVR и megaAVR).
- (только PRO) Первый в отрасли оптимизатор сжатия всей программы. Сокращение кода на 5%-15%.
JumpStart C для версий Atmel AVR STD/NC ограничены 128 КБ памяти кода.
JumpStart C для версии Atmel AVR PRO, кроме того, поддерживает MIO (машинно-независимый оптимизатор) и оптимизатор сжатия кода, что позволяет улучшить качество кода на 10-20 %.
Другие комментарии от клиента Патрика Коуэна:
Ваша бизнес-модель великолепна, и я думаю, что она имеет огромный потенциал для продажи вашего программного обеспечения, делая его очень простым в использовании и в основном защищенным от дураков. Я не очень разбираюсь в программном обеспечении, но мне удалось довольно легко научиться пользоваться Arduino.