#1 2016-06-28 13:57:52

aleshka2201
Учасник
Зареєстрований: 2016-06-28
Повідомлень: 1

Arduino без Bootloader'а

Добрый день.
Имеется Arduino Pro Mini 3.3V 8MHz.
Мне нужно убрать загрузчик, тем самым снизить время загрузки до минимума.
Подскажите, может я что не так делаю...
После компиляции скетча, беру .hex файл прошивки из системной папки Temp (тот, что без бутлоадера).
Сторонним программатором загружаю по ICSP прошивку в Arduino. При этом фьюз BOOTRST=1 (убрал), тем самым сделав загрузку после ресета с места начала программы, а не бутлоадера.
Удалось снизить время загрузки с 2-3 секунд до 1 сек. Но это все равно много.
Подскажите, какие должны быть фьюзы в моём случае? Что я не так сделал?
Спасибо.

Неактивний

#2 2016-06-29 11:50:05

alex_dol
Учасник
Зареєстрований: 2015-12-28
Повідомлень: 196

Re: Arduino без Bootloader'а

Даже если не переустановить флаг BOOTRST и записать hex без загрузчика - время старта будет несколько милисек, пока проц "пробежит" область загрузчика, но ни как не 1 сек.
Попробуй создать hex через "Скетч - экспорт бинарного файла"

Неактивний

#3 2016-07-22 11:05:34

evgeniy
Учасник
Зареєстрований: 2016-07-19
Повідомлень: 3

Re: Arduino без Bootloader'а

Ни кто не запрещает программировать плату как обычный МК через SPI интерфейс, на большинстве плат он даже оформлен в виде отдельного разъема. При этом не обязательно разработку делать в Arduino IDE где при компиляции учитывается наличие загрузчика.

Неактивний

#4 2016-07-23 09:05:54

Green
Учасник
Зареєстрований: 2015-11-08
Повідомлень: 593

Re: Arduino без Bootloader'а

Как учитывается?

Неактивний

#5 2016-07-24 08:10:02

Nefreemen
Учасник
З Киев
Зареєстрований: 2015-12-19
Повідомлень: 716

Re: Arduino без Bootloader'а

alex_dol пише:

Даже если не переустановить флаг BOOTRST и записать hex без загрузчика - время старта будет несколько милисек, пока проц "пробежит" область загрузчика, но ни как не 1 сек.
Попробуй создать hex через "Скетч - экспорт бинарного файла"

Откройте секрет что это за hex без загрузчика roll . И пока проц где то бегает я стою в лыжи обутый  roll

Неактивний

#6 2016-07-24 13:31:55

Green
Учасник
Зареєстрований: 2015-11-08
Повідомлень: 593

Re: Arduino без Bootloader'а

Не "где-то бегает", а быстренько пробегает.))

Неактивний

#7 2016-07-25 09:14:42

alex_dol
Учасник
Зареєстрований: 2015-12-28
Повідомлень: 196

Re: Arduino без Bootloader'а

Nefreemen пише:

Откройте секрет что это за hex без загрузчика roll . И пока проц где то бегает я стою в лыжи обутый  roll

Выбираем: 1123.jpg
Получаем: 1122.jpg
Берем файлик без бутлоадера и заливаем любым программатором. Желательно также переустановить флаг старта. Если этого не сделать, программа будет стартовать с области бутлоадера, но так область бутлоадера забита "nop", проц пройдет по nop-ам до конца памяти и начнет сначала. Времени тратится примерно 2К / 16МГц = 0,0001 сек = 0.1 мсек.

Неактивний

#8 2016-07-25 15:51:36

Nefreemen
Учасник
З Киев
Зареєстрований: 2015-12-19
Повідомлень: 716

Re: Arduino без Bootloader'а

alex_dol пише:
Nefreemen пише:

Откройте секрет что это за hex без загрузчика roll . И пока проц где то бегает я стою в лыжи обутый  roll

Выбираем: http://forum.arduino.ua/img/members/429/1123.jpg
Получаем: http://forum.arduino.ua/img/members/429/1122.jpg
Берем файлик без бутлоадера и заливаем любым программатором. Желательно также переустановить флаг старта. Если этого не сделать, программа будет стартовать с области бутлоадера, но так область бутлоадера забита "nop", проц пройдет по nop-ам до конца памяти и начнет сначала. Времени тратится примерно 2К / 16МГц = 0,0001 сек = 0.1 мсек.

Вот я блин наивный  big_smile, все время думал что бутлоадер находится во флеш МК и прописывается один раз а фьюзы указывают размер и область бут-ра. При старте сначала стартует бут и потом передает управление программе (если нет команды на "заливку"). А оказывается хекс программы уже содержит бут, капец wink .

Неактивний

#9 2016-07-25 18:16:51

Green
Учасник
Зареєстрований: 2015-11-08
Повідомлень: 593

Re: Arduino без Bootloader'а

Всё плохо. Последнее предположение неверно. И откуда только такие глупости возникают?

Неактивний

#10 2016-07-25 20:38:39

Nefreemen
Учасник
З Киев
Зареєстрований: 2015-12-19
Повідомлень: 716

