Easyelectronics.ru

Электроника для всех
Текущее время: 18 июн 2018, 16:11

Часовой пояс: UTC + 5 часов



    • JLCPCB - Платы прототипов всего за 2$ c бесплатной доставкой (при первом заказе)
    • 10 PCBs за $2 для 2 слоев, $15 для 4 слойной, $74 для 6 слойной платы.
    • Крупнейший китайский производитель прототипных плат. 290000+ клиентов & 8000+ заказов в день!
    • LCSC - Крупнейший китайский онлайн магазин радиодеталей.

Начать новую тему Ответить на тему  [ Сообщений: 11 ] 
Автор Сообщение
 Заголовок сообщения: Микроконтроллер и бутлоадеры
СообщениеДобавлено: 15 май 2018, 13:59 
Только пришел

Зарегистрирован: 15 фев 2018, 20:14
Сообщения: 8
Здравствуйте.
Проблема такая -- у меня есть "умный" микроконтроллер, который работает с "простым" микроконтроллером и АЦП через USB. Необходимо, чтобы "умный" микроконтроллер умел через USB прошивать сам себя, а также "простой" микроконтроллер. И я из-за недостатка опыта совсем не знаю, как это сделать. В сети нашел usbaspbootloader, но он добавляет программную поддержку USB, у меня же есть возможность взять микроконтроллер уже с USB "встроенным". Как мне сделать то, что я хочу? Встраивать сразу два бутлоадера в "умный" мк, чтобы был выбор между обычной работой, прошивкой самого себя и прошивкой другого мк?
Пока я разбираюсь с usbaspbootloader, но прошу подсказать с примерами других бутлоадеров, прошивок программаторов и вообще любой информацией, которая может помочь мне.
Спасибо за помощь.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Микроконтроллер и бутлоадеры
СообщениеДобавлено: 15 май 2018, 14:09 
Старожил
Аватара пользователя

Зарегистрирован: 06 ноя 2013, 16:07
Сообщения: 546
Откуда: Германия
Бутлоадер - это самая обычная прошивка. Она может общаться с кем хочет по любому протоколу. Не понятно, в чем проблема.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Микроконтроллер и бутлоадеры
СообщениеДобавлено: 15 май 2018, 15:01 
Только пришел

Зарегистрирован: 15 фев 2018, 20:14
Сообщения: 8
dev писал(а):
Бутлоадер - это самая обычная прошивка. Она может общаться с кем хочет по любому протоколу. Не понятно, в чем проблема.

Тогда как мне записывать из этой прошивки данные в память как родного мк, так и чужого, и переходить из него в основную программу? Мне бы какой-нибудь пример.
И как совместить основную программу и бутлоадер в одном проекте atmel studio.


Последний раз редактировалось kovalbski 15 май 2018, 15:09, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Микроконтроллер и бутлоадеры
СообщениеДобавлено: 15 май 2018, 15:06 
Старожил

Зарегистрирован: 08 авг 2013, 09:43
Сообщения: 652
Какой-нибудь пример:
Изображение

Серьезно - вы бы хоть указали какого семейства контроллеры. У каждого свой подход. Если это AVR - гуглите optiboot. Вообще сдается мне не получится у вас ничего с таким непонимание матчасти.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Микроконтроллер и бутлоадеры
СообщениеДобавлено: 15 май 2018, 15:15 
Только пришел

Зарегистрирован: 15 фев 2018, 20:14
Сообщения: 8
NStorm писал(а):
Серьезно - вы бы хоть указали какого семейства контроллеры. У каждого свой подход. Если это AVR - гуглите optiboot. Вообще сдается мне не получится у вас ничего с таким непонимание матчасти.


Какие именно контроллеры будут, я пока не знаю, так как не выбрал. Но, наверное, будут или AtXmega или ATSAM.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Микроконтроллер и бутлоадеры
СообщениеДобавлено: 15 май 2018, 15:24 
Старожил

Зарегистрирован: 08 авг 2013, 09:43
Сообщения: 652
Ну тогда ищите как на эти контроллеры пишется бутлоадер и пишите свой или ищите готовое. В общих чертах смысл таков что бут - обычный кусок кода, который стартует первым. И либо передает управление основной программе, либо начинает принимать данные новой прошивки и шить её соб-но во флэш. Как шить - зависит от МК, как и всё остальное.
Я честно не понимаю тогда зачем 2 МК ставить, раз устройства еще нет и даже МК еще не выбраны. Не проще ли на одном МК всё сделать? Тем более так можно сразу с готовым бутлоадером что-то найти. Потому что для прошивки 2го МК через 1ый наверняка придется писать что-то своё с нуля.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Микроконтроллер и бутлоадеры
СообщениеДобавлено: 15 май 2018, 15:30 
Только пришел

