Как проверить, работают прерывания или нет? ⇐ Linux
-
Anonymous
Как проверить, работают прерывания или нет?
Я загрузил Linux на свою плату ZYNQ 7000 (AVNET) через Jtag, tftpboot. Далее выполнил загрузку из QSPI.
Целью этого проекта является передача данных между PS и PL через DMA. Я выполнил проект с помощью VIVADO и использовал Petalinux для загрузки Linux на плату. Теперь я хочу написать тестовый код, чтобы проверить, работает ли функция передачи данных или нет. Когда я запустил свой код, он зависает «ищет прерывание». Поэтому я хочу проверить, работают мои прерывания или нет. Итак, я попробовал команду cat/proc/interrupts в терминале своей платы и получил от 30 до 38 номеров прерываний следующим образом (пример показан ниже только для 30)
30: 0 0 GIC-0 46 уровень f8003000.dma.controller
Мой файл system-user.dtsi находится ниже:
/include/ "system-conf.dtsi" / { выбранный { bootargs = "earlycon clk_ignore_unused uio_pdrv_genirq.of_id=generic-uio rootwait quiet loglevel=0"; stdout-path = "serial0:115200n8"; }; }; &axi_dma_0 { совместимый = "generic-uio"; прерывание-родитель = ; прерывания = ; }; &qspi { #адрес-ячейки = ; #размер-ячейки = ; flash0: flash@0 { совместимый = "n25q512a", "micron,m25p80", "jedec,spi-nor"; spi-max-частота = ; рег = ; #адрес-ячейки = ; #размер-ячейки = ; }; }; Вопрос в том, могу ли я по выводам команды cat /proc/interrupts сделать вывод, что мои прерывания работают?
Я загрузил Linux на свою плату ZYNQ 7000 (AVNET) через Jtag, tftpboot. Далее выполнил загрузку из QSPI.
Целью этого проекта является передача данных между PS и PL через DMA. Я выполнил проект с помощью VIVADO и использовал Petalinux для загрузки Linux на плату. Теперь я хочу написать тестовый код, чтобы проверить, работает ли функция передачи данных или нет. Когда я запустил свой код, он зависает «ищет прерывание». Поэтому я хочу проверить, работают мои прерывания или нет. Итак, я попробовал команду cat/proc/interrupts в терминале своей платы и получил от 30 до 38 номеров прерываний следующим образом (пример показан ниже только для 30)
30: 0 0 GIC-0 46 уровень f8003000.dma.controller
Мой файл system-user.dtsi находится ниже:
/include/ "system-conf.dtsi" / { выбранный { bootargs = "earlycon clk_ignore_unused uio_pdrv_genirq.of_id=generic-uio rootwait quiet loglevel=0"; stdout-path = "serial0:115200n8"; }; }; &axi_dma_0 { совместимый = "generic-uio"; прерывание-родитель = ; прерывания = ; }; &qspi { #адрес-ячейки = ; #размер-ячейки = ; flash0: flash@0 { совместимый = "n25q512a", "micron,m25p80", "jedec,spi-nor"; spi-max-частота = ; рег = ; #адрес-ячейки = ; #размер-ячейки = ; }; }; Вопрос в том, могу ли я по выводам команды cat /proc/interrupts сделать вывод, что мои прерывания работают?
Мобильная версия