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

GenaSPB

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

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

  • Посещение

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

    2

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


  1. А там вообoе EHCI обещали? Кроме того что я про UTMI написал, попробуйте держать / не держать под ресетом DRD На моей плате не очень удобно экспериментировать с конфигурацией "EHCI на USB0".
  2. Пока только второй. Первый вроде не обещали, хотя там тоже EHCI присутствует на + 0x1000 Интересующая вас часть тут https://github.com/ua1arn/hftrx/blob/1b8b72d2f055dd35d94f900b2df423ed09e1f76c/src/hal/ehci.c#L1186 Первый как будто до физики не может достучаться. Главное вот тут: USBx->USB_CTRL |= (0x01uL << 0); // 1: Enable UTMI interface, disable ULPI interface USBx->PHY_CTRL &= ~ (0x01uL << 3); // SIDDQ 0: Write 0 to enable phy
  3. Итак, удалось поднять EHCI контроллер. Стек от ST, EHCI от меня. Флешка: Телефон:
  4. Xfel это утилита виндовая. Писал не я. Работает с загрузчиком allwinner по usb. Репозиторий тут https://github.com/ua1arn/hftrx Бранч develop.
  5. Удивительно, но все что нужно было для запуска второго ядра нашлось в User Manual Тестовые файлы для mango-pi что на фото выше. Температура чипа при сильно загруженном одном ядре под 50 градусов, @1200 MHz app_run: $(PROJECT)_app.alw32 $(XFEL) ddr t113-s3 $(XFEL) write 0x40000000 $(PROJECT)_app.alw32 $(XFEL) exec 0x40000100 flash: $(XFEL) spinor write 0x00000000 fsbl.alw32 $(XFEL) spinor write 0x00040000 ddr3init.bin $(XFEL) spinor write 0x00080000 $(PROJECT)_app.alw32 allwinner_t113_s3_mq-r-test.zip allwnr_t113s3.h
  6. Загрузчик из QSPI я писал свой. DDR3 инитит 24-х килобайтный кусок бинарника от всемирного разума (требуется разбирательство). Все в github где и STM32MP1 (один проект на все).
  7. Начал готовить запуск на голом железе Allwinner T113-S3 НА данный момент удалось из даташита сделать вот такой CMSIS header allwnr_t113s3.h system_allwnr_t113s3.h
  8. В "C" программах не нужен
  9. Какое питание по даташиту? Не 1.8 вольт?
  10. Линейка в которой есть TAS5719 Может оно?
  11. Электронщику (мне например) вполне хватает win10 и всяких-разных USB переходников, на FT232 или самодельные с STM32. например я сделал программатор SPI FLASH который прикидывается DFU устройством. Правда чаще эти проблемы решал с помощью ALtera Byte Blaster. Кажется современные SEGGER JLINK умеют SPI/I2C, WAVESHARE адаптеры тоже... Platform Cable USB, Загрузочный кабель для внутрисхемного конфигурирования и программирования всех устройств Xilinx, Waveshare | купить в розницу и оптом (chipdip.ru)
  12. Предположим что Вам удалось добраться регистров EHCI. Если интересующий Вас порт подключен к контроллеру напрямую, а не через HUB - искать в описании EHCI, есть или нет такая опция по установке тестовых состояний. Считывать скорее всего можно. Enhanced Host Controller Interface - OSDev Wiki Port Test Control, Line Status
  13. Ознакомьтесь с https://community.st.com/s/question/0D50X0000BOtfhnSQB/how-to-make-ethernet-and-lwip-working-on-stm32 Мне помогло.
  14. А вот так... https://github.com/torvalds/linux/blob/4b0986a3613c92f4ec1bdc7f60ec66fea135991f/drivers/gpu/drm/bridge/tc358768.c#L758 т.е. именно тут бред и получается (такты с наносекундами спутал автор).
  15. Есть у кого-нибудь опыт запуска Toshiba TC358768 под linux или bare metal? Имеющиеся драйверы вносят странные искажения в растр (сдвиг, при подборе параметров искажения цвета), не дающие нормально использовать. Анализ показал что некоторые регистры программируются на совсем странные значения. Интересует пример куска dts и исправления в драйвере.... И вообще, удалось ли кому победить...
  16. Про питание я как пример привел. Это может быть и клок и gpio и что угодно... Сравнивайте. Брем JMEM и смотрим состояние регистров периферии в рабочем и не очень состоянии, сравниваем... много думам.
  17. С STM32H7 каким-то у меня была история... после программирования по DFU USB работало... После сброса кнопкой - работало. Выкл-вкл питания - перестает. Выяснилось, в инициализации USB авторы кубы забыли тогда включить один из внутренних LDO отвечающих за работу USB порта.
  18. Не забыть про ожидание окончания передачи данных на ILI9341 перед убиранием чипселекта и перед сменой состояния сигнала control/data.
  19. Динамического изменения набора дескрипторов в USB не предусмотрено. Разве что через имитацию реконнекта вашего устройства. Заодно предлагаю подумать, что будет с данными если в момент когда пришла команда на изменение набора дескрипторов идет работа с MSC.
  20. Я в описанных случаях могу посоветовать ПЕРЕД чтением по DMA делать CleanInvalidate нужной области (или Invalidate если нет пересечений с чем-то еще) Перед записью (когда периферия будет использовать буфер) после формирования данных - Clean. Invalidate - если нет пересечений с другими буферами и хотите оптимизировать скорость (т.е. если потом чтений процессор не будет выполнять из этой области). Есть еще экзотические случаи - например проверяем статусы буферов EHCI - проверили и сделали invalidate - чтобы потом новое содержимое флагов иметь возможность проверить. Для ясности могу посоветовать использовать CMSIS библиотеку - её функции Лежит тут: https://github.com/ua1arn/hftrx/blob/08911deb021d612b234b6a691a83de508a137adc/src/hardware.c#L2018 Из любопытства спрошу - что за процессор, от граф сопроцессора которого нашли описание?
  21. Есть даже не только двухпроцесслрне но и более. Как пнимер stm32mp1. Я запускал corteх a7 ядра этого процессора. Да память общая. Упрощённо каждый процессор может узнать какой он номер и в зависимости от этого делается ветвление.
  22. Да один нужен, не два. Два в процессоре, на плате прототипа один. Или ловушка чтобы отказаться от приёма работы. Типа было написано два а сделали один.
  23. При отсутствии исходника тяжело телепатия проходит... Могу предположить, что выше первого варианта у Вас еще есть код. А по стандарту языка С, переменные могут быть объявлены только в начале блока.
×
×
  • Создать...