Jump to content
    

AVI-crak

Участник
  • Posts

    346
  • Joined

  • Last visited

Reputation

1 Обычный

About AVI-crak

  • Rank
    Местный
    Местный

Контакты

  • Сайт
    Array

Recent Profile Visitors

2,584 profile views
  1. FMC имеет раздельные настройки для записи и чтения, а вот конкретно st7799 имеет время чтения 350nc - в 23 раза больше записи. И кажется не поддерживает автоадрес. То-есть читать рам память - это к огромным тормозам.
  2. У этой компании есть более современный чип CH347. Стоит дороговато, но зато очень быстрый. Программатор spi / i2c / jtag на нём тоже можно сделать. Например 25q64 зашивается за 36 секунд.
  3. STM32CubeIDE

    Эту функцию отладчика ещё не изобрели, хотя проблеме более 20 лет. И не только в IAR, но и во всех остальных IDE. Есть костыльные попытки с запретом прерываний, когда это выполняет скрипт в реальном времени. Но стабильность результата ниже уровня плинтуса. Это даже не проблема свистка, и не ide как таковой - проблема в физической реализации алгоритма на кристалле чипа. Там всё застыло на 30 лет с момента принятия промышленного стандарта, и теперь всем страшно его трогать - потому что сломается вообще все и сразу.
  4. От бесконечной рекурсии эта защита не работает.
  5. Не ожидал увидеть в таком виде, походу не то искал. Я-то думал там будет натурально последние 16 команд на асме, а там вообще всё. Прикольно, одобряем.
  6. Ну хорошо, а почему на ютюбе ноль роликов с демонстрацией сего действа. Насколько я понимаю - это не сложно, и даже не требуется реальная программная ошибка, достаточно нажать "стоп".
  7. Даже арбузы перед покупкой проверяют десятками способов. А тут ноль роликов на ютюбе с размоткой потока команд в обратную строну. Я реально хочу это увидеть, и не верю что на это способна отладка без полноценной трассировки.
  8. Итак, я успел просмотреть десяток роликов про трассировку с участием реального МК. Рекламных и обучающих роликов ещё больше, но если там нет доски - то ролик пропускается. Дык вот, каждый ролик демонстрирует как могло-бы работать, но не работает, потому что у нас нет отладчика за тысячу баксов. А те возможности что демонстрируется - доступны для меня на древней версии embitz, и относительно свежем stlink3. Чего я хочу увидеть - отмотку буфера операций ядра назад от точки сбоя.
  9. Неее, чтобы меня заинтересовать - нужен мешок плюшек. Или видеопрезентация реального захвата экрана компа во время трассировки МК, с простым и практичным закадровым голосом. Можно нарезку сделать, главное чтобы смысл не улетучивался. Вот с этим ETB в главной роли.
  10. То о чём говорится - требует jtag отладчика с реальными аппаратными линиями трассировки, через swd трассировка в реальном времени невозможна. GTAG + 16линий трассы + аппаратный полный usb3.1 + быстрая память на пару гиг ->>> имеет ценник выше 1к зелени. Предназначен для очень жирных фпга и мк. Программное обеспечение тоже имеет не гуманный ценник, и не продаётся в нашей стране. Кроме того, железяка в любой момент может превратиться в кирпич, если заокеанскому партнёру чего-то не понравится. Офлайн железка работать не умеет, и кстати не продаётся у нас. Свистоперделки с одной линией трассировки, не способны на трассировку в реальном времени даже на заниженной до 1МГц тактовой ядра мк. Оригинальный stlink3 - тоже не может, я проверял. Я не знаю других вариантов, но с удовольствием послушал-бы о них.
  11. stm32f4 spi dma cmsis

    Верно, кто раньше встал - того и тапки. Но есть тонкости, арбитраж шины происходит по приоритетам. Ядро может "выключить" поток дма, а дма уже нет. Более того, дма память-память в случае выигрыша - будет молотить до конца, остальные каналы будут в ожидании. Если в этот момент ядро обратится к памяти - сработает очередь. Просто для возникновения подобных условий нужно ооочень сильно постараться, ну прям совсем сильно. В простом коде подобные события огромная редкость, а если использовать хал - исчезающая редкость. Однако полностью исключать данный вариант сбоя - глупо. Тем-более что цена не высока, всего одна запись _VAL2FLD(DMA_SxCR_PL, 1) Тогда просветите плиз значение поля приоритета для дма. Чего это такое и зачем оно там вообще.
  12. stm32f4 spi dma cmsis

    Могут, в случае занятости системной шины данных на то самое "таки огромное время". Хотя точнее будет не параллельно, а одновременно, в момент освобождения системной шины данных, а там как повезёт.
  13. Линейные измерения точным инструментом, чем больше стадий перемаркиров - тем тоньше корпус. А вообще это была хохма, ну кроме цветной революции. ST сдвигает заказы на 2024 год всем подряд, ну и старые висят уже два года. Чем она кормится, мне лично не очень понятно.
  14. stm32f4 spi dma cmsis

    Пока в проекте используется всего два дма - проблем особых нету. Но если задействовать три и более - начинаются проблемы. Даже при использовании программной функции копирования могут быть проблемы, потому как ядро имеет приоритет выше дма. Приоритеты для дма работают весьма прикольно, они создают очередь для триггеров обмена, в данном случае от spi. На режим память-память - приоритеты ставить бесполезно. Если в проекте используется несколько периферийных узлов с одним регистром на чтение/запись - не обязательно строить лесенку из приоритетов, достаточно обеспечить разницу в пределах каждого узла. Чего произойдет при преждевременной записи раньше чтения данных от spi - потеря данных, и взведённый флаг ошибки.
  15. stm32f4 spi dma cmsis

    Отрезал нули - получилось красиво и компактно. Но изначальный полный длинный вариант нужно где-то сохранить, и использовать для копирования. Первоначально примеры были только на передачу, а сейчас ещё и чтение. Нулевой и пятый поток обращаются на один адрес периферии, в этом случае нужно использовать уровни (разные!!!) приоритета для дма. _VAL2FLD(DMA_SxCR_PL, 1)| /// priority level 0-3 Управление ногой перенести в прерывание дма на чтение, оно срабатывает самым последним. Если хочется чтоб всё было красиво - реализуй все прерывания ошибок: от дма, от spi. В нормальном режиме они даже срабатывать не будут, но явно спасут от зависаний. Есно нужна функция разгребания всех возможных ошибок, отдельная функция!!!!. Отладка подобных функций достаточно прикольное занятие, я использовал для этих целей напильник. Принудительно вносил помехи в линии передачи данных.
×
×
  • Create New...