Jump to content

    

sonycman

Свой
  • Content Count

    1872
  • Joined

  • Last visited

Everything posted by sonycman


  1. А вот этой книги до сих пор нигде не скачать: RTL Modeling with SystemVerilog for Simulation and Synthesis: Using SystemVerilog for ASIC and FPGA Design
  2. Статья с ошибками. Например: Это не так.
  3. Простой проект на Zynq7007S, собирается и работает, но фиттер сыпет сотнями предупреждений вида: [Designutils 20-3303] unexpected site type 'IOPAD' in HDPYFinalizeIO В 2018.2 всё нормально. Радует, что починили SDK, теперь нормально работает без постоянных падений. Ещё поражает тормознутость и вообще какая-то монструозность вивады, не всегда срабатывают клики мышкой на панели I/O Ports, любит крашится раз-другой за день без каких-либо сообщений, и это при работе с простым проектом начального уровня! Неужели ей 16 гигабайт памяти и 8 ядерного процессора мало? Или просто немеряно индусского тормозного говнокода без какой-либо оптимизации? Ещё странный какой-то Constraints Wizard - упорно не даёт возможности создать необходимый Generated Clock, создал ручками через Edit Timings Constraints, после чего на вкладке Set Output Delays всё равно не даёт выбрать этот клок, как будто его и нету вовсе. Понравился встроенный текстовый редактор с работающей в реальном времени проверкой синтаксиса, но вот Code Completion упорно не работает, хотя включен в настройках :(
  4. Внешний вид, тормоза - это ещё куда ни шло, но вот когда оно у вас откровенно глючить начнёт, падать и отваливаться - тогда самая веселуха начинается. Добро пожаловать в вивадо 2018.2 :(
  5. SDK постоянно падает без всяких ошибок, работать невозможно. На форуме Xilinx тема с тремя страницами, решения так и нет :( Откатился на 2017.4 - проблемы нет.
  6. Приветствую. Интересует, есть ли разница по нагреву чипа между двухъядерными и одноядерными цинками? Корпус маленький, CLG225. Судя по даташиту разницы по потреблению тока нет, значит, чип будет такой же горячий, как сковородка, одно ядро ARM там или два - без разницы? Может, кому то доводилось сравнивать на практике?
  7. Спасибо! То есть до 50 градусов кристалл не нагревается? Но там крупный чип, а на ArduZynq поменьше, и плата меньше - греться будет, вероятно, сильнее. Рука держит, как я понимаю, где-то до 65 градусов - дальше уже обжигает. И у меня на DE10-Nano Cyclone V SoC греется здорово - даже на холостом ходу, без прошивки кристалл очень теплый, а под линуксом палец уже не держит долго. Да, по поводу одноядерных цинков заметно по даташиту, что они не отличаются по статическому потреблению, кристаллы одинаковые с двухъядерными. Жаль. Вот и думаю - если запустить процессор на минимальной частоте, мегагерц 100-200, с небольшим использованием логики FPGA, может нагрев не превысит 50 градусов?
  8. Ну кто-нибудь, скажите - как нагреваются маленькие цинки (7010 и меньшие)? На холостом ходу, без прошивки - тоже греются сильно? Думаю вот - в маленький непроветриваемый корпус можно установить ZYNQ-7007S без вентилятора, при условии незначительной нагрузки на процессор? Платка типа ArduZynq: PS: может, тему стоит перенести в раздел SoPC?
  9. Кодranges = <0x00000001 0x00020000 0xff220000 0x00000008>, <0x00000001 0x00030000 0xff230000 0x00000100>, <0x00000001 0x00001000 0xff201000 0x00000008>, <0x00000001 0x00005000 0xff205000 0x00000010>, <0x00000001 0x00004000 0xff204000 0x00000010>, <0x00000001 0x00003000 0xff203000 0x00000010>; <0x00000001 0x00010000 0xff210000 0x00000080>; Бросается в глаза точка с запятой в конце предпоследней строки. Наверное, надо исправить на запятую.
  10. Цитата(chirik @ Oct 23 2017, 17:48) То правильно ли я понимаю, что даже если я сделаю свои .dtb их нельзя будет использовать под более свежие версии линукса? Думаю, что неправильно понимаете. Новые версии линукса, как правило, совместимы с софтом, написанным под старые версии. Тем более это должно относится к файлам Device Three. Это, в конце концов, простые текстовые описания, без указания версии ядра.
  11. Мне удобнее всего ручками править .dts файл, добавляя в него нужную периферию. Несложный и хорошо читаемый синтаксис, к примеру: Код            i2c_fpga: i2c_fpga@0x100000000 {                 compatible = "mycore,i2c-master-0.1";                 reg = <0x00000001 0x00000000 0x00000010>;                 interrupt-parent = <&hps_0_arm_gic_0>;                 interrupts = <0 40 4>;                 clocks = <&clk_0>;                 speed-mode = <100000>;             }; в отличие от нечитаемых .xml
  12. Что касается включения мостов ПЛИС, у меня плата DE10-Nano, использую такой u-boot.script: Кодecho Programming FPGA... fatload mmc 0:1 $fpgadata soc_system.rbf; fpga load 0 $fpgadata $filesize; run bridge_enable_handoff; echo Setting Env Variables... setenv fdtimage soc_system.dtb; setenv mmcroot /dev/mmcblk0p2; setenv mmcload 'mmc rescan;${mmcloadcmd} mmc 0:${mmcloadpart} ${loadaddr} ${bootimage};${mmcloadcmd} mmc 0:${mmcloadpart} ${fdtaddr} ${fdtimage};'; setenv mmcboot 'setenv bootargs console=ttyS0,115200 root=${mmcroot} rw rootfstype=ext4 rootwait; bootz ${loadaddr} - ${fdtaddr}'; echo Loading Kernel... #run mmcload; #run mmcboot; U-boot собирал по инструкции Embedded Linux Beginners Guide, раздел Configure and Compile U-Boot. По этому гайду собрал полностью подсистему линукс и работает она без проблем, по крайней мере для моих нужд на данный момент. Мосты активны, sys/class/fpga_bridge/br->state->enabled (ядро 4.1).
  13. Цитата(chirik @ Oct 20 2017, 15:23) но я начинаю думать на socfpga.dtb... Просто возьмите файл .dtb с исправно загружающегося образа SD, для проверки.
  14. Цитата(chirik @ Oct 20 2017, 13:51) Не, с той же SD картой. Тогда смотрите, что изменилось. Под юбутом проверьте область памяти, откуда запускается ядро линукса - точно там лежит файл zImage, или нет? Используйте образ, который исправно грузится прелоадером на epcs. Прогоните тест памяти, могут быть сбои если неправильно настроены параметры в проекте.
  15. Цитата(chirik @ Oct 20 2017, 13:22) Интересно, а почему когда MSEL стояли на загрузку из EPCS, то ядро линукса начинало грузиться? Это когда совсем без SD карты? Значит, в EPCS лежат правильные образы ядра и т.п., а на SD карте у вас что-то не так.
  16. Цитата(RadiatoR @ Oct 20 2017, 09:47) В настройках hps 54 и 53 пины настроены как gpio. Собственно это в голд референсе было изначально. Это дело прошивается в плис, соответственно настраиваются тамошние свзяи (или не настраиваются?). Далее я запускаю baremetal приложение (SD карта вообще не вставлена). Код загружается в 64кб RAM и стартует оттуда. Там уже сбрасывается ресет с гпио и инициализируется ножка на выход. Получается прелоадера нет никакого, т.к. нет сд карты. Я сегодня попробую перенастроить ножку кнопки на выход, ее включить и посмотреть что у нее там будет. Мало ли чего могло произойти с ногой светика, хотя вряд ли. Ну я так и понял, что вы занимаетесь ерундой. Без прелоадера ничего у вас нормально работать не будет.
  17. А что у вас в настройках HPS в квартусе? Нужные пины GPIO настроены верно? Я же выше говорил уже про это: ЦитатаК примеру, пины GPIO настраиваются в свойствах HPS на вкладке Peripheral Pins. Затем генерируете прелоадер с настройками своей системы, и он проведет необходимую низкоуровневую настройку - pinmux, reset manager и т.п. Вы как свое приложение запускаете вообще?
  18. Тогда надо разбираться, почему отсутствует нужная сигнатура в памяти по адресу загрузки образа ядра.
  19. Проверьте, почему образ zimage побился. Вы используете уже готовые файлы прелоадера, юбута и линукса или собирали сами?
  20. Сорри, вы же про включение моста... Приведите полностью текущий скрипт u-boot.scr Судя по логу, прошивка ПЛИС загружается нормально, вот в этом месте: Кодreading soc_system.rbf 7007204 bytes read in 331 ms (20.2 MiB/s) ## Starting application at 0x3FF79584 ... ## Application terminated, rc = 0x0 Если пины bootsel выставлены правильно на загрузку с SD карты, то флеш epcs не должна считываться никоим образом.
  21. Настроить пины надо будет всё равно: Код    // Setup GPIOs     // Reset GPIO module     alt_gpio_init();     ALT_GPIO_CONFIG_RECORD_t gpio_init_pins[] =     {         // HPS_LED         { ALT_GPIO_1BIT_53, ALT_GPIO_PIN_OUTPUT, ALT_GPIO_PIN_LEVEL_TRIG_INT, ALT_GPIO_PIN_ACTIVE_LOW, ALT_GPIO_PIN_NODEBOUNCE, ALT_GPIO_PIN_DATAZERO },         // HPS_KEY         { ALT_GPIO_1BIT_54, ALT_GPIO_PIN_INPUT, ALT_GPIO_PIN_LEVEL_TRIG_INT, ALT_GPIO_PIN_ACTIVE_LOW, ALT_GPIO_PIN_DEBOUNCE, ALT_GPIO_PIN_DATAZERO }     };     status = alt_gpio_group_config(gpio_init_pins, ARRAY_COUNT(gpio_init_pins));     assert(status == ALT_E_SUCCESS); И затем уже можно будет изменять значение на пине функцией alt_gpio_port_data_write
  22. Что значит "в fpga прошивка по умолчанию"? Сгенерируйте свою прошивку и положите её на карту памяти под именем soc_system.rbf, затерев таким образом оригинальную. Скрипт uboot изменять не нужно.
  23. Можно отбросить Yocto и попробовать Buildroot. Я делал сборку по этому гайду. Плата тоже DE10-Nano. Проблем особых не было.
  24. Попробуйте выполнить на хосте: Код$ sudo apt-get install gawk wget git-core diffstat unzip texinfo gcc-multilib \      build-essential chrpath socat cpio python python3 python3-pip python3-pexpect \      xz-utils debianutils iputils-ping Required Packages for the Host Development System