Зарегистрирован: 15 фев 2018, 20:14
Сообщения: 8
NStorm писал(а):
Ну тогда ищите как на эти контроллеры пишется бутлоадер и пишите свой или ищите готовое. В общих чертах смысл таков что бут - обычный кусок кода, который стартует первым. И либо передает управление основной программе, либо начинает принимать данные новой прошивки и шить её соб-но во флэш. Как шить - зависит от МК, как и всё остальное.
Я честно не понимаю тогда зачем 2 МК ставить, раз устройства еще нет и даже МК еще не выбраны. Не проще ли на одном МК всё сделать? Тем более так можно сразу с готовым бутлоадером что-то найти. Потому что для прошивки 2го МК через 1ый наверняка придется писать что-то своё с нуля.

Ага, нужно именно 2 микроконтроллера, потому что подразумевается, что устройств с простыми мк будет много, и они будут просто вставляться в отладочную плату, где будет "умный" МК.
За помощь спасибо, да, скорее всего придется писать что-то самому, поэтому и попросил помощи, потому что опираясь на пример работать гораздо легче.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Микроконтроллер и бутлоадеры
СообщениеДобавлено: 15 май 2018, 15:33 
Старожил
Аватара пользователя

Зарегистрирован: 06 ноя 2013, 16:07
Сообщения: 546
Откуда: Германия
kovalbski писал(а):
Тогда как мне записывать из этой прошивки данные в память как родного мк,


Просто писать в нужное место во флеш.

kovalbski писал(а):
так и чужого,


Запустить второй МК в режиме бутлоадера. Передавать ему прошивку с первого и пусть сам пишет.

kovalbski писал(а):
и переходить из него в основную программу?


Прыгнуть на адрес 0, AFAIR.

kovalbski писал(а):
И как совместить основную программу и бутлоадер в одном проекте atmel studio.


Никак, вероятно. Да и незачем.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Микроконтроллер и бутлоадеры
СообщениеДобавлено: 15 май 2018, 15:33 
Старожил
Аватара пользователя

Зарегистрирован: 06 ноя 2013, 16:07
Сообщения: 546
Откуда: Германия
http://easyelectronics.ru/avr-uchebnyj- ... adera.html


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Микроконтроллер и бутлоадеры
СообщениеДобавлено: 15 май 2018, 16:26 
Старожил

Зарегистрирован: 20 окт 2015, 18:14
Сообщения: 221
Делал так: на "умный" контроллер пересылал файл прошивки, который сохранялся на SD-карте под определенным именем *.bin. Затем командовал на перезагрузку. Сначала грузился бутлоадер с поддержкой FATFS. Если на карте есть файл с этим именем, прошивал МК. Файл прошивки переименовывал в *.tmp и переходил в основную прошивку. В ней проверял, если есть файл *.tmp, запускал таймер на 10 мин (тестовый период). Если за это время не завис, переименовывал файл в *.bkp. Это резервная копия прошивки. Если в течение тестового периода завис или вывалился в HF, то переименовывал файл *.bkp (если был конечно) в *.bin и перезагружался. Загрузчик возвращал проверенную прошивку. Это что касается "умного" контроллера.
С "простым" контроллером ситуация аналогичная. "Умный" пересылал ему прошивку, которая сохранялась уже в простой флэшке, и перезагружал его. Загрузчик там такой же, только FATFS настроен на SPI, а не на SDIO.
Делал на STM32, но тут не важно. И FATFS и загрузчики для Atmel можно найти и адаптировать под себя.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Микроконтроллер и бутлоадеры
СообщениеДобавлено: 15 май 2018, 19:08 
Старожил
Аватара пользователя

Зарегистрирован: 22 июл 2017, 11:48
Сообщения: 1814
...и насколько же умный "умный" микроконтроллер? ТС так и не обозначил этот момент.
Прошивка самого себя по USB - это DFU режим - Device Firmware Upgrade, особый класс USB-устройства, в который оно переходит по требованию. Прошивка другого МК - это любой режим программирования у целевого МК и эмуляция программатора на "умном" МК.

Аналог хотелок топикстартера - любой программатор, умеющий как обновлять свою собственную прошивку, так и программировать целевые микроконтроллеры.
Так может лучше топикстартеру посоветовать готовый программатор для программирования его МК? Например, у STM - это ST-Link


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 11 ] 

Часовой пояс: UTC + 5 часов


Кто сейчас на конференции

Сейчас этот форум просматривают: aamonster


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB