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

adnega

Свой
  • Постов

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

  • Посещение

  • Победитель дней

    3

adnega стал победителем дня 1 декабря 2023

adnega имел наиболее популярный контент!

Репутация

11 Хороший

2 Подписчика

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

  • Звание
    Гуру
    Гуру
  • День рождения 01.05.1982

Контакты

  • Сайт
    Array
  • ICQ
    Array

Информация

  • Город
    Array

Посетители профиля

12 505 просмотров профиля
  1. Полностью согласен. ID и его администрирование дает очень много полезных возможностей. Нельзя к нему так упрощенно относиться. Это и адресация, и фильтрация, и приоритеты, и какие-то поля данных.
  2. Кста, я когда звук поверх CAN в низкоприоритетном потоке передавал сделал просто передачу четных и нечетных выборок в соседних пакетах. Т.е. при потере пакета просто полоса сигнала резалась. И, вроде, был у меня tog-бит в ID.. Но там можно было пакет потерять) И частота была небольшая, что несколько боксов с этим ID не забивались)
  3. В жизни ни у всех есть аппаратный FIFO. У многих это просто три коробки. При приеме пакета выставляется флаг. Далее в обработчике смотришь какая коробка заполнена и помещаешь содержимое в программный FIFO. Бывает, что заполнено сразу несколько коробок - и вот это не гарантирует порядок пакетов.
  4. Примет, разложит по mailbox`ам. Как узнать какой mailbox принят раньше?
  5. Что гарантирует прием в нужном порядке? Отправить не проблема.
  6. Лучше так не делать. Сам сталкиваюсь с тем, что при плотном потоке, даже если они все будут успешно отправлены в нормальном порядке, нет гарантий, что на приемной стороне этот порядок можно будет выстроить, т.к. они там тоже залетают в почтовые ящики) Можно часть ID выделить под счетчик (размером не менее числа mailbox на приемной стороне). Если протокол позволяет)
  7. Нужно понимать, что между событием и DMA-транзакцией для этого события проходит время. Насколько я помню, порядка 12 тактов (для Cortex-M3).
  8. Application Jump ch32v003

    Тогда подробности тут
  9. Application Jump ch32v003

    Насколько я помню, WCH-Link, даже получив команду частичного взаимодействия в памятью, все равно стирает всю. Т.е. по USB, по протоколу приходит описание региона (смещение и размер), но он эти данные игнорирует. По-моему, ответ: никак невозможно. Однако, что-то могло поменяться.
  10. Application Jump ch32v003

    WCH-Link не умеет стирать/дописывать частями. Всегда делает MassErase на любую просьбу.
  11. Application Jump ch32v003

    А внутри HF есть возможность получить значения регистров mepc, mcause, mtval ?
  12. Application Jump ch32v003

    По адресу 0x0 лежит не указатель на reset_handler, а инструкция j reset_handler - понимаете разницу? По адресу 0х4 нет ничего полезного. Не советую использовать адреса 0x800.. для адресации flash - попробуйте 0x000...
  13. Application Jump ch32v003

    А где метка _vector_base ? Попробуйте так: la t0, _start ori t0, t0, 3 csrw mtvec, t0
  14. Сделал загрузку конфигурационной SRAM по JTAG. С учетом данной ветки все прошло гладко. Хочу сделать красиво, но для этого нужен сигнал DONE, который живет своей жизнью (или я чего-то не понимаю). После импульса сброса на RECONFIG, получаю READY (через 741 мкс). Затем делаю IR(0x11) [запрос DEVICE_ID], следом IR(0x15) и после этой команды DONE взводится в единицу. Почему? Ожидаю, что он взведется после перехода в User Mode (как на Figure 4-1 Configuration Flow Power). Я правильно понимаю "when configuring SRAM using JTAG circuit, it does not need to take DONE signal into account" в моем случае "не требуется учитывать" означает "не стоит учитывать"?
×
×
  • Создать...