Easyelectronics.ru

Электроника для всех
Текущее время: 19 сен 2018, 04:40

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



    • JLCPCB - Прототипы 10 PCBs всего за 2$ (100*100mm, 2-layer)
    • Как мы делаем платы, смотрите на YouTube
    • Крупнейшая китайская фабрика прототипов. 300000+ заказчиков и 10000+ заказов в день!
    • 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
Сообщения: 564
Откуда: Германия
Бутлоадер - это самая обычная прошивка. Она может общаться с кем хочет по любому протоколу. Не понятно, в чем проблема.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: 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
Сообщения: 962
Какой-нибудь пример:
Изображение

Серьезно - вы бы хоть указали какого семейства контроллеры. У каждого свой подход. Если это 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
Сообщения: 962
Ну тогда ищите как на эти контроллеры пишется бутлоадер и пишите свой или ищите готовое. В общих чертах смысл таков что бут - обычный кусок кода, который стартует первым. И либо передает управление основной программе, либо начинает принимать данные новой прошивки и шить её соб-но во флэш. Как шить - зависит от МК, как и всё остальное.
Я честно не понимаю тогда зачем 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
Сообщения: 564
Откуда: Германия
kovalbski писал(а):
Тогда как мне записывать из этой прошивки данные в память как родного мк,


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

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


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

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


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

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


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


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

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


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

Зарегистрирован: 20 окт 2015, 18:14
Сообщения: 245
Делал так: на "умный" контроллер пересылал файл прошивки, который сохранялся на 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
Сообщения: 2237
...и насколько же умный "умный" микроконтроллер? ТС так и не обозначил этот момент.
Прошивка самого себя по USB - это DFU режим - Device Firmware Upgrade, особый класс USB-устройства, в который оно переходит по требованию. Прошивка другого МК - это любой режим программирования у целевого МК и эмуляция программатора на "умном" МК.

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


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

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


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

Сейчас этот форум просматривают: нет зарегистрированных пользователей


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

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

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