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

 
 
3 страниц V   1 2 3 >  
Reply to this topicStart new topic
> Прошить кучу одинаковых контроллеров, насколько плохая идея тупо запараллелить SWD
_pv
сообщение Dec 2 2016, 14:22
Сообщение #1


Гуру
******

Группа: Свой
Сообщений: 2 563
Регистрация: 8-04-05
Из: Nsk
Пользователь №: 3 954



так как по цене нынче самые мелкие stm8, и даже stm32f0 почти сравнялись со сдвиговыми регистрами, когда понадобилось сделать очень много небыстрого IO, причем в обе стороны и заодно i2c размножить, вместо спец размножителей i2c и сдвиговых регистров появилась мысль понаставить мелких МК и по SPI в daisy chain их всех собрать.

единственно что напрягает это прошивка и возможный update прошивки для кучи МК, соответственно вопрос: как бы это попроще сделать.
прошивка получается одинаковая и вроде бы если просто запараллелить у всех SWD, то должно получиться, так как какая разница что они там отвечают по SWDIO, отвечать должны все одинаковое.
Go to the top of the page
 
+Quote Post
Obam
сообщение Dec 2 2016, 14:48
Сообщение #2


Знающий
****

Группа: Участник
Сообщений: 756
Регистрация: 14-11-14
Пользователь №: 83 663



Вот самое интересное и начнётся, когда где-то в середине цепочки (а SWD цепочку-то, вообще, допускает?) кто-то не ответит положенное wink.gif


--------------------
Пролетарий умственного труда.
Go to the top of the page
 
+Quote Post
HardEgor
сообщение Dec 2 2016, 15:21
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 2 223
Регистрация: 3-03-06
Из: Tomsk
Пользователь №: 14 925



Цитата(_pv @ Dec 2 2016, 21:22) *
прошивка получается одинаковая и вроде бы если просто запараллелить у всех SWD

"Сквозняков" наловите - кто-то чуть быстрее ответит, а кто-то чуть медленнее.
Тут проще свой бутлоадер, SPI, соединить в звезду, а все CS завести на один процессор - он принимает прошивки и раздает остальным.
Go to the top of the page
 
+Quote Post
_pv
сообщение Dec 2 2016, 15:32
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 2 563
Регистрация: 8-04-05
Из: Nsk
Пользователь №: 3 954



Цитата(HardEgor @ Dec 2 2016, 21:21) *
"Сквозняков" наловите - кто-то чуть быстрее ответит, а кто-то чуть медленнее.
Тут проще свой бутлоадер, SPI, соединить в звезду, а все CS завести на один процессор - он принимает прошивки и раздает остальным.

так SWD же синхронный вроде как (i2c грубо говоря, только push-pull, а не открытый коллектор, так как точка-точка) по клоку всё делать должен?
и где я столько CSов возьму. пусть будут друг за дружкой в daisy chain.
со своим бутлоадером понятно, что потом можно наверное научить по SPI прошивку принимать, но в первый раз всё равно придётся к каждому программатором подключаться.
Go to the top of the page
 
+Quote Post
HardEgor
сообщение Dec 2 2016, 16:19
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 2 223
Регистрация: 3-03-06
Из: Tomsk
Пользователь №: 14 925



Цитата(_pv @ Dec 2 2016, 22:32) *
так SWD же синхронный вроде как (i2c грубо говоря, только push-pull, а не открытый коллектор, так как точка-точка) по клоку всё делать должен? и где я столько CSов возьму. пусть будут друг за дружкой в daisy chain.

как-раз push-pull и даст сквозняк, а открытый коллектор - нет.
SWD не daisy chain, а точка-точка.
Вот JTAG это daisy chain, но как я понял несколько устройств в цепочке будет требовать специальных программ.
Go to the top of the page
 
+Quote Post
ataradov
сообщение Dec 2 2016, 20:03
Сообщение #6


Профессионал
*****

Группа: Участник
Сообщений: 1 014
Регистрация: 8-01-07
Из: San Jose, CA
Пользователь №: 24 202



QUOTE (_pv @ Dec 2 2016, 07:22) *
отвечать должны все одинаковое.
Программирование подразумевает чтение статуса, который может быть разным в зависимости от небольших вариаций в скорости флеша.

Последняя SWD спецификация предусматривает подключение нескольких устройств в параллель (работать только с одним можно, естественно). Но я не уверен, что эту спецификацию поддерживают реальные программаторы и МК.
Go to the top of the page
 
+Quote Post
KnightIgor
сообщение Dec 2 2016, 20:57
Сообщение #7


Знающий
****

Группа: Участник
Сообщений: 643
Регистрация: 29-05-09
Из: Германия
Пользователь №: 49 725



Цитата(_pv @ Dec 2 2016, 17:32) *
так SWD же синхронный вроде как (i2c грубо говоря, только push-pull, а не открытый коллектор, так как точка-точка) по клоку всё делать должен?
и где я столько CSов возьму. пусть будут друг за дружкой в daisy chain.

