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

GenaSPB

Участник
  • Постов

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

  • Посещение

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

    2

Весь контент GenaSPB


  1. STM32MP1 - bare metal

    написано же... 128 килобайт. А про зависимость от размера был тест ранее, результаты выше - Да, после 64 кБ не сильно влияет. upd: в режиме софтового опроса: USB FLASH: Write speed 5622 kB/S HDD: Write speed 20097 kB/S (через USB -> SATA переходник, напомню)
  2. STM32MP1 - bare metal

    Да у меня тоже можно в опросе проверять. Чаще всего оде несколько ускоряет - так как всё это изначально под super loop предназначено.
  3. STM32MP1 - bare metal

    Я тольуо запись тестирую - 128k block writes через FatFS
  4. STM32MP1 - bare metal

    И как неплохой результат: LUN #0: Inquiry Vendor : Hitachi Inquiry Product : HTS542512K9SA00 Inquiry Version : MSC Device ready MSC Device capacity : 117220824 KBytes Block number : 234441648 Block Size : 512 Это устройство даёт не менее 4 бегабайт в секунду на EHCI.
  5. STM32MP1 - bare metal

    USBCMD, биты 23:16 - "interrupt treshold control" upd: убрал у всех элементов ASYNC флаг EHCI_CHR_HEAD - стало 3.7 мегабайта в секунду... Уже чувствуется USB HS
  6. STM32MP1 - bare metal

    Изменив параметр "частота прерываний от контроллера" 8 на 1 - для получения прерывания по окончании обмена - получил вместо 400 килобайт скорость 2.5 мегабайта в секунду на USB FLASH. SATA HDD чуть позже.
  7. STM32MP1 - bare metal

    Напомню - вот результаты моих тестов того же фреймворка, но на USB_OTG. Никаких потоков, просто суперцикл. Это Middleware от ST. Получить бы такую же скорость и можно считать повезло.
  8. STM32MP1 - bare metal

    Разобрался... Надо не мешать самому EHCI toggle выполнять. В пределах каждого ендпоинта. Последовательность обеспечивает ST Middleware. Первая попытка - получилась скорость записи на флешку около 400 килобайт в секунду. Осталось раз в дсять ускорить.
  9. STM32MP1 - bare metal

    Уточняю вопрос... ПРоисходит вот что: посде енумерации и выбора конфигурации в USB FLASH накопитель через BULK OUT endpoint идет первый INQUIRY запрос... Судя по статусу успешно. Но последующее чтение из IN endpoint не дожидается ответа. Вчитавшись в документацию, увидел рекомендацию HIGH SPEED OUT запросы предварять PING. Соответствующий флаг middleware даёт. Вопрос - EHCI transfer descriptor имеет флаг включения PING протокола - иадо ли разбивать такой обмен на два transfer descriptor - один без данных и с флагом PING и второй обычный OUT - или контроллер сам обрабатывает такое - и достаточно в OUT выставить соответствющий бит? Старз скажу - мне не помог второй вариант получить ответ от USB FLASH...
  10. STM32MP1 - bare metal

    Интерфейс используется на один канал OTH_HS - потому это оттестировать удалось ранее.. Я вот уткнулся в то что транзакция IN по не контрол EP не стартует... OUT нормально. Енумерация по EP0 в лёт идет... Могу предоставить дамп - содержимое единственного элемента очереди асинхронных транзакций.
  11. STM32MP1 - bare metal

    bare-metal обслуживание USB HOST на EHCI начало подавать признаки жизни... В составе ST USB HOST Middleware. Помогла дока от ColdFire с примерами дескрипторов для EHCI. И недавняя поездка к коллеге у которого есть LeCroy с блоком анализа USB сигналов. Дальше уже на более высоком уровне решать проблемы придется. А то в течении долгого времени получал после некоторых своих действий остановку передачи SOF пакетов. Сделал диагностическое USB device на это состояние и за день всё заработало. Так что обслуживание USB FLASH в составе Аиста скоро уже...
  12. Не в курсе... хрустального шара нет.
  13. Нашелся проект... https://github.com/mori-br/STM32F4HUB Не проверял.
  14. Аналог - NFM? Цифра - QAM? В этих случаях требования к линейности разные. КПД разное. Запас по мощности == компоненты разные.
  15. Не? DRA818V.pdf И еще всякие сборки от этого же произволителя
  16. Надеюсь, смещением битов перед передачей Вы в программе не занимаетесь? В регистр данных должны попадать значения сэмплов как они есть.
  17. В CMSIS давно куски есть... Попробуйте взять за основу: __STATIC_FORCEINLINE uint64_t __SMLSLD (uint32_t op1, uint32_t op2, uint64_t acc) { union llreg_u{ uint32_t w32[2]; uint64_t w64; } llr; llr.w64 = acc; #ifndef __ARMEB__ /* Little endian */ __ASM volatile ("smlsld %0, %1, %2, %3" : "=r" (llr.w32[0]), "=r" (llr.w32[1]): "r" (op1), "r" (op2) , "0" (llr.w32[0]), "1" (llr.w32[1]) ); #else /* Big endian */ __ASM volatile ("smlsld %0, %1, %2, %3" : "=r" (llr.w32[1]), "=r" (llr.w32[0]): "r" (op1), "r" (op2) , "0" (llr.w32[1]), "1" (llr.w32[0]) ); #endif return(llr.w64); }
  18. stm32f103c8

    У Вас будет миллион раз прерывание... или десяток тысяч. Про номер прерыванмя читайте даташит. Вы собираетесь обрабатывать PA1 а упоминаете 9..5
  19. stm32f103c8

    Ограничьте ток через светодиод... Что ещё за причирны выхода из строя беспокоят? Кнопки (контакты) имеют "дребезг". Заводить на прерывание плохая идея.
  20. В паузах для а-лав гонится спец код который по таблице в "-1" преобразуется. Мю-лав - другой код.
  21. 1) design rules? там не заданы умолчания? 2) проблемные цепи с атрибутом Clearence?
  22. Не только. Можно и из массива загрузить. static void devcfg_write(void) { // About format see // PG374 (v1.0) June 3, 2020 // pg374-dfx-controller.pdf // Transfer the data. const uint_fast32_t dma_flags = 0x01; size_t nwords; const uint32_t * const p = getbitimage(& nwords); ASSERT((((uintptr_t) p) % 4) == 0); XDCFG->DMA_SRC_ADDR = (uintptr_t) p | dma_flags; XDCFG->DMA_DST_ADDR = 0xFFFFFFFF; XDCFG->DMA_SRC_LEN = nwords; XDCFG->DMA_DST_LEN = 0; while((XDCFG->INT_STS & XDCFG_INT_STS_DMA_DONE_INT) == 0) ; XDCFG->INT_STS = XDCFG_INT_STS_DMA_DONE_INT; // Clear DMA_DONE status }
  23. Обратите внимание на этот дефайн в конфигурации #define FF_LBA64 1 /* This option switches support for 64-bit LBA. (0:Disable or 1:Enable) / To enable the 64-bit LBA, also exFAT needs to be enabled. (FF_FS_EXFAT == 1) */
  24. Тот самый Cortex-A7 dual core на 800 МГц. Пока вроде лежит https://www.chipdip.ru/product/stm32mp153fab1 - и не имеет тенденции исчезать вроде.
×
×
  • Создать...