Программирование это набор команд соответствующих стандарту машинного кода согласованного в совокупности микросхем, которые выполняют условия включения, выключения и передачи сигналов по заведомо указанным путям. Только когда что-то сложное упрощают, давая только пульт в руки, то усложняется понимание как это всё взаимосвязано и куда что идёт.
что-то я непонял в чем польза, выходит мы заменили программатор на преобразователь usb-uart, потеряли 2Кб флэш памяти и всё. в чем собственно выгода? :)
а вот это смотрели? rayshobby.net/hid-class-usb-serial-communication-for-avrs-using-v-usb/ я так понял по такой же схеме USBasp работает и вообще можно usb устройства делать на основе авр
Позвольте поправить. Выполнение программы начинается с 0000, там как раз расположен загрузчик. От 0000 отсчитываем размер в 1024 слова, там начинается прошивка. Загрузчик в любом случае стартует первым, проверяет, нужно ли ему что то делать и потом перекидывает в данном случае на адрес 1024
Нет. Неправильно. Касаемо сабжа. Цитирую *В некоторых случаях нужно что бы после сброса микроконтроллер начинал выполнение программы не с нулевого адреса, как это установлено по умолчанию, а с начала области загрузчика. Для того, что бы включить данный режим используется фьюз BOOTRST. Если этот бит прошить (сделать равным нулю) то вектор начального сброса изменится и после сброса контроллер начнет выполнение программы с начала области загрузки.*
Я давно пользуюсь бутлоудером chip45, меня полностью устраивает и выбор контроллеров приличный. Единственное что написал свое приложение для заливки прошивки.
Писал на древнем Delphi 7 + компонент Сomport411f с поддержкой режима Flow Control (нужен для контроля ошибок во время прошивки) Выглядит программа примерно так electronics.inf.ua/P16.files/Loader.png
О, я как раз хочу удалить бутлоадер. Какая разница програматор втыкать или ком преобразователь. Так я хоть место сэкономлю. Но главное чтобы со фьюзами не запороть.
Вот у меня два вопроса: 1) Если у меня есть программатор AVR , но расчитан на микросхемы в DIP корпусе, как мне правильно подпаятся к такой микросхеме в корпусе TQFP? 2) Все таки, насколько разница между внешним и внутренним тактовым генератором? (не беря во внимание, освободившиеся контакты)
1. есть в продаже переходники с ейаз на dip. либо если определить каким образом он программирует то подпаять провода к нужным ножкам. 2. внутренний - он менее стабилен, то есть часы собранные на внутреннем будут врать сильнее чем на кварце.
Как насчет обзора о расширении памяти на пример для atmega8 иногда ее физически мало чтоб что то большое на ней организовать .А если использовать внешнюю еепром для этих целей и записать программу в нее то и бут и сама программа причем любая влезет.
Автор, кажется ты путаешь и говоришь неправильно - не может бутлоадер стартовать с конца памяти 1024 слова, ведь как раз в настройках фьюзов написано, что бутлоадеру отводится размер 1024 слова, и стартовать контроллер будет с бутсектора, расположенного по адресу $0000, т.е. с самого начала памяти, где и находится начало бутлоадера. А вот после памяти 1024 слова будет находиться уже пользовательская прошивка.
Нет. Неправильно. Касаемо сабжа. Цитирую *В некоторых случаях нужно что бы после сброса микроконтроллер начинал выполнение программы не с нулевого адреса, как это установлено по умолчанию, а с начала области загрузчика. Для того, что бы включить данный режим используется фьюз BOOTRST. Если этот бит прошить (сделать равным нулю) то вектор начального сброса изменится и после сброса контроллер начнет выполнение программы с начала области загрузки.*
после просмотра видео возникло желание опробовать bootloader, но кварца подходящего нет. завтра в магазин придется идти. из прочитанных статей о usb bootloader`ах остановился на BootloadHID( microsin.ru/content/view/1188/44/ ). Вроде все просто и понятно, надо только поставить ATMELstudio или WinAVR. USBaspLoader который может работать с Khazama AVR Programmer требует больший загрузочный сектор, чем есть в меге8(надо уже мега16 или 32). хочу себе макетку сделать на меге8 в dip корпусе. есть какие-нибудь схемы(платы), которыми пользовался(которыми было удобно пользоваться)?
Я тоже эти статьи смотрел и пробовал прошить, но как то не получилось, одну макетку залочил ( мне лет 5 назад достались на халяву атмега8 в tqfp корпусе, поэтому у меня все макетки на них. Сам в протеусе сделай, пол часа работы. установи стабилизатор 7805, кварц с обвязкой и разъем для программирования. и от оставшихся свободных ножек - контактные площадки вывести. если загрузчик получится то меня проконсультируй! :)
фух, осилил BootloadHID. получилось менять порты для перемычки и usb линии D- . С кварцем не получилось, только 12 МГц. полный ответ дам на форуме, завтра ( flowcode.info/forum/viewtopic.php?f=19&t=2157 ) как разберёшься, пили видео урок - знания в массы :)))
я правильно понял: с uart загрузчиком chip45 МК может тактироваться любой частотой и любым источником, будь-то внутренний генератор или внешний кварц? если да, то это однозначно плюс по сравнению с usb загрузчиками.
Спасибо! Всё по полочкам разложил.
Программирование это набор команд соответствующих стандарту машинного кода согласованного в совокупности микросхем, которые выполняют условия включения, выключения и передачи сигналов по заведомо указанным путям. Только когда что-то сложное упрощают, давая только пульт в руки, то усложняется понимание как это всё взаимосвязано и куда что идёт.
что-то я непонял в чем польза, выходит мы заменили программатор на преобразователь usb-uart, потеряли 2Кб флэш памяти и всё. в чем собственно выгода? :)
в том что не нужен программатор... например если делается на заказ кому то устройство, или оно в труднодоступном месте.
а вот это смотрели? rayshobby.net/hid-class-usb-serial-communication-for-avrs-using-v-usb/
я так понял по такой же схеме USBasp работает
и вообще можно usb устройства делать на основе авр
возможно смотрел, но не разбирался. причина - нечем писать софт для usb.
да в usbasp ножки с МК идут сразу в юсб
chip45 хороший загрузчик, давно им не пользовался нужно вспомнить эту тему)
уж если использовать бутлоадер то ардуиновский. тем более он есть тоже на все популярные чипы на мегу8 так и подавно.
Позвольте поправить. Выполнение программы начинается с 0000, там как раз расположен загрузчик. От 0000 отсчитываем размер в 1024 слова, там начинается прошивка. Загрузчик в любом случае стартует первым, проверяет, нужно ли ему что то делать и потом перекидывает в данном случае на адрес 1024
Нет. Неправильно. Касаемо сабжа. Цитирую
*В некоторых случаях нужно что бы после сброса микроконтроллер начинал выполнение программы не с нулевого адреса, как это установлено по умолчанию, а с начала области загрузчика. Для того, что бы включить данный режим используется фьюз BOOTRST. Если этот бит прошить (сделать равным нулю) то вектор начального сброса изменится и после сброса контроллер начнет выполнение программы с начала области загрузки.*
Здравствуйте!
Немного не по теме...
Вы не планируете снять видео по Midbus в программе Flowcode?
Спасибо за замечательные уроки!
Спасибо, уроков по modbus пока не планируется
Я давно пользуюсь бутлоудером chip45, меня полностью устраивает и выбор контроллеров приличный.
Единственное что написал свое приложение для заливки прошивки.
согласен, в общем хороший. чем приложение отличается от фирменного?
да особо ничем, добавил прогрес бар -проценты загрузки, поубирал все лишнее чтобы не путать пользователя
Писал на древнем Delphi 7 + компонент Сomport411f с поддержкой режима Flow Control (нужен для контроля ошибок во время прошивки)
Выглядит программа примерно так electronics.inf.ua/P16.files/Loader.png
О, я как раз хочу удалить бутлоадер. Какая разница програматор втыкать или ком преобразователь. Так я хоть место сэкономлю. Но главное чтобы со фьюзами не запороть.
Вот у меня два вопроса:
1) Если у меня есть программатор AVR , но расчитан на микросхемы в DIP корпусе, как мне правильно подпаятся к такой микросхеме в корпусе TQFP?
2) Все таки, насколько разница между внешним и внутренним тактовым генератором? (не беря во внимание, освободившиеся контакты)
1. есть в продаже переходники с ейаз на dip. либо если определить каким образом он программирует то подпаять провода к нужным ножкам.
2. внутренний - он менее стабилен, то есть часы собранные на внутреннем будут врать сильнее чем на кварце.
Открыв прошивку в редакторе можно как то понять бутлоадер использует шифрование или нет?
Зачем бутлоадеру шифрование? Я не в курсе.
@@RADIOSOFT1 Что бы прошивка была в открытом доступе но устройство нельзя было скопировать, просто обновить прошивку
@@yl923 мне известна только защита через фьюзы
@@RADIOSOFT1 Это защита от подключения.
optiboot bootloader еще такой известный есть, под сногие мк авр
Как насчет обзора о расширении памяти на пример для atmega8 иногда ее физически мало чтоб что то большое на ней организовать .А если использовать внешнюю еепром для этих целей и записать программу в нее то и бут и сама программа причем любая влезет.
а у вас есть опыт такого? никогда не сталкивался.
как подключить программатор usbisp к flowcode, или никак?
ruclips.net/video/nKVj-HY0Zyc/видео.html&lc=z12siziagomigj1hf04cipvgrryzejvxzrw0k
в комментариях
спасибо большое!
А вот у меня другой вопрос. Как мне удалить этот ардуиновский загрузчик с меги328 чтоб она читалась и пррервалась с помощью AVERDUDE PROG ?
просто залить прошивку через spi интерфейс. и во фьюзах отключить указатель на область бутлоадера
RADIOSOFT дак даже фьюзы не читаются.
я не знаю как работает averdude prog. для usbasp никакой автозагрузчик не помеха.
Автор, кажется ты путаешь и говоришь неправильно - не может бутлоадер стартовать с конца памяти 1024 слова, ведь как раз в настройках фьюзов написано, что бутлоадеру отводится размер 1024 слова, и стартовать контроллер будет с бутсектора, расположенного по адресу $0000, т.е. с самого начала памяти, где и находится начало бутлоадера. А вот после памяти 1024 слова будет находиться уже пользовательская прошивка.
нет. бутлоадер размещается в конце памяти. это написано в даташите
Нет. Неправильно. Касаемо сабжа. Цитирую
*В некоторых случаях нужно что бы после сброса микроконтроллер начинал выполнение программы не с нулевого адреса, как это установлено по умолчанию, а с начала области загрузчика. Для того, что бы включить данный режим используется фьюз BOOTRST. Если этот бит прошить (сделать равным нулю) то вектор начального сброса изменится и после сброса контроллер начнет выполнение программы с начала области загрузки.*
не работает ресет ,камень на выброс ??
Возможно в фьюз битах отключили. Нужен параллельный программатор или фьюз доктор, есть такие схемы в сети.
Посмотрите Doctor AVR это несложный самодельный прибор позволяющий восстанавливать залоченные МК
после просмотра видео возникло желание опробовать bootloader, но кварца подходящего нет. завтра в магазин придется идти. из прочитанных статей о usb bootloader`ах остановился на BootloadHID( microsin.ru/content/view/1188/44/ ). Вроде все просто и понятно, надо только поставить ATMELstudio или WinAVR.
USBaspLoader который может работать с Khazama AVR Programmer требует больший загрузочный сектор, чем есть в меге8(надо уже мега16 или 32).
хочу себе макетку сделать на меге8 в dip корпусе. есть какие-нибудь схемы(платы), которыми пользовался(которыми было удобно пользоваться)?
Я тоже эти статьи смотрел и пробовал прошить, но как то не получилось, одну макетку залочил (
мне лет 5 назад достались на халяву атмега8 в tqfp корпусе, поэтому у меня все макетки на них.
Сам в протеусе сделай, пол часа работы. установи стабилизатор 7805, кварц с обвязкой и разъем для программирования. и от оставшихся свободных ножек - контактные площадки вывести.
если загрузчик получится то меня проконсультируй! :)
фух, осилил BootloadHID. получилось менять порты для перемычки и usb линии D- . С кварцем не получилось, только 12 МГц. полный ответ дам на форуме, завтра ( flowcode.info/forum/viewtopic.php?f=19&t=2157 )
как разберёшься, пили видео урок - знания в массы :)))
*****
ок )
я правильно понял: с uart загрузчиком chip45 МК может тактироваться любой частотой и любым источником, будь-то внутренний генератор или внешний кварц? если да, то это однозначно плюс по сравнению с usb загрузчиками.
*****
нет, частота кварца указывается в прошивке загрузчика, мы просто выбираем нужную прошивку из списка с нужным МК и частотой.
Слишком сложно...