реклама на сайте
подробности

 
 
> Прошивка STM32F7 через другой STM32F7 (UART), Прошивка ведомых ведущим.
AVStech
сообщение May 23 2018, 14:58
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 59
Регистрация: 19-01-17
Пользователь №: 95 076



Добрый день! Повторюсь в этой ветке, так как в основном работа с ARM

Возникла необходимость прошивки микроконтроллера STM32F7 другим микроконтроллером STM32F7 подключенный к нему через UART, а также прошивки Atmega328P подключенного по SPI. Необходимость возникла по причине того, что SoM на Allwinere страдает кучей недостатков в том числе отсутствием необходимого количества UART.
Постараюсь описать кратко идею:
Есть несколько микроконтроллеров STM32F7 общающихся между собой по UART и один Atmega328P подключенный к STMке по SPI, из них:

а) 1-й Микроконтроллер STM32F7: Концентратор на базе STM32F7 он собирает данные с разных микроконтроллеров по UART пакует их в пакет и отправляет по Wi-Fi пользователю через модуль ESP-01 или ESP-06 (UART+2xGPIO). Также данный контроллер имеет слот под microSD подключенный по SDIO и FRAM по SPI.

б) 2-е...5-е Микроконтроллеры STM32F7 (4 штуки): собирают различную цифровую и аналоговую информацию, обрабатывают ее и отправляют на концентратор (см. пункт а)), который в свою очередь ее упаковывает и отправляет в сеть.

в) Микроконтроллер Atmega328P: Следит за уровнем заряда батареи, управляет вкл и выкл систем питания, и в теории программирует по i2c две микросхемы BQ25892 (устанавливает настройки).

Как все это должно работать в теории:

1. Вставляем в microSD слот карту памяти с папкой, например, Firmware, и контроллер (концентратор stm32 из пункта а)) просматривает файлы и в случае, если находит в ней прошивку старше загруженной шьется сам и шьет все остальные контроллеры включая Atmega328P. Затем удаляет все исходники из папки Firmware. Все папка пуста.

2. Подключается по wifi к сети интернет, заходит по ссылке в сети интернет смотрит версии прошивки и если есть прошивки старше загруженной качает ее на microSD карту в папку Firmware, перезагружается, и затем как в варианте с microSD шьется сам и шьет все остальные контроллеры включая Atmega328P. Затем удаляет все исходники из папки Firmware. Все папка пуста.

Теперь вопросы - это возможно реализовать на практике?

И "ДА" - Естественно все микроконтроллеры имеют необходимый bootloader и все прошивки скомпилированы в бин или хекс.

У меня одна проблема - я не могу учится по учебникам, то ли мозг так заточен, то ли уситчивости не хватает. Я не нашел ни одного примера. Я могу взять чужой пример и переделать его. С нуля не получается, тем более что нужно быстро.
Поэтому спрашиваю это физически возможно?
Если да то прошу помощи - пример как это сделать, включая схему подключения между контроллерами. Ведь голый uart не пойдет нужно с концентратора еще и gpio подводить к ногам boot0 и boot1 и RST ведомых микроконтроллеров (для avr также)

П.С. Если кто-то готов помочь, но нет времени я готов оплатить это время. Но вот только в бюджетах я ограничен. Если кому интересно пишите в личку, может договоримся.

Спасибо.

Сообщение отредактировал AVStech - May 23 2018, 17:06
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
khach
сообщение May 26 2018, 13:25
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 3 439
Регистрация: 29-12-04
Пользователь №: 1 741



Система с кучей STM32 в том числе F7 имеет право на жизнь, и отдельный F7 отвечающий за библиотеки прошивки это тоже нормально. Но в определенных случаях. Например это удаленная система без непосредственного доступа оператора с плохим каналом связи. Т.е прошивка для апгреда заливается медленно и печально, часами или неделями, с обрывами связи. Процессор-менеджер фирмвари этим и занимается. Когда прошивка залита во внешний флешь, проверены ее чексуммы и соответствие акуальной версии харда остальных процессоров, то планируется действия по накатыванию фирмвари в безопасный для техпроцесса период. При этом во флеши менеджера прошивок лежит как минимум две копии фирмвари, в том числе и для даунгрейда в случае проблем. Т.е если вылезит баг при накате прошивки то всегда можно быстро откатиться без передачи новой-старой фирмвари по ненадежному каналу связи. Ну а мультипроцессороность позволяет функционировать управляющему блоку даже при неудачной прошивке. Т.е новая фирмварь вводится в опытную эксплуатацию в режиме надзора без включения в управляющий контур и только после некоторого пробного периода управление переключается на нее. Менеджер фирмвари также может принимать, хранить и высылать журнал эксплуатации системы, журналы срабатывания ватчдогов, трапов и ловушек подчиненных систем итд. Возможен спец-вариант принудительного наката дефолтных прошивок по срабатыванию ватчдога всей системы низкого уровня на "мелком 8-битном процессоре" но с этим надо очень осторожно чтобы не крашнуть систему при проблемах питания. Самоапдейт менеджера фирмвари тоже возможен, но это очень особый случай типа частичной порчи флеша от длительной эксплуатации. Или если эта вся система расположена совсем не на родной планете....
Это все из области ультранадежных дублированных управляющих систем.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- AVStech   Прошивка STM32F7 через другой STM32F7 (UART)   May 23 2018, 14:58
- - zombi   ЦитатаПрошивка ведомых ведомым. Может прошивка вед...   May 23 2018, 16:44
|- - AVStech   Цитата(zombi @ May 23 2018, 19:44) Может ...   May 23 2018, 17:07
- - _pv   мелкий 8ми битный МК, за питанием следить и рубить...   May 23 2018, 17:10
|- - AVStech   Цитата(_pv @ May 23 2018, 20:10) вы что-т...   May 23 2018, 17:19
- - mantech   Цитата(AVStech @ May 23 2018, 17:58) Необ...   May 23 2018, 17:40
|- - AVStech   Цитата(mantech @ May 23 2018, 20:40) Не п...   May 23 2018, 18:17
- - Arlleex   ЦитатаТеперь вопросы - это возможно реализовать на...   May 23 2018, 17:50
- - x893   а посему нельзя использовать собственные загрузчик...   May 23 2018, 18:55
|- - AVStech   Цитата(x893 @ May 23 2018, 21:55) а почем...   May 24 2018, 05:22
- - kolobok0   Цитата(AVStech @ May 23 2018, 17:58) ...В...   May 23 2018, 19:04
- - x893   Когда загрузчики свои - вообще не проблема. UART +...   May 24 2018, 06:06
- - _pv   ресет-то зачем?   May 24 2018, 06:10
|- - AVStech   Цитата(_pv @ May 24 2018, 09:10) ресет-то...   May 24 2018, 06:43
- - _pv   Туда (в свой бутлоадер, а не встроенный) и програм...   May 24 2018, 07:24
|- - kolobok0   Цитата(_pv @ May 24 2018, 10:24) ...Можно...   May 24 2018, 17:10
- - Arlleex   Да ресет тут будет нужен для поддержки встроенного...   May 24 2018, 07:25
- - x893   Можно и без ресета, но если ваша расчудесная прогр...   May 24 2018, 08:18
|- - AVStech   Цитата(x893 @ May 24 2018, 11:18) Можно и...   May 24 2018, 09:39
|- - HardEgor   https://electronix.ru/forum/index.php?showtopic=14...   May 24 2018, 09:57
||- - AVStech   Цитата(HardEgor @ May 24 2018, 12:57) htt...   May 24 2018, 10:12
|- - scifi   RE: Прошивка STM32F7 через другой STM32F7 (UART)   May 30 2018, 16:54
|- - jcxz   Цитата(scifi @ May 30 2018, 19:54) У меня...   May 30 2018, 19:35
- - Baser   Цитата(AVStech @ May 24 2018, 09:43) В пр...   May 24 2018, 09:57
- - Arlleex   Цитата(kolobok0 @ May 24 2018, 20:10) еди...   May 24 2018, 17:49
|- - leocat   Цитата(Arlleex @ May 24 2018, 18:49) О че...   May 25 2018, 12:10
|- - kolobok0   Цитата(Arlleex @ May 24 2018, 20:49) О че...   May 25 2018, 21:01
|- - jcxz   Цитата(khach @ May 26 2018, 16:25) Это вс...   May 30 2018, 05:47
|- - Arlleex   Цитата(jcxz @ May 30 2018, 09:47) Соверше...   May 30 2018, 07:49
|- - jcxz   Цитата(Arlleex @ May 30 2018, 10:49) В ОЗ...   May 30 2018, 08:46
|- - Arlleex   Цитата(jcxz @ May 30 2018, 12:46) Не в ОЗ...   May 30 2018, 10:06
|- - jcxz   Цитата(Arlleex @ May 30 2018, 13:06) 1. П...   May 30 2018, 10:39
|- - Arlleex   Цитата(jcxz @ May 30 2018, 14:39) Нет, не...   May 30 2018, 10:57
|- - jcxz   Цитата(Arlleex @ May 30 2018, 13:57) Ох. ...   May 30 2018, 11:51
|- - Arlleex   Цитата(jcxz @ May 30 2018, 15:51) Но я пр...   May 30 2018, 13:06
- - Arlleex   КодPT_THREAD... А не тот ли это протопоток который...   May 30 2018, 19:57


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 23rd June 2025 - 08:45
Рейтинг@Mail.ru


Страница сгенерированна за 0.01417 секунд с 7
ELECTRONIX ©2004-2016