Программирование на чистом с++ под Atmega328 5 В 16 м

magals1
Offline
Зарегистрирован: 23.10.2014

Через какую среду разработки можно запрограммировать atmega328 на чистом с++? При программировании ардуинского  кода меня не устраивает скорость запуска программы при включении, так понимаю это проблемма загрузчика который установлен

varistor
varistor аватар
Offline
Зарегистрирован: 03.02.2013

magals1 пишет:

Через какую среду разработки можно запрограммировать atmega328 на чистом с++? При программировании ардуинского  кода меня не устраивает скорость запуска программы при включении, так понимаю это проблемма загрузчика который установлен


Мне кажется ответ заключен в самом вопросе. Atmega328 можно запрограммировать на чистом С++ для AVR. Только заливать код надо будет не через среду ардуины, а посредством программатора. Только загрузчик при этом придется убить. И это уже будет по сути не ардуино.

KVadik
KVadik аватар
Offline
Зарегистрирован: 15.06.2014

magals1 пишет:

Через какую среду разработки можно запрограммировать atmega328 на чистом с++? При программировании ардуинского  кода меня не устраивает скорость запуска программы при включении, так понимаю это проблемма загрузчика который установлен

Попробуй запрограммировать atmega328 с помощью ISP программатора из другой ардуины, тогда загрузчика не будет.  Если и это не устроит бери родную Атмел Студию. 

axill
Offline
Зарегистрирован: 05.09.2011

Вы смешиваете проблему и способ его решения. Ну или слишком поверхностно сделали вывод о способе решения

и так. Если вас не устраивает время запуска. Сначала надо убедится устраивает вас или нет время др начала исполнения setup(). Может так оказаться, что тупит именно сама setup()

Если же все таки время до запуска не устраивает и вы исключили влияние setup, то дальше остается два момента. Первый это стартовая процедура загрузчика. Ее можно ускорить заменив штатный загрузчик на оптимизированный, например optiboot. Если и этого мало - во фьюзах отключаете загрузчик и заливаете ардуину через ISP. Если и тут мало - проверяем фьюзы, они определяют задержку в мс по запуску. Задержка обычно используется для ожидания готовности внешнего оборудования. В ряде случаев можно снизить до нуля

так вот после того как вы все выше сделаете время запуска скетча ардуины не будет отличаться от кода на С++

faraddin
Offline
Зарегистрирован: 11.08.2013

AtmelStudio - все что нужно. 

magals1
Offline
Зарегистрирован: 23.10.2014

KVadik пишет:

magals1 пишет:

Через какую среду разработки можно запрограммировать atmega328 на чистом с++? При программировании ардуинского  кода меня не устраивает скорость запуска программы при включении, так понимаю это проблемма загрузчика который установлен

Попробуй запрограммировать atmega328 с помощью ISP программатора из другой ардуины, тогда загрузчика не будет.  Если и это не устроит бери родную Атмел Студию. 

в случае чего, можно будет вернуть этот загрузчик?

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

magals1 пишет:
в случае чего, можно будет вернуть этот загрузчик?

Да, в среде выбрать Tools -> Burn bootloader.

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

в COM port - порт ведущей платы, т. е. ArduinoISP программатора.

Ну во всяком случае так для ArduinoISP. Для USBASP ком-порт не нужен.

KVadik
KVadik аватар
Offline
Зарегистрирован: 15.06.2014

magals1 пишет:
в случае чего, можно будет вернуть этот загрузчик?

Ну на счет "этот" не скажу, может там что-то эксклюзивно-уникальное было ;), но записать стандартный или любой модифицированный, который вы найдете на просторах интернета - запросто.

faraddin
Offline
Зарегистрирован: 11.08.2013

std пишет:

Да, в среде выбрать Tools -> Burn bootloader.

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

Maverik
Offline
Зарегистрирован: 12.09.2012