Arduino
Есть вопрос к знающим людям.
У меня есть код проги ардуино и мне надо его залить в пустой мк атмега328. Ничем кроме ардуино он не компилится, а чтобы залить через ардуино в пустой мк - нужен загрузчик. Если заливать загрузчик, то по исп и я не знаю фьюзы. И, собственно, как потом к атмеге328 с залитым загрузчиком подключить плату ардуино, чтобы поверх загрузчика залить сам исходник.
У меня есть код проги ардуино и мне надо его залить в пустой мк атмега328. Ничем кроме ардуино он не компилится, а чтобы залить через ардуино в пустой мк - нужен загрузчик. Если заливать загрузчик, то по исп и я не знаю фьюзы. И, собственно, как потом к атмеге328 с залитым загрузчиком подключить плату ардуино, чтобы поверх загрузчика залить сам исходник.
Вот тут есть про фьюзы: http://www.robocraft.ru/blog/arduino/51.html
Про фьюзы спасибо, но это не самое страшное. с SPI я уже знаком. А вот какие ноги чистого мк к каким пинам ардуино надо подключать, чтобы прошить чистый мк, а не тот, который в ардуино. как вообще можно реализовать прошивку стороннего мк с уже загруженным загрузчиком из под ArduinoIDE?
Какая ардуино то хоть?
Если камни такиеже и на плате ISP программатор (FT232 например) то стоит снять полностью прошивку базовой меги, там и загрузчик будет и что надо, поменять камни местами и залить обратно.
Если камни такиеже и на плате ISP программатор (FT232 например) то стоит снять полностью прошивку базовой меги, там и загрузчик будет и что надо, поменять камни местами и залить обратно.
Вроде чуть разобрался. Нашёл на гугле скетч AVR ISP под арадруину и получается, что сначала нужно запрогать исходный мк загрузчиком, потом защитить его от записи фьюзами, потом запрогать арадруину под аврисп, потом аврисп арадруиной запрогать поверх загрузчика скетч на языке Processing/Wiring. Гемор кароче, да и только. Скажите мне такую вещь, ещё. получится ли у меня и\или правильно ли будет прогать авриспой поверх защищённого от записи загрузчика? не будет ли противоречий или это как то по другому нужно сделать?
Читал читал, нихрена не понял.
1 - Взять чистый МК, залить в него загрузчик ардуино.
2 - Запрограммировать фьюзы так, как они у обычного ардуино.
3 - Подключить как обычный ардуино и пользовать.
Фьюзы нужны чтобы МК себя корректно чувствовал, загрузчик ардуины их не меняет насколько мне известно. Также ни о дин загрузчик в своё уме не будет трогать себя.
Как бы это сделал я.
1- Я бы взял донора.
2- Считал при помощи программатора от протосса avr910 и программы avrprog - фюзы и прошивку донора
3- Записал бы в чистый мк.
1 - Взять чистый МК, залить в него загрузчик ардуино.
2 - Запрограммировать фьюзы так, как они у обычного ардуино.
3 - Подключить как обычный ардуино и пользовать.
Фьюзы нужны чтобы МК себя корректно чувствовал, загрузчик ардуины их не меняет насколько мне известно. Также ни о дин загрузчик в своё уме не будет трогать себя.
Как бы это сделал я.
1- Я бы взял донора.
2- Считал при помощи программатора от протосса avr910 и программы avrprog - фюзы и прошивку донора
3- Записал бы в чистый мк.
Qic писал(а):Читал читал, нихрена не понял.
1 - Взять чистый МК, залить в него загрузчик ардуино.
2 - Запрограммировать фьюзы так, как они у обычного ардуино.
3 - Подключить как обычный ардуино и пользовать.
Фьюзы нужны чтобы МК себя корректно чувствовал, загрузчик ардуины их не меняет насколько мне известно. Также ни о дин загрузчик в своё уме не будет трогать себя.
Как бы это сделал я.
1- Я бы взял донора.
2- Считал при помощи программатора от протосса avr910 и программы avrprog - фюзы и прошивку донора
3- Записал бы в чистый мк.
Qic писал(а):3 - Подключить как обычный ардуино и пользовать.
именно это я и хочу выяснить. Вот взял я чистый мк, прошил в него загрузчик обычным программатором и фьюзы, все как надо. Валяется у меня на столе ардуино и рядом с ней мк с прошитым загрузчиком и фьюзами. Как мне их соединить??
Какие выводы ардуино к каким ногам мк подключать?? Чтобы залить код не в ардуиновский мк, а в тот, который к нему подключен?
Все дело в том, что у меня есть только исходный код на языке процессинг/вайринг, который понимает только среда разработки ардуино. Я не нашел где в среде разработки ардуино можно сделать *.hex файл. Если бы я смог тот исходник, что у меня есть скомпилить, я бы залил его поверх загрузчика тем же авр программатором, которым программировал загрузчик. А так мне надо подключить мк к ардуино и через него запрогать мк.
Нет. Исходный мк атмега328 в tqfp32 корпусе. Я вроде не видел ардуино со съемными tqfp32 микроконтроллерами.
Вот видишь, давно уже сказал, мол назови какая ардуино, станет понятно.
Теперь вообще выяснилось что в планаре.
Давай называй какая у тебя ардуино. Будем думать.
Теперь вообще выяснилось что в планаре.
Давай называй какая у тебя ардуино. Будем думать.
Ардуины пока никакой. Посоветуйте, какую лучше купить?
Так что тебе надо? Опиши конкретно ситуацию.
У тебя уже есть МК, у тебя есть программатор, у тебя есть всё для работы МК я полагаю (отладочная/рабочая плата с питание и кварцем).
Тогда что тебе нужно? Ардуиновский скетч залить в эту плату?
С ардуино я не работаю - не айс, мне надо видеть что там работает.
Кароче вот схема http://arduino.cc/en/uploads/Main/ardui ... ematic.pdf на свою плату тебе надо поставить max232 для COM порта, или как в схеме FT232RL.
Т.е. тебе надо сделать чтобы работал UART и выводы RTS и DTR - они видимо отвечают за сброс, а бутлоадер при запуске слушает UART и уже решает.
Если всеже хочешь ардуино - я бы взял где ATmega328 съемная.
У тебя уже есть МК, у тебя есть программатор, у тебя есть всё для работы МК я полагаю (отладочная/рабочая плата с питание и кварцем).
Тогда что тебе нужно? Ардуиновский скетч залить в эту плату?
С ардуино я не работаю - не айс, мне надо видеть что там работает.
Кароче вот схема http://arduino.cc/en/uploads/Main/ardui ... ematic.pdf на свою плату тебе надо поставить max232 для COM порта, или как в схеме FT232RL.
Т.е. тебе надо сделать чтобы работал UART и выводы RTS и DTR - они видимо отвечают за сброс, а бутлоадер при запуске слушает UART и уже решает.
Если всеже хочешь ардуино - я бы взял где ATmega328 съемная.
Т.е. Arduino duemilanove подойдет?
Зависит от твоей задачи. Но раз ты уже както выбрал себе ATmega328 , то пойдет.
Если собираешься и дальше всякие поделки делать и изучать, то я вообще не советую на ардуино долго засиживаться, ибо большинство плюшек там только под ардуино, и отвыкать будет тяжело.
Если собираешься и дальше всякие поделки делать и изучать, то я вообще не советую на ардуино долго засиживаться, ибо большинство плюшек там только под ардуино, и отвыкать будет тяжело.
Речь идет лишь об одном конкретном проекте. Я не собираюсь что то дальше делать на арадруине.
Тогда задача упрощается, кардинально.
Читай делай получай hex http://bsideup.blogspot.com/2010/08/hex-arduino.html
Не трогая фьюзы заливаешь этот Hex.
Всё.
(При условии что сопутствующая обвязка как у ардуино - кварц, конденсаторы крварца, подтягивающий резистор для сброса итд.)
Читай делай получай hex http://bsideup.blogspot.com/2010/08/hex-arduino.html
Не трогая фьюзы заливаешь этот Hex.
Всё.
(При условии что сопутствующая обвязка как у ардуино - кварц, конденсаторы крварца, подтягивающий резистор для сброса итд.)
Отлично. Все замутил, получил хексы. Еще вопрос. Надо будет загружать бутлоадер в пустой мк теперь, когда уже не нужно подключать арадруино? или можно сразу этот хекс и заливать?
Я не знаю как работает бутлоадер ардуино,
и вполне вероятно что в твоем хексе его нет (если только это не слепок с реального ардуино),
дабы не врать, я не помню как сработает АВР не обнаружив бутлоадера,
поэтому я могу посоветовать только одно - убрать фьюз BOOTRST - перенос начала работы программы в область бутлоадера.
Смотря чем прошиваете -этот бит должен быть "заводским" (т.е. в разных программах фьюзы отображаются по разному).
Если BOOTRST не запрограммирован, то МК начнет сразу выполнять основную программу.
и вполне вероятно что в твоем хексе его нет (если только это не слепок с реального ардуино),
дабы не врать, я не помню как сработает АВР не обнаружив бутлоадера,
поэтому я могу посоветовать только одно - убрать фьюз BOOTRST - перенос начала работы программы в область бутлоадера.
Смотря чем прошиваете -этот бит должен быть "заводским" (т.е. в разных программах фьюзы отображаются по разному).
Если BOOTRST не запрограммирован, то МК начнет сразу выполнять основную программу.
Вернуться в «Микроконтроллеры и ПЛИС»
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 10 гостей