- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi
We are using cyclon V on DE1_SoC board to write a interrupt handling module. We used the demo from Cornell's web site (http://people.ece.cornell.edu/land/courses/ece5760/de1_soc/hps_peripherials/index.html), where they provide a SD card image named DE1-SoC-UP-Linux.img. The demo works well but we met problems as follows: (1)We compiled this demo with Altera's latest linux kernel, and the resulted interrupt module can be inserted into linux kernel, but it can NOT receive any interrupt. The result is shown as:
root@socfpga:~/interrupt# cat /proc/interrupts
CPU0 CPU1
16: 0 0 GIC-0 199 Level timer
17: 5221 5137 GIC-0 29 Level twd
22: 0 0 GIC-0 136 Level ffe01000.dma
23: 0 0 GIC-0 207 Level ff706000.fpgamgr
24: 208 0 GIC-0 194 Level serial
32: 0 0 GIC-0 190 Level ffc04000.i2c
33: 0 0 GIC-0 191 Level ffc05000.i2c
36: 5777 0 GIC-0 171 Level dw-mci
37: 45 0 GIC-0 160 Level ffb40000.usb, ffb40000.usb, dwc2_hsotg:usb1
38: 11 0 GIC-0 152 Level eth0
73: 0 0 gpio-dwapb 3 Edge pb_handler
IPI0: 0 0 CPU wakeup interrupts
IPI1: 0 0 Timer broadcast interrupts
IPI2: 572 1145 Rescheduling interrupts
IPI3: 2 1 Function call interrupts
IPI4: 0 0 CPU stop interrupts
IPI5: 0 0 IRQ work interrupts
IPI6: 0 0 completion interrupts
Err: 0
And with the demo SD card, the result is
CPU0 CPU1
16: 0 0 GIC-0 199 Level timer
17: 53664 52132 GIC-0 29 Level twd
22: 0 0 GIC-0 136 Level ffe01000.dma
23: 0 0 GIC-0 207 Level ff706000.fpgamgr
24: 1022 0 GIC-0 194 Level serial
32: 0 0 GIC-0 190 Level ffc04000.i2c
33: 0 0 GIC-0 191 Level ffc05000.i2c
36: 25382 0 GIC-0 171 Level dw-mci
37: 45 0 GIC-0 160 Level ffb40000.usb, ffb40000.usb, dwc2_hsotg:usb1
38: 302 0 GIC-0 152 Level eth0
73: 0 0 gpio-dwapb 3 Edge pb_handler
IPI0: 0 0 CPU wakeup interrupts
IPI1: 0 0 Timer broadcast interrupts
IPI2: 395 27078 Rescheduling interrupts
IPI3: 1 3 Function call interrupts
IPI4: 0 0 CPU stop interrupts
IPI5: 0 0 IRQ work interrupts
IPI6: 0 0 completion interrupts
It can be found that the interrupt controller is different, and a controller named "gpio-dwapb" is used in my project. Is it the reason it not work? And how to fix this problem? How to assign the correct interrupt controller, for example the GIC. (2)I have repalced the .dtb and .rbf files in the demo SD card with mine, it still works well. The kernel file in this demo SD card is uImage, I transform my zImage to uImage with command mkimage -A arm -O Linux -T kernel -C none -a 0x00008000 -e 0x00008000 -n "Linux kernel Image by embedclub" -d zImage uImage After replacing with my uImage, the system can' not boot up, why? Thanks.
Link Copied
1 Reply
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello,
I'm having the same issue with 4.14 kernel.
I'm using an IP block on FPGA registered on interrupt n°73 and a Userspace driver as interface.
If I type "cat /proc/interrupts" it returns
.. ... ... ..... .... .....
73: xxx 0 gpio-dwapb 3 Edge "my_uio_driver "
.. ... ... ..... .... .....
with xxx different from 0, but blocked.
I also try to make an IP which rise an interrupt (on 73) periodically but the number of interrupt is still blocked to initial value different from 0.
Have you find a solution?
Thanks in advance,
Simone
Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page