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

AVStech

Участник
  • Публикаций

    59
  • Зарегистрирован

  • Посещение

Репутация

0 Обычный

Информация о AVStech

  • Звание
    Участник
  1. Прошивка STM32F7 через другой STM32F7 (UART)

    Спасибо огромное! Вот теперь всё более менее становится на свои места! СПАСИБО!!!
  2. Прошивка STM32F7 через другой STM32F7 (UART)

    Да однозначно RST подтяну к ведущему. IWDG также присутствует в некоторых модулях. Резюмируя, я так понимаю, что любые МК, например DSPIC33 в качестве субведомых (управляется ведомым) также можно шить по UART ведущим? Просто каскадный bootloadr? Я нашел кучу примеров Bootloader'ов для прошивки по вайфай, USB и SD и т.п. Но не нашел ни одного примера кода как один STM32 шьет другой STM32 тем более Атмегу. Если есть у кого пример - кусок кода или ссылка будут очень благодарен! Самое главное что я хотел этой веткой для себя решить - это наличие такой возможности. Соответсвенно она есть и теперь я могу двигаться дальше. Всем спасибо!
  3. Прошивка STM32F7 через другой STM32F7 (UART)

    Я так понимаю чтобы выполнить основной принцип IAP : Принцип из документа: "Когда происходит сброс (reset), счетчик программ настроен на выполнение драйвера IAP. Это должен быть компактный код, который проверяет конкретное условие, например, что комбинация клавиш нажата, или в моем случае сверяет версии прошивки. Когда стартовое условие выполняется, код драйвера IAP либо обновляет пользовательское приложение (прошивку) или запускает её." Правда в документе AN4657 указано, что прошивка качается на внутреннюю память камня, мне же желательно работа напрямую с карты памяти, так как если он сначала качнет, если вообще места хватит себе на внутренюю флеш прошивку, потом прошьется, потом проверит все ли норм и удалит старую. В принципе по данному алгоритму можно сделать собственный bootloader, который будет шить собственный камень. Но как это сделать для камня, который далеко от слота карты памяти ведущего, и у которого нет собственного накопителя, кроме флеша, который к тому же почти под завязку заполнен? Или я опять читаю одно, а понимаю все не верно?
  4. Прошивка STM32F7 через другой STM32F7 (UART)

    Bootloader'ы будут конечно собственные. Об этом писал в начале. Правильно ли я понимаю, что подключаю только UART между концентратором и ведомым и от концентратора GPIO к RST ведомого? Судя по всему буду читать книжки... Спасибо! Постараюсь также аккуратно ответить: - это реальное железо, пока в двух экземплярах. Также один ведомый модуль на STM32F7 сейчас в проработке, вот его даже на бумаге нет. В двух словах пользовательское устройство, где все 4 ведомых и концентратор на RTOS. Для понимания Концентратор выполняет еще некоторые вычисления кроме того, чтобы собирать пакеты и отправлять их в сеть. Более сказать не могу. - для каждого камня выведен отдельный разъем JTAG, в случае сбоя можно перепрошить через него. Сейчас так и делаем, прошиваем каждый модуль отдельно, что не удобно и не возможно для самостоятельной прошивки (обновления) пользователем. Поэтому продолжая Вашу мысль, сначала планируем отработать прошивку на двух эталонах, только после чего выкладывать обновление в сеть. Но если все же произошел сбой, то пользователю придется отправлять устройство изготовителю. Сейчас вообще любая прошивка возможна только изготовителем.
  5. Прошивка STM32F7 через другой STM32F7 (UART)

    Добрый! Был взят H2+ но не только в uart-ах была проблема. А в временном лаге между сигналом датчика и отображения данных на экране пользователя, а тауже температурных режимах. И мы не работали с камнем. Мы работали с модулем. А там их было 5 один ушел на дебаг второй на wifi. Соответственно одного не хватало. Сделали mux но это оказалось тупиков. При последующих опытах выяснили что приемлемый лаг получается с использование stm32f7, при условии загрузки до 70%. Как бы так себя правильно спозиционировать, чтобы было понятно мой уровень в программировании и не только. Скажу так, я не программист. Мой уровень в программировании ноль, а уровень общения с микроконтроллерами понять можно по количеству сообщений на форуме и вообще вопросах которые я задаю. Я больше инженер-конструктор, технолог, разрабатываю общую концепцию устройств, описываю алгоритмы динамики движения и управления различными машинами в математических формулах. В радиоэлектронике с 2014 года примерно. За 4 года успел освоить только Азы и освоить некоторую компонентную базу. Могу прочитать даташит сделать схему развести плату, спаять и собрать рабочее устройство, отладить его на физическом уровне с асцилографом и анализатором. Максимум могу написать ну очень простенькую программку, руководствуясь разными примерами, в том числе даташитом. Но в данный момент и текущего состояния проекта понимаю, что нужно самому входить в тему, хотя бы на том уровне на котором это необходимо. Уперся в вопрос который задал, потому что для меня это в новинку и подсказать мне не кому.
  6. Прошивка STM32F7 через другой STM32F7 (UART)

    Ну собственно другого ответа я и не ждал. Судя по вашему ответу вы не особенно то и вчитывались в проблему и вопросы. Мне сейчас не до учебников. Есть что предложить конкретно? Со схемой и кодом? Я даже заплатить готов, если цена и результат устроит обоих. За AN4657 правда спасибо, если не найду решения почитаю!
  7. Прошивка STM32F7 через другой STM32F7 (UART)

    Исчерпывающий ответ на мой вопрос :) Поправил. Спасибо!
  8. Прошивка AVR через STM32F7

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

    Добрый день! Повторюсь в этой ветке, так как в основном работа с 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 также) П.С. Если кто-то готов помочь, но нет времени я готов оплатить это время. Но вот только в бюджетах я ограничен. Если кому интересно пишите в личку, может договоримся. Спасибо.
  10. Прошивка AVR через STM32F7

    Добрый день! Возникла необходимость прошивки микроконтроллера Atmega328P другим микроконтроллером STM32F7 подключенный к нему через 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 и все прошивки скомпилированы в бин или хекс. Спасибо!
  11. Цитата(jcxz @ Jan 23 2018, 15:51) Я же ещё в 9-м сообщении писал: https://electronix.ru/forum/index.php?s=&am...t&p=1540142 На вашей схеме я бы добавил ещё конденсатор между затвором и истоком такой ёмкости, чтобы время зарядки его через R1 обеспечивало временное закрытие транзистора при появлении напряжения питания на некоторое время, достаточное для старта ПО в AVR. А то если AVR уже прошит, но стартует он ведь не мгновенно - пока ПО в нём стартанёт, на питании SOM получим кратковременное включение, а потом выключение (после старта AVR). Ок Спасибо!
  12. Цитата(aaarrr @ Jan 22 2018, 18:48) Правильно: МК не прошит, R1 обеспечивает высокий уровень на EN после подключения батареи. Спасибо!
  13. Цитата(jcxz @ Jan 11 2018, 14:58) Даже собственно джампер не нужен: вместо него - ключ, управляемый ногой от мелкого МК, и эта нога - подтянута к уровню включения ключа. Таким образом при первом включении в МК прошивки нет - нога управления в 3-м состоянии - ключ подаёт питание на SOM, который стартует через некоторую задержку после завершения импульса сброса от супервизора/WDT. SOM после старта проверяет наличие прошивки в МК и если нужно - шьёт его. Дальше ключом рулит уже МК. Питание на МК подаётся напрямую, мимо ключа. Никаких доп. разъёмов или манипуляций при изготовлении. И после первого включения питания МК будет прошит. Что-то я в ступоре. Вроде все понятно и не понятно ))) Мозги перегрелись, а куллера нет ))). Я не пойму, куда в таком случае мы подключаем кнопку включения устройства. Или в таком случае первое включение по подсоединению батареи? МК же не прошита все в Z... В общем на такой не сложной вещи уперся. Разъясните по подробнее. А лучше схематично. Буду очень рад!
  14. MicroSD длина дорожек (SDIO)

    Цитата(mantech @ Jan 21 2018, 09:59) Расскажите, если не секрет, что вы за картами такими пользуетесь, просто поднял свою статистику кучи устройств на сд-картах, ни в одном случае нет никаких специальных мер по питанию (ключи, фильтры и пр.) стоят только блокировочные конденсаторы и толстые короткие дорожки от ист. питания к холдеру, и за несколько лет работы и отладки, чтоб произошел сбой контроллера или что подобное из-за вставки\изъятия карты- ни разу! Устр-ва работают в 24 на 7. Питание, правда, стационарное, но суть не в этом, думаю.. Думаю как раз в этом. Я сейчас закончу отладку своего проекта и все подробно опишу. Плюс в моем случае длина дорожек от камня к слот карты 120 мм. Сейчас с отдельным питанием без танталовой емкости хоть стала определяться. Без емкости в режиме чтения/записи начинает "мерцать" карта извлечена/карта подключена. С емкостью будет по стабильнее я думаю. Цитата(aaarrr @ Jan 19 2018, 20:06) Pull-up на CD теряет всякий смысл, если подключать его к VDD_SD - как узнать состояние CD, когда питание снято? L9, L10 не нужны. Ёмкость C57 избыточна. Спасибо! L9 убрал пока. С57 - на первое время взял по максимуму, потом буду снижать! Pull-Up CD поставил до ключа.
  15. MicroSD длина дорожек (SDIO)

    Цитата(aaarrr @ Jan 14 2018, 16:44) Да, про разные вещи - я говорю о регулировке скорости нарастания сигналов, а не частоты. Если у SoM'а на выходе CLK не предусмотрен резистор, то он с большой вероятностью звенит жутко. Добрый вечер! Прошу уважаемых форумчан посмотреть схемку - нигде не накосячил? Спасибо!