Перейти к содержанию
    

Как сразу заменить прошивку на нескольких mspm0g1507

Добрый день,

разрабатываю

Остановился на том, чтобы на mspm0g1507 оцифровывать и потом собирать на esp32. Макет уже попробовал, удается делать то, что хочется, но надо соскалировать теперь.

То есть у меня есть в аппаратуре 32 штуки mspm0g1507, которые соединены с 4 esp32 (по 8 на одну esp32).

Для перепрограммирования одной mspm0g1507 как я понимаю, мне надо иметь 3 пина SWD/SWC/NRST соединенных со внешним контроллером, которым в моем случае является esp32. Но если я 8 таких mspm0g1507 на один esp32 воткну, то у меня кончатся ножки (мне там надо еще 14 ног по другим делам использовать).

Скажите, пожалуйста, а можно как-то какие-то ножки из SWD/SWC/NRST с разных mspm0g1507 совместить? То есть я подозреваю, что все SWD и NRST со всех контроллеров можно объединить, но не уверен, поэтому и вопрошаю.

PS: поставить еще один esp32 только для программирования 8 mspm0g1507 не хотелось бы, так как места нет. Читал, что можно rtos на mspm0g1507 поставить и из него перепрошивать, но сомневаюсь, что этот вариант не будет отъедать ресурсы этого слабого процессора, а у меня там как-то совсем все до тактов рассчитано.

Спасибо!

ИИВ

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

35 minutes ago, Obam said:

спасибо за ссылку, я ее видел, но ведь (если я конечно правильно понимаю) в этом TI контроллере нет ни multi-drop, ни JTAG'а.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В 05.08.2024 в 01:46, iiv сказал:

То есть у меня есть в аппаратуре 32 штуки mspm0g1507, которые соединены с 4 esp32

При таких объёмах стоить поставить еще один контроллер который будет всех программировать и хранить все прошивки.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

У ТСа - "беда": "звезда" из 32х SWD. Они в цепочку ну никак.

спасибо за ссылку, я ее видел, но ведь (если я конечно правильно понимаю) в этом TI контроллере нет ни multi-drop, ни JTAG'а.
А по UART их никак в цепочку?
Как адресуемые светодиоды...

Тут такое дело: TI доку не даёт на Средне-Русскую возвышенность ;-)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

13 часов назад, iiv сказал:

мне надо иметь 3 пина SWD/SWC/NRST

 

13 часов назад, iiv сказал:

Но если я 8 таких mspm0g1507 на один esp32 воткну, то у меня кончатся ножки

Первые 2 ноги впараллель, ресет мультиплексировать.

8 часов назад, Obam сказал:

У ТСа - "беда": "звезда" из 32х SWD. Они в цепочку ну никак.

Так и пусть впараллель ставит, делов-то)))))

8 часов назад, HardEgor сказал:

будет всех программировать и хранить все прошивки.

Если у него там еще и прошивки все разные, то.... вообщем ну его такие поделья))))))))

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Кастомный загрузчик, все MSP по UART соединить, и программируйте что хотите.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 hour ago, mantech said:

Первые 2 ноги впараллель, ресет мультиплексировать.

супер, спасибо! Черт, а что я сам не додумался, ведь в этом процессоре эти ноги можно в режим input после загрузки поставить, тогда действительно, того, кто перезагрузили и будет получать прошивку. А 8+2 пина вместо 8*3 у меня на esp32 свободных есть.

Пошел разводить эту массивно-параллельную систему.

1 hour ago, mantech said:

Если у него там еще и прошивки все разные, то.... вообщем ну его такие поделья))))))))

не, везде все одинаково, просто тыкаться 32 раза для перепрограммирования каждый раз во время отладки ужас как не хотелось бы.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

19 часов назад, iiv сказал:

Скажите, пожалуйста, а можно как-то какие-то ножки из SWD/SWC/NRST с разных mspm0g1507 совместить? То есть я подозреваю, что все SWD и NRST со всех контроллеров можно объединить, но не уверен, поэтому и вопрошаю.

Сделайте просто daisy-chain и все дела. На любом свободном интерфейсе.

4 часа назад, iiv сказал:

Пошел разводить эту массивно-параллельную систему.

Я бы дважды подумал, прежде чем лепить такое. Посмотрите на нагрузочную способность - потянут ли выходные драйверы 32 нагрузки в-параллель? Плюс - подтяжки да общая ёмкость такого дерева проводов. И сколько там будет гулять помех. Особенно когда рядом множество таких источников помех, как моторы с ШИМ.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

11 minutes ago, jcxz said:

Сделайте просто daisy-chain и все дела. На любом свободном интерфейсе.

Спасибо за совет! А как, скажите, пожалуйста? Правильно ли я понимаю, что для этого еще контроллер лепить, или переключатели, причем для SWD еще такие, которые в обе стороны. На это совсем места нет - платы хоть и большие, но очень узкие.

12 minutes ago, jcxz said:

Я бы дважды подумал, прежде чем лепить такое. Посмотрите на нагрузочную способность - потянут ли выходные драйверы 32 нагрузки в-параллель?

я по 8 группировать все хочу, надеюсь, что потянет, тем более, что в момент прошивки все кроме одного будут в Z состоянии. У меня всяко данные от 8 контроллеров на одну esp32 приходят и физически находятся друг от друга примерно на расстоянии 5-8 см. А вот каждый пучёк этих блоков (одна esp32 + 8 штук mspm0g) довольно далеко и друг с другом (около метра) по дифференциальным интерфейсам общаются. А esp32 я по WiFi перепрошиваю, там тыкаться не надо.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

25 минут назад, iiv сказал:

Спасибо за совет! А как, скажите, пожалуйста? Правильно ли я понимаю, что для этого еще контроллер лепить, или переключатели, причем для SWD еще такие, которые в обе стороны. На это совсем места нет - платы хоть и большие, но очень узкие.

Зачем контроллер? Просто выделяете в своём же контроллере 2 интерфейса: один для приёма прошивки, другой - для передачи её дальше. А можно сделать это и на одном интерфейсе (UART, ШИМ, etc.), если использовать его в симплексном режиме.

Контроллер принимает прошивку, сохраняет её себе и передаёт дальше. И обновляется затем. Лучше конечно - посредством бутлоадера. Чтобы не окирпичиться если что-то пойдёт не так.

 

PS: Кроме того - есть ещё топология "кольцо". Которую часто применяли раньше, но сейчас про неё почему-то все забыли. Тоже потребует только одного интерфейса. И на приём и на передачу дальше.

25 минут назад, iiv сказал:

А esp32 я по WiFi перепрошиваю, там тыкаться не надо.

От ESP пустить кольцо на одном UART-е или ШИМ-е. И прошить все разом.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 часа назад, jcxz сказал:

И сколько там будет гулять помех. Особенно когда рядом множество таких источников помех, как моторы с ШИМ.

Ну так если обновлять прошивку при включенных моторах и др нагрузках - это надо быть совсем злобным буратино)))

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

17 минут назад, mantech сказал:

Ну так если обновлять прошивку при включенных моторах и др нагрузках - это надо быть совсем злобным буратино)))

А почему бы нет? Если у ТС-а 32 мотора, то кто мешает сперва всем сразу заслать новую прошивку, а потом по-очередно давать команды каждому контроллеру "обновить прошивку". Очередной обновил и стартанул - даём следующему. Если 32 тянут нагрузку, то какое-то время и без одного, в-31-однером справятся. И можно обновляться прямо "на лету". В прямом смысле слова.  :biggrin:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 час назад, jcxz сказал:

И можно обновляться прямо "на лету". В прямом смысле слова. 

Ну да, можно, повторить "подвиг" дрона от "почты России")))

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

On 8/5/2024 at 4:44 PM, jcxz said:

И обновляется затем.

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

On 8/5/2024 at 6:42 PM, jcxz said:

А почему бы нет? Если у ТС-а 32 мотора

спасибо за острый комментарий! Я правда уже не первый раз акцентирую внимание, что решаю две различные задачи, в одной - управление 4-мя моторами, в другой оцифровку со множества (больше сотни) звуковых/ультразвуковых каналов для быстрого и точного позиционирования.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...