Как уже указали, SWD нельзя в цепочку собрать, или быть уверенным, что при "широковещательной" записи по SWD каждый безоговорочно пропишется. Остается только выводить RESET каждого процессора на разъем и делать адаптер для программатора: все RESET кроме одного, держатся в нуле, а свободный будет доступен по SWD. И селектором переключать. Впрочем, так можно и без RESET обойтись, если переключать SWDCLK.
Go to the top of the page
 
+Quote Post
Огурцов
сообщение Dec 3 2016, 00:07
Сообщение #8


Гуру
******

Группа: Участник
Сообщений: 3 928
Регистрация: 28-03-07
Из: РФ
Пользователь №: 26 588



ответ от st - текущая версия st-link не поддерживает цепочки
проверено, что старые камни не могут работать параллельно на один swd
зато новые (проверены нулевая и третья) серии отвечают адекватно
вот сможете ли вы написать правильный программатор ?

Цитата(KnightIgor @ Dec 2 2016, 21:57) *
все RESET кроме одного, держатся в нуле

т.е. вы думаете, что reset в нуле мешает шить по swd ?

Сообщение отредактировал Огурцов - Dec 3 2016, 00:08
Go to the top of the page
 
+Quote Post
ataradov
сообщение Dec 3 2016, 00:10
Сообщение #9


Профессионал
*****

Группа: Участник
Сообщений: 1 014
Регистрация: 8-01-07
Из: San Jose, CA
Пользователь №: 24 202



QUOTE (Огурцов @ Dec 2 2016, 17:07) *
т.е. вы думаете, что reset в нуле мешает шить по swd ?
Reset не влияет на SWD интерфейс, но он влияет на контроллер флеша и шину, так что прошить все-равно не получится. Но и SWD интерфейс Reset не сделает неактивным.
Go to the top of the page
 
+Quote Post
Огурцов
сообщение Dec 3 2016, 01:32
Сообщение #10


Гуру
******

Группа: Участник
Сообщений: 3 928
Регистрация: 28-03-07
Из: РФ
Пользователь №: 26 588



не, ну пусть же KnightIgor сам подумает
Go to the top of the page
 
+Quote Post
Alechek
сообщение Dec 3 2016, 07:17
Сообщение #11


Профессионал
*****

Группа: Свой
Сообщений: 1 241
Регистрация: 15-11-05
Из: Челябинск
Пользователь №: 10 882



Я так понимаю, нужно осуществить похожее:
http://forums.parallax.com/discussion/1612...-swd-programmer
Go to the top of the page
 
+Quote Post
ataradov
сообщение Dec 3 2016, 07:20
Сообщение #12


Профессионал
*****

Группа: Участник
Сообщений: 1 014
Регистрация: 8-01-07
Из: San Jose, CA
Пользователь №: 24 202



QUOTE (Alechek @ Dec 3 2016, 00:17) *
Я так понимаю, нужно осуществить похожее:
Но это все-равно 5 отдельных линий SWD. Такое легко сделать не заморачиваясь с пропеллерами.
Go to the top of the page
 
+Quote Post
Огурцов
сообщение Dec 3 2016, 09:27
Сообщение #13


Гуру
******

Группа: Участник
Сообщений: 3 928
Регистрация: 28-03-07
Из: РФ
Пользователь №: 26 588



старые f4 не шьются
новые, типа 469 или 769 не пробовал
Go to the top of the page
 
+Quote Post
KnightIgor
сообщение Dec 3 2016, 11:53
Сообщение #14


Знающий
****

Группа: Участник
Сообщений: 643
Регистрация: 29-05-09
Из: Германия
Пользователь №: 49 725



Цитата(Огурцов @ Dec 3 2016, 03:32) *
не, ну пусть же KnightIgor сам подумает

А че тут думать: не будет шить, и не шьет. Проверено. Прикол в том, что SWD не шьет сам, а пишет в RAM загрузчик, с которым и общается потом. Не знаю, как там в IAR и открытых системах, а под KEIL есть файлы алгоритмов прошивки для разных MCU и образчик, как свое написать. Я, например, с такого образчика написал загрузку User Page в EFM32G, которая не была в комплекте пакета KEIL. Однако Вы правы в том, что RESET не заставит SWDIO "поднять лапки".
Go to the top of the page
 
+Quote Post
AVR
сообщение Dec 3 2016, 13:01
Сообщение #15


фанат Linux'а
*****

Группа: Свой
Сообщений: 1 353
Регистрация: 23-10-05
Из: SPB.RU
Пользователь №: 10 008



Интересная тема от пользователя со статусом Профессионал sm.gif

Так делать не стоит. Я бы делал бутлоадер + максимально автоматизировал этот процесс.


--------------------
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 18th July 2025 - 11:57
Рейтинг@Mail.ru


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