Re: Arduino без Bootloader'а

Green пише:

Всё плохо. Последнее предположение неверно. И откуда только такие глупости возникают?

Вот вот и я о том же  lol  lol

Неактивний

#11 2016-07-25 23:31:19

alex_dol
Учасник
Зареєстрований: 2015-12-28
Повідомлень: 196

Re: Arduino без Bootloader'а

Nefreemen пише:

Вот я блин наивный  big_smile, все время думал что бутлоадер находится во флеш МК и прописывается один раз а фьюзы указывают размер и область бут-ра. При старте сначала стартует бут и потом передает управление программе (если нет команды на "заливку"). А оказывается хекс программы уже содержит бут, капец wink .

Если прочитать первое сообщение - там как раз и идет речь о заливке hex не содержащего бутлоадер сторонним программатором, а не о стандартных средствах ардуино. Ваши рассуждения относятся к стандартным средствам ардуино, но никто не запрещает работать с платой ардуино через ICSP.

Если использовать программатор, то:
бутлоадер находится во флеш МК - согласен, изначально он там есть, но я вместо него могу записать программатором что хочу.
прописывается один раз а фьюзы указывают размер и область бут-ра - а что мешает переписывать бутлоадер хоть по сто раз на день? В самой IDE есть пункт "записать бутлоадер".
старте сначала стартует бут и потом передает управление программе - опять же если он там есть, я могу его область заполнить "nop"ами или переписать фьюзы на старт с нулевого адреса, а не с бутлоадера.

Для ТС было важно выиграть время, которое бутлоадер тратит на ожидание команды на "заливку". Делал он вроде правильно, но "что-то пошло не так".
Я не вижу смысла развивать дискуссию дальше, мы говорим о разных вещах и похоже ТС тема уже не интересна.

Неактивний

#12 2016-07-26 09:01:25

Green
Учасник
Зареєстрований: 2015-11-08
Повідомлень: 593

Re: Arduino без Bootloader'а

ТС-у нужно показать фьюзы и сетап. Тогда можно будет что то сказать.

Неактивний

#13 2016-07-26 15:40:23

Nefreemen
Учасник
З Киев
Зареєстрований: 2015-12-19
Повідомлень: 716

Re: Arduino без Bootloader'а

Как работает загрузчик я прекрасно знаю. Вопрос в другом. Для меня стало открытием то что IDE создает два файла один из них содержит загрузчик. Логично понять какой он пишет при стандартной заливке (с загрузчиком или без), и собственно нафиг вообще кекс с загрузчиком если есть отдельная опция записать загрузчик.

alex_dol, но это же Вы написали:

"Даже если не переустановить флаг BOOTRST и записать hex без загрузчика - время старта будет несколько милисек, пока проц "пробежит" область загрузчика, но ни как не 1 сек.
Попробуй создать hex через "Скетч - экспорт бинарного файла""

Вам не кажется что что то не так roll  написано? Слово "даже" поменяло весь смысл Вами написанного. Собственно коротко: МК пофиг с бутом кекс или без все рулит флаг lol .

Неактивний

#14 2016-07-26 16:46:33

alex_dol
Учасник
Зареєстрований: 2015-12-28
Повідомлень: 196

Re: Arduino без Bootloader'а

Этой фразой я хотел сказать, что если программатором залить скетч без бутлоадера и оставить фьюз старта без изменений (старт останется с области бутлоадера), то проц сначала обработает 2К "nop"ов, затем перейдет к основной программе. Время обработки 2К "nop"ов будет намного меньше 1 сек. Сам не раз забывал переустанавливать фьюз старта - что так, что с переустановленым - старт мгновенный.

Неактивний

#15 2016-07-26 17:43:37

Green
Учасник
Зареєстрований: 2015-11-08
Повідомлень: 593

Re: Arduino без Bootloader'а

Nefreemen пише:

Как работает загрузчик я прекрасно знаю. Вопрос в другом. Для меня стало открытием то что IDE создает два файла один из них содержит загрузчик. Логично понять какой он пишет при стандартной заливке (с загрузчиком или без), и собственно нафиг вообще кекс с загрузчиком если есть отдельная опция записать загрузчик.

Да ну? И откуда ж ему (загрузчику) там взяться? Просветите, коль всё "прекрасно" знаете.

Неактивний

#16 2016-07-27 14:56:53

Nefreemen
Учасник
З Киев
Зареєстрований: 2015-12-19
Повідомлень: 716

Re: Arduino без Bootloader'а

Green пише:
Nefreemen пише:

Как работает загрузчик я прекрасно знаю. Вопрос в другом. Для меня стало открытием то что IDE создает два файла один из них содержит загрузчик. Логично понять какой он пишет при стандартной заливке (с загрузчиком или без), и собственно нафиг вообще кекс с загрузчиком если есть отдельная опция записать загрузчик.

Да ну? И откуда ж ему (загрузчику) там взяться? Просветите, коль всё "прекрасно" знаете.

Извините, где ему взяться (загрузчику) как его записать в том числе как править исходник загрузчика под частоту, конкретный АВР (размер флэша), адреса, события, ожидание вэлкам гугл  big_smile . Мне это уже не интересно. А если Вы считаете что каждый раз при заливке кода в ИДЭ (через сериал) прописывается вместе с кодом загрузчик то это очень глубокое заблуждение.

Остання редакція Nefreemen (2016-07-27 15:10:12)

Неактивний

#17 2016-07-28 04:50:37

Green
Учасник
Зареєстрований: 2015-11-08
Повідомлень: 593

Re: Arduino без Bootloader'а

Такое впечатление что кто-то бухает...

Неактивний

#18 2016-07-28 12:33:41

NoName
Customer
З Київ
Зареєстрований: 2014-07-08
Повідомлень: 1,446

Re: Arduino без Bootloader'а

"кто то бухает ..." написал Green, в 04:50:37, хвастается наверное )

Неактивний

#19 2016-07-28 16:01:04

Green
Учасник
Зареєстрований: 2015-11-08
Повідомлень: 593

Re: Arduino без Bootloader'а

А разве заметно? Хотя, я подумал о такой логике.))

Неактивний

#20 2016-07-28 20:11:01

Nefreemen
Учасник
З Киев
Зареєстрований: 2015-12-19
Повідомлень: 716

Re: Arduino без Bootloader'а

Green пише:

Такое впечатление что кто-то бухает...

roll  big_smile  Соседи наверное.

Неактивний

#21 2016-07-28 21:33:20

Green
Учасник
Зареєстрований: 2015-11-08
Повідомлень: 593

Re: Arduino без Bootloader'а

Ага, ага. Соседи по форуму.))

Неактивний

#22 2016-07-28 23:51:33

Nefreemen
Учасник
З Киев
Зареєстрований: 2015-12-19
Повідомлень: 716

Re: Arduino без Bootloader'а

Green пише:

Ага, ага. Соседи по форуму.))

Вы о чем? Если Вы написали "Такое впечатление что кто-то бухает..." относительно моего поста. Тогда ссоры, я не обижаюсь (честно мне пофиг) и я ничего против не имею если Вы считаете что бутлоадер родится вместе с МК и что он переписывается каждый раз при записи скетча это Ваше право lol . Мне просто приснилось наверное кода я правил (под Atmega32) optiboot загрузчик для использования в Arduino IDE и как то ни один скетч его не убил lol .

Неактивний

#23 2016-07-29 06:12:13

Green
Учасник
Зареєстрований: 2015-11-08
Повідомлень: 593

Re: Arduino без Bootloader'а

... если Вы считаете что бутлоадер родится вместе с МК и что он переписывается каждый раз при записи скетча это Ваше право

И где ж я такую ахинею писал?

Мне просто приснилось наверное кода я правил (под Atmega32) optiboot загрузчик для использования в Arduino IDE и как то ни один скетч его не убил lol .

"Да кто ж его посадит, это ж ПАМЯТНИК!"
Да кто ж его убъёт, это ж ЗАГРУЗЧИК!
Он ведь сам скетчи грузит и себя не трогает. А убьёт его только программатор (экзотические варианты не рассматриваем).
В Arduino IDE же скетчи записывать можно и так, и эдак - и через загрузчик, и через программатор (но тогда загручику того-сь). Очевидно же...
"Такая вот фигня, малята."))

А кто рано встаёт, тому... Не так ли, NoName?))

Неактивний

#24 2016-07-29 09:01:57

Nefreemen
Учасник
З Киев
Зареєстрований: 2015-12-19
Повідомлень: 716

Re: Arduino без Bootloader'а

Green, тогда я не понимаю вокруг чего ломаем копья. Почему после моего  #16 последовал Ваши "намеки" #17 и #21? Ваша фраза :"Он ведь сам скетчи грузит и себя не трогает. А убьёт его только программатор (экзотические варианты не рассматриваем)." , не совсем правильна, загрузчики бывают разные smile . Есть у меня замечательная книга (можно сказать настольная) по которой я учился писать "программки" еще на ASM лет 10 назад.  Открываем книгу А.В. Евстифеева: Микроконтроллеры AVR семейств Tiny и Mega фирмы Atmel, глава  26. Самопрограммирование микроконтроллеров семейства Mega, и читаем (фрагмент) "...Сразу отметим, что загрузчик может изменять содержимое обеих секций (поскольку вырвано с текста, то имеется ввиду секции памяти Application Section и Boot Loader Section) . Это позволяет ему модифицировать собственный код и даже удалять себя из памяти, если надобность в нем отпадет". Вот теперь можно окончательное: "Такая вот фигня, малята."))

Неактивний

#25 2016-07-29 15:52:17

Green
Учасник
Зареєстрований: 2015-11-08
Повідомлень: 593

Re: Arduino без Bootloader'а

ОК.
"Мы по разному видим мир". (С) О.Бендер.

Это позволяет ему модифицировать собственный код и даже удалять себя из памяти, если надобность в нем отпадет".

Вот это, как раз, "экзотические варианты".))

Неактивний

Швидке повідомлення

Введіть повідомлення і натисніть Надіслати

Підвал форуму