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

gk2

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

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

  • Посещение

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


  1. https://hackaday.io/project/364-mipi-dsi-display-shieldhdmi-adapter#menu-description
  2. Правильно 3 : FTDI FT2232H к которой подсоединена какая-то EEPROM EEPROM проще зашить отдельно. Вот содержимое: https://electronix.ru/forum/applications/core/interface/file/attachment.php?id=103248 Но можно и : FT_Prog-om конфигурируется ft2232h xml файл https://electronix.ru/forum/applications/core/interface/file/attachment.php?id=103249 Затем запускается FTDI_User_Area_Writer.exe , он переписывает 14 байт. Подробности в темах по ссылкам из предыдущего поста.
  3. https://github.com/enjoy-digital/litex Генератор SOC на Питоне. Несколько видов процессоров LM32, Mor1kx, PicoRV32, VexRiscv, Minerva Контроллер DRAM SDR, DDR, DDR2,3,4 и прочее На VexRiscv запустили Linux https://github.com/litex-hub/linux-on-litex-vexriscv Сгенерированные ядра VexRiscv https://github.com/m-labs/VexRiscv-verilog Да собственно несложно и самому сгенерить - есть демки и какое-то описание https://github.com/SpinalHDL/VexRiscv Пользовался сам VexRiscv small and productive.
  4. http://we.easyelectronics.ru/scaldov/prili...mini-stm32.html
  5. В 3.6 было здесь: /usr/local/latticemicosystem/3.6_x64/lm/micosystem/components/lm8/rtl/
  6. Вот рабочий xml файл и прошивка. У Вас серийный номер другой, похоже такой не понимается софтом. Остальные отличия не существены Да, еще надо поставить плагин для Digilent, он идет вместе с ISE, версия 2.44 Плагин 2.52 с сайта не работает (пишет что устройство занято) Для Lattice - EEPROM отключать не надо, все работает и так: шил XP2-5, XP2-17 (Diamond 3.6 под win и linux) 93c66.txt jtag_hs2_2232h.xml
  7. Да нет, прошивка обычная, ничего дополнительного
  8. Здесь есть пример https://github.com/m-labs/milkymist/blob/ma...andby/standby.v По таймеру (`define AUTO_ON) или по нажатию кнопки грузится основная прошивка ( в зависимости от другой кнопки базовая или rescue) из параллельной флэш. Делал подобное для V5 но тоже с параллельной флэш.
  9. Обновленная версия проекта для s3e-sk. Добавлены тестбенчи для моделирования. Процессор LM32 полностью синтезируется из исходников и работает для Spartan 3, 3E, Virtex 5. Раньше из-за ошибки в xst не работал кэш. Для Sprtan 6 и далее это поправили, а для старых чипов нет. Пришлось править исходник. С появлением FPGA со встроеными ARM-ядрами софтпроцессоры, наверное, утрачивают актуальность, но вдруг кому-то будет интересно. Есть еще порты для Altera DE1 (Cyclone 2) и Genesis 2 (Virtex 5) S3E_SK_201114.7z
  10. Для LM32 есть собранные toolchain -ы - для linux, например, http://www.rtems.org/ftp/pub/rtems/linux/4.11/ - там вроде есть и для Win но не пробовал, как-то заморочено устанавливать. LM32 поддерживает "Custom Instruction" . Проект с использованием LM32 на Spartan 6 https://github.com/m-labs/milkymist используют, правда, свою правленую версию https://github.com/m-labs/lm32
  11. https://github.com/milkymist/lm32 К lm32 приделали MMU, NetBSD на версии с MMU https://ssl.serverraum.org/lists-archive/de...ber/003455.html А Linux да, без MMU и им особенно никто не занимается. Я как-то запускал на старых версиях милкимиста - ну да, ядро грузилось А еще lm32 поддерживается в QEMU, там есть эмулятор Milkymist.
  12. На lm32 в проекте Milkymist портирована RTEMS, есть Linux( в каком состоянии -не знаю), запустили NetBSD
  13. На Diamond бесплатная, на год, после окончания запрашиваете и шлют снова на год. Бесплатная правда не на все семейства Lattice. А на Mico 32 лицензия не нужна. Если будете разбираться с LM32 то здесь http://electronix.ru/forum/index.php?showtopic=96942 есть проект где он используется, приспособленный к Xilinx
  14. Вот проект на котором пробовал этот контроллер. Плата Spartan-3E Starter Kit HW-SPAR3E-SK с подпаяным SD разъемом. Процессор - софтпроцессор Lattice LM8, lm8_prg.s - программа на ассемблере LM8 (Он несложный, разобраться с последовательностью команд можно.) Она инициализирует карту и читает 0 сектор выводя отладочные данные в COM порт. Вот проверил сейчас с картой 512 МБ term.txt - результат работы. SDHC под рукой нет, но инициализацию она тоже проходила, чтение не пробовал. По записи, к сожалению, примеров нет, все это было 2 года назад и частично потерялось. sd_clk - программируется, и может быть не больше чем половина вишбона SD спецификация - файл Simplified_Physical_Layer_Spec-1.pdf в документации к исходникам контроллера И да, тетрады поменяны при записи данных. Три-стейт -если речь идет об sd_dat то надо, посмотрите в моем примере lm8m_sd2.7z
  15. После CMD8 надо ACMD41 и только потом CMD2 . Инициализация проводится на частоте идущей на карту 100 - 400 КГц Посмотрите SD спецификацию (она идет с исходниками контроллера) там есть рисунки диаграм инициализации. Речь идет об этом контроллере ? http://opencores.org/project,sdcard_mass_storage_controller Если используется вариант 8-битный, то там есть ошибочка - при записи перепутаны тетрады в байте а в остальном работает.
  16. Выкладывал здесь порт milkymist на Spartan 3e, посмотрите, там физический уровень попроще, http://electronix.ru/forum/index.php?act=a...st&id=63054 http://electronix.ru/forum/index.php?showt...mp;hl=milkymist
  17. Оказывается схему USB2 jtag адаптера Lattice давно уже выложила. http://www.latticesemi.com/documents/an8082.pdf
  18. Минимальная частота DDR памяти 80 МГц, на 100 МГц работают ВСЕ микросхемы DDR. Минимальная частота DDR2 памяти 125 МГц.
  19. WARNING:Xst:2183 - Unit ........ - это он ругается на эти строки: D <= SPI_DO when PORT_57_RDSTB = '1' else "ZZZZZZZZ"; D(1 downto 0) <= "00" when PORT_77_RDSTB = '1' else "ZZ"; Получается что D(1) и D(0) разных источников соединены по 3-ему состоянию. Если записать так: D(7 downto 2) <= SPI_DO(7 downto 2) when PORT_57_RDSTB = '1' else "ZZZZZZ"; D(1 downto 0) <= SPI_DO(1 downto 0) when PORT_57_RDSTB = '1' else "00" when PORT_77_RDSTB = '1' else "ZZ"; то получится мультиплексор и на выходе буфер с 3 состояниями и синтезатор сообщений не выдает. Ограничения по пинам - все могут быть всем(в других семействах Xilinx по другому), клок- желательно подавать на выделенные клоковые входы, сброс и разрешение выходов тоже; если нет - будут гораздо худшие параметры быстодействия В UCF - файле можно писать проще: NET "A<6>" LOC = "44"
  20. Разводится в Xilinx ISE 13.3 нормально только надо немного поправить(файл приложен). И потом XC9572 - это 5-вольтовые мс. В новых проектах лучше использовать XC9572XL- они сильно дешевле и 3.3в, как и EPM3064 PhoenixSD.vhd
  21. Если Вы использовали в WebPake готовый проект из папки ise124, то он собирается правильно. Для программирования flash-памяти я использовал также COM - порт. Ускорить можно используя usb - com ft232rl подцепив на штырьки, но больше 500 кбит сбоил. Можно ускорить записывая по частям, там 3 фрагмента. Но вообщем это надо нечасто, поэтому сильно не занимался. Примеры: ex.7z Чтобы его собрать, надо сначала скомпилировать БИОС - запустиь скрипт build_bios.sh из корневого каталога проекта - будут созданы необходимые библиотеки. Затем распаковать пример в папку software, зайти в папку ex и запустить make. В результате получится boot.bin он пишет в терминале ====== TEST ======. Он собственно готовый там есть, его можно сразу загружать. fileio.7z - это пример из RTEMS. Он будет компилиться если установлена RTEMS. Ну и boot.bin в этом каталоге это готовый пример, его можно загружать. ex.7z fileio.7z
  22. А какой компилятор Вы используете ? Используете RTEMS ? В понедельник выложу примеры
×
×
  • Создать...