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

Dvorkin

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

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

  • Посещение

Репутация

1 Обычный

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

  • Звание
    Участник
    Участник

Контакты

  • ICQ
    Array

Информация

  • Город
    Array

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

1 677 просмотров профиля
  1. Зачем вы на каждой итерации проверяете флаг? Быстрее будет if(Flag_3x3) {for() }
  2. На сайте https://elixir.bootlin.com/linux/v4.14/source выбираете версию ядра и ищете timeval (в поле поиска Search Identifier). Или открываете файл mxc.c и, кликнув по #include "time.h", медитируете до просветления.
  3. Ну, если за год никто не предложил разумного решения - значит, задача чрезвычайно трудна, нельзя было оставить без ответа 😀
  4. Здесь или goto или ввести булевский флаг выхода из цикла: bool fl_exit=false; for(int i=0; (i<N) && !fl_exit; i++) {switch(i) {case 0: break; case 1: break; case 10: fl_exit=true; break; }//switch }//for
  5. Да книжек-то много, кому какая нравится... Посмотри в истории браузера, за месяц история ссылок должна же остаться.
  6. Модули и так грузятся вместе с ядром, т.к. они часть ядра. А скрипты /etc/rcS уже потом. Вроде в /lib/modules есть modules.order, он и определяет порядок загрузки модулей. Но в разных ОС может быть по-другому, конечно.
  7. Можно писать в fifo, а под screen в именованной сессии (screen -mdUS my_log) запустить скрипт, который печатает прочитанное из fifo, что-то наподобие: tail < fifo Тогда, переключившись в эту сессию (screen -rdU my_log), можно читать ваш лог.
  8. Да, в Zynq нет ресурсов, а драйвер на компе должен же знать.
  9. В device tree описываются устройства, которые обслуживают драйвера ОС. И неважно, где эти устройства, ведь у каждого есть адрес и прочие ресурсы.
  10. Так я не делал, ничего сказать не могу. Xilinx SDK генерил не совсем правильно dt, а с деревом от petalinux проблем никогда не было.
  11. device tree чем генерирован? В нем address-cells=3, а reg явно формата address-cells=1. То же и к прерываниям относится, и номера прерываний странные - с 1 по 4. petalinux, например, device-tree правильно делает обычно.
  12. В таких случаях лучше использовать Userspace I/O (uio). Описываете устройство в дереве устройств: my_dev0: @43C40000 { compatible = "generic-uio","uio"; reg = <0x43C40000 0x1000>; }; Оно отображается в sysfs: > ls /sys/class/uio uio0 uio1 uio2 uio3 uio4 uio5 Найти его можно по имени: > cat /sys/class/uio/uio4/name my_dev Открываете /dev/uio4 один раз, ожидание прерывания в read(). Подробнее в https://www.kernel.org/doc/html/v4.12/driver-api/uio-howto.html#waiting-for-interrupts Надо включить в bootargs строку uio_pdrv_genirq.of_id=generic-uio
  13. Данные в ПЛИС не надо накапливать, передавайте их по мере поступления. Принятые 64-битные слова пишутся в FIFO, если в FIFO есть данные, то TVALID=1, можно передавать по DMA.
  14. Есть вектор, все работает. Может, файл у вас не .cpp а .c?
  15. Для petalinux 2020.1 применял такой патч ядра (project-spec/meta-user/recipes-kernel/linux/linux-xlnx/xilinx_uartps_patch.patch): Ну, и надо включить патч в project-spec/meta-user/recipes-kernel/linux/linux-xlnx_%.bbappend: SRC_URI_append += " file://xilinx_uartps_patch.patch"
×
×
  • Создать...