deppenkaiser

Members
  • Content Count

    63
  • Joined

  • Last visited

  • Days Won

    2

Everything posted by deppenkaiser

  1. @morsucci, uio-interrupt is working. I made an error in my pointer arithmetic.
  2. @deppenkaiser, you don't Need an other board, because uio-interrupt is working.
  3. @deppenkaiser, your macro to Access the Memory is wrong, if you would use the right macro, then your Offset calculation would work. @sbobrowicz: I found the error in my Offset calculation, thats could be also the reason for my uio issue! :-) I will tell you the results.
  4. Hello @sbobrowicz, 1. I got "Petalinux-Arty-Z7-20-2017.4-1.zip". 2. I fixed the incomplete archive with "vivado-library.zip". 3. I fixed the Vivado build Errors. 4. I created a Linux "Hello world"-App with SDK. 5. I created and configure a new petalinux project with the get-hw-description Option. 6. I build the petalinux image. 7. I saw no uio devices. 8. I added one uio device for the "axi_gpio_sw" device (with Interrupt). 9. I build a new petalinux image. 10. I saw one uio device with registered Interrupts in /proc/interrupts 11. I Changed the "Hello world"-App to read data from UIO with GPIO Channel 1. 12. I added the same code to read channel two but i used the correct Offset for channel two. #define GPIO_CHANNEL_1_DATA 0x00 #define GPIO_CHANNEL_1_DIRECTION 0x04 #define GPIO_CHANNEL_2_DATA 0x08 #define GPIO_CHANNEL_2_DIRECTION 0x0C 13. I saw no data changing even if i use the Switches. 14. I think that there are more Errors on the given Vivado design. Can you please check this? Why can i read data from channel one and not from channel two? Thank you....
  5. Hello, you know, that i try to use uio. And i still got no result. Therefor i try the next Vivado 2018.1 with the still not delivered petalinux. I created a new Project in Vivado 2018.1 and i tried to choose the Arty-Z7-20 board. But i can't select it; before i did it, i copied the digilent board files into the Xilinx Directory. When do you provide the new board files for Vivado 2018.1; i Need the Arty-Z7-20 :-) Thank you...
  6. Hello, finally i was able to make a petalinux build with the BSP 2017.4 - so far, so good. Then i find out, which uio device is connected with the Arty-Z7-20 Buttons and switches. Both - the Buttons and also the Switches - are connected to one GPIO-IP-Core (Dual-Channel, all inputs). One AXI-GPIO has one base address and a dual channel GPIO has even only one base address. So the only way to address both channels is to use the base address offset for channel one and for channel two, isn't it? If i read channel one - which is assigned to the Buttons - then i can read the Buttons. If i read the channel two (Switches) - one code line later - then i got no result. So my questions is: What must i do to read the Arty-Z7-20 Switches (petalinux, BSP 2017.4)? Thank you...
  7. @morsucci, i think that i have two ways to get a petalinux configuration. The first way is to extract the configuration from the BSP and the second way is to get it from the HDF (new configuration but suited to the design). You know, that i still have the uio issue. So the reason for the things i did - even this thread - is to get the "digilent" configuration from BSP which is able to support uio Interrupts; because you told me that they exist and work. In the Xilinx Forum i got some help but it won't help. The english Queen would say "I'am not amused." I have invested a lot of time... You put the current Arty-Z7-20 BSP on to the download page a few days ago. But it has build Errors and it is not complete because the ip-repo was not included. Now i see that the BSP isn't complete in a further way. So what must i do to get uio with Interrupt handling? Thank you...
  8. It seems that some "digilent-apps" are not available, isn't it? Summary: 3 tasks failed: /home/czymic/projects/2017.4/Arty-Z7-20/project-spec/meta-user/recipes-apps/digilent-apps/libuio/libuio.bb:do_fetch /home/czymic/projects/2017.4/Arty-Z7-20/project-spec/meta-user/recipes-apps/digilent-apps/libgpio/libgpio.bb:do_fetch /home/czymic/projects/2017.4/Arty-Z7-20/project-spec/meta-user/recipes-apps/digilent-apps/libpwm/libpwm.bb:do_fetch Summary: There were 6 ERROR messages shown, returning a non-zero exit code. ERROR: Failed to build project Do i need the apps and what are they good for? Thank you...
  9. Hello, i have some errors while building the 2017.4 BSP based petalinux image. czymic@ubuntu:~/projects/2017.4/Arty-Z7-20$ petalinux-build [INFO] building project [INFO] sourcing bitbake INFO: bitbake petalinux-user-image Parsing recipes: 100% |##########################################| Time: 0:01:30 Parsing of 2473 .bb files complete (0 cached, 2473 parsed). 3266 targets, 226 skipped, 0 masked, 0 errors. NOTE: Resolving any missing task queue dependencies Initialising tasks: 100% |#######################################| Time: 0:00:06 Checking sstate mirror object availability: 100% |###############| Time: 0:00:18 NOTE: Executing SetScene Tasks NOTE: Executing RunQueue Tasks ERROR: libuio-1.0-r0 do_fetch: Fetcher failure: Fetch command export DBUS_SESSION_BUS_ADDRESS="unix:abstract=/tmp/dbus-lkhXXEii1h"; export SSH_AUTH_SOCK="/run/user/1000/keyring/ssh"; export GIT_SSL_CAINFO="/home/czymic/petalinux/2017.4/components/yocto/source/arm/buildtools/sysroots/x86_64-petalinux-linux/etc/ssl/certs/ca-certificates.crt"; export PATH="/home/czymic/projects/2017.4/Arty-Z7-20/build/tmp/sysroots-uninative/x86_64-linux/usr/bin:/home/czymic/petalinux/2017.4/components/yocto/source/arm/layers/core/scripts:/home/czymic/projects/2017.4/Arty-Z7-20/build/tmp/sysroots/x86_64-linux/usr/bin/arm-xilinx-linux-gnueabi:/home/czymic/projects/2017.4/Arty-Z7-20/build/tmp/sysroots/plnx_arm/usr/bin/crossscripts:/home/czymic/projects/2017.4/Arty-Z7-20/build/tmp/sysroots/x86_64-linux/usr/sbin:/home/czymic/projects/2017.4/Arty-Z7-20/build/tmp/sysroots/x86_64-linux/usr/bin:/home/czymic/projects/2017.4/Arty-Z7-20/build/tmp/sysroots/x86_64-linux/sbin:/home/czymic/projects/2017.4/Arty-Z7-20/build/tmp/sysroots/x86_64-linux/bin:/home/czymic/petalinux/2017.4/components/yocto/source/arm/layers/core/scripts:/home/czymic/petalinux/2017.4/components/yocto/source/arm/layers/core/bitbake/bin:/home/czymic/petalinux/2017.4/components/yocto/source/arm/sysroots/x86_64-petalinux-linux/usr/bin:/home/czymic/petalinux/2017.4/components/yocto/source/arm/buildtools/sysroots/x86_64-petalinux-linux/usr/bin:/home/czymic/petalinux/2017.4/components/yocto/source/arm/tmp/sysroots/x86_64-linux/usr/bin:/home/czymic/petalinux/2017.4/components/yocto/source/arm/tmp/sysroots/x86_64-linux/usr/sbin:/home/czymic/petalinux/2017.4/components/yocto/source/arm/tmp/sysroots/x86_64-linux/bin:/home/czymic/petalinux/2017.4/components/yocto/source/arm/tmp/sysroots/x86_64-linux/sbin:/home/czymic/petalinux/2017.4/components/yocto/source/arm/tmp/sysroots/x86_64-linux/usr/bin/../x86_64-petalinux-linux/bin:/home/czymic/petalinux/2017.4/components/yocto/source/arm/tmp/sysroots/x86_64-linux/usr/bin/arm-xilinx-linux-gnueabi:/home/czymic/petalinux/2017.4/components/yocto/source/arm/tmp/sysroots/x86_64-linux/usr/bin/arm-xilinx-linux-uclibc:/home/czymic/petalinux/2017.4/components/yocto/source/arm/tmp/sysroots/x86_64-linux/usr/bin/arm-xilinx-linux-musl:/home/czymic/petalinux/2017.4/tools/common/petalinux/utils:/home/czymic/petalinux/2017.4/tools/linux-i386/petalinux/bin:/home/czymic/petalinux/2017.4/tools/linux-i386/petalinux/bin/unexport:/home/czymic/petalinux/2017.4/tools/hsm/bin:/home/czymic/petalinux/2017.4/tools/webtalk/bin:/home/czymic/petalinux/2017.4/tools/linux-i386/petalinux/bin:/home/czymic/petalinux/2017.4/tools/common/petalinux/bin:/home/czymic/petalinux/2017.4/tools/linux-i386/gcc-arm-none-eabi-r5/bin:/home/czymic/petalinux/2017.4/tools/linux-i386/microblaze-xilinx-elf/bin:/home/czymic/petalinux/2017.4/tools/linux-i386/microblazeel-xilinx-linux-gnu/bin:/home/czymic/petalinux/2017.4/tools/linux-i386/gcc-arm-none-eabi/bin:/home/czymic/petalinux/2017.4/tools/linux-i386/gcc-arm-linux-gnueabi/bin:/home/czymic/petalinux/2017.4/tools/linux-i386/aarch64-none-elf/bin:/home/czymic/petalinux/2017.4/tools/linux-i386/aarch64-linux-gnu/bin:/home/czymic/bin:/home/czymic/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin"; export HOME="/home/czymic"; git -c core.fsyncobjectfiles=0 ls-remote git://github.com/mitchellorsucci/libuio.git failed with exit code 128, output: fatal: unable to connect to github.com: github.com[0: 192.30.253.112]: errno=Connection refused github.com[1: 192.30.253.113]: errno=Connection refused ERROR: libuio-1.0-r0 do_fetch: Function failed: base_do_fetch ERROR: Logfile of failure stored in: /home/czymic/projects/2017.4/Arty-Z7-20/build/tmp/work/plnx_arm-xilinx-linux-gnueabi/libuio/1.0-r0/temp/log.do_fetch.48850 ERROR: Task (/home/czymic/projects/2017.4/Arty-Z7-20/project-spec/meta-user/recipes-apps/digilent-apps/libuio/libuio.bb:do_fetch) failed with exit code '1' ERROR: libgpio-1.0-r0 do_fetch: Fetcher failure: Fetch command export DBUS_SESSION_BUS_ADDRESS="unix:abstract=/tmp/dbus-lkhXXEii1h"; export SSH_AUTH_SOCK="/run/user/1000/keyring/ssh"; export GIT_SSL_CAINFO="/home/czymic/petalinux/2017.4/components/yocto/source/arm/buildtools/sysroots/x86_64-petalinux-linux/etc/ssl/certs/ca-certificates.crt"; export PATH="/home/czymic/projects/2017.4/Arty-Z7-20/build/tmp/sysroots-uninative/x86_64-linux/usr/bin:/home/czymic/petalinux/2017.4/components/yocto/source/arm/layers/core/scripts:/home/czymic/projects/2017.4/Arty-Z7-20/build/tmp/sysroots/x86_64-linux/usr/bin/arm-xilinx-linux-gnueabi:/home/czymic/projects/2017.4/Arty-Z7-20/build/tmp/sysroots/plnx_arm/usr/bin/crossscripts:/home/czymic/projects/2017.4/Arty-Z7-20/build/tmp/sysroots/x86_64-linux/usr/sbin:/home/czymic/projects/2017.4/Arty-Z7-20/build/tmp/sysroots/x86_64-linux/usr/bin:/home/czymic/projects/2017.4/Arty-Z7-20/build/tmp/sysroots/x86_64-linux/sbin:/home/czymic/projects/2017.4/Arty-Z7-20/build/tmp/sysroots/x86_64-linux/bin:/home/czymic/petalinux/2017.4/components/yocto/source/arm/layers/core/scripts:/home/czymic/petalinux/2017.4/components/yocto/source/arm/layers/core/bitbake/bin:/home/czymic/petalinux/2017.4/components/yocto/source/arm/sysroots/x86_64-petalinux-linux/usr/bin:/home/czymic/petalinux/2017.4/components/yocto/source/arm/buildtools/sysroots/x86_64-petalinux-linux/usr/bin:/home/czymic/petalinux/2017.4/components/yocto/source/arm/tmp/sysroots/x86_64-linux/usr/bin:/home/czymic/petalinux/2017.4/components/yocto/source/arm/tmp/sysroots/x86_64-linux/usr/sbin:/home/czymic/petalinux/2017.4/components/yocto/source/arm/tmp/sysroots/x86_64-linux/bin:/home/czymic/petalinux/2017.4/components/yocto/source/arm/tmp/sysroots/x86_64-linux/sbin:/home/czymic/petalinux/2017.4/components/yocto/source/arm/tmp/sysroots/x86_64-linux/usr/bin/../x86_64-petalinux-linux/bin:/home/czymic/petalinux/2017.4/components/yocto/source/arm/tmp/sysroots/x86_64-linux/usr/bin/arm-xilinx-linux-gnueabi:/home/czymic/petalinux/2017.4/components/yocto/source/arm/tmp/sysroots/x86_64-linux/usr/bin/arm-xilinx-linux-uclibc:/home/czymic/petalinux/2017.4/components/yocto/source/arm/tmp/sysroots/x86_64-linux/usr/bin/arm-xilinx-linux-musl:/home/czymic/petalinux/2017.4/tools/common/petalinux/utils:/home/czymic/petalinux/2017.4/tools/linux-i386/petalinux/bin:/home/czymic/petalinux/2017.4/tools/linux-i386/petalinux/bin/unexport:/home/czymic/petalinux/2017.4/tools/hsm/bin:/home/czymic/petalinux/2017.4/tools/webtalk/bin:/home/czymic/petalinux/2017.4/tools/linux-i386/petalinux/bin:/home/czymic/petalinux/2017.4/tools/common/petalinux/bin:/home/czymic/petalinux/2017.4/tools/linux-i386/gcc-arm-none-eabi-r5/bin:/home/czymic/petalinux/2017.4/tools/linux-i386/microblaze-xilinx-elf/bin:/home/czymic/petalinux/2017.4/tools/linux-i386/microblazeel-xilinx-linux-gnu/bin:/home/czymic/petalinux/2017.4/tools/linux-i386/gcc-arm-none-eabi/bin:/home/czymic/petalinux/2017.4/tools/linux-i386/gcc-arm-linux-gnueabi/bin:/home/czymic/petalinux/2017.4/tools/linux-i386/aarch64-none-elf/bin:/home/czymic/petalinux/2017.4/tools/linux-i386/aarch64-linux-gnu/bin:/home/czymic/bin:/home/czymic/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin"; export HOME="/home/czymic"; git -c core.fsyncobjectfiles=0 ls-remote git://github.com/mitchellorsucci/libgpio.git failed with exit code 128, output: fatal: unable to connect to github.com: github.com[0: 192.30.253.113]: errno=Connection refused github.com[1: 192.30.253.112]: errno=Connection refused ERROR: libgpio-1.0-r0 do_fetch: Function failed: base_do_fetch ERROR: Logfile of failure stored in: /home/czymic/projects/2017.4/Arty-Z7-20/build/tmp/work/plnx_arm-xilinx-linux-gnueabi/libgpio/1.0-r0/temp/log.do_fetch.48851 ERROR: Task (/home/czymic/projects/2017.4/Arty-Z7-20/project-spec/meta-user/recipes-apps/digilent-apps/libgpio/libgpio.bb:do_fetch) failed with exit code '1' ERROR: libpwm-1.0-r0 do_fetch: Fetcher failure: Fetch command export DBUS_SESSION_BUS_ADDRESS="unix:abstract=/tmp/dbus-lkhXXEii1h"; export SSH_AUTH_SOCK="/run/user/1000/keyring/ssh"; export GIT_SSL_CAINFO="/home/czymic/petalinux/2017.4/components/yocto/source/arm/buildtools/sysroots/x86_64-petalinux-linux/etc/ssl/certs/ca-certificates.crt"; export PATH="/home/czymic/projects/2017.4/Arty-Z7-20/build/tmp/sysroots-uninative/x86_64-linux/usr/bin:/home/czymic/petalinux/2017.4/components/yocto/source/arm/layers/core/scripts:/home/czymic/projects/2017.4/Arty-Z7-20/build/tmp/sysroots/x86_64-linux/usr/bin/arm-xilinx-linux-gnueabi:/home/czymic/projects/2017.4/Arty-Z7-20/build/tmp/sysroots/plnx_arm/usr/bin/crossscripts:/home/czymic/projects/2017.4/Arty-Z7-20/build/tmp/sysroots/x86_64-linux/usr/sbin:/home/czymic/projects/2017.4/Arty-Z7-20/build/tmp/sysroots/x86_64-linux/usr/bin:/home/czymic/projects/2017.4/Arty-Z7-20/build/tmp/sysroots/x86_64-linux/sbin:/home/czymic/projects/2017.4/Arty-Z7-20/build/tmp/sysroots/x86_64-linux/bin:/home/czymic/petalinux/2017.4/components/yocto/source/arm/layers/core/scripts:/home/czymic/petalinux/2017.4/components/yocto/source/arm/layers/core/bitbake/bin:/home/czymic/petalinux/2017.4/components/yocto/source/arm/sysroots/x86_64-petalinux-linux/usr/bin:/home/czymic/petalinux/2017.4/components/yocto/source/arm/buildtools/sysroots/x86_64-petalinux-linux/usr/bin:/home/czymic/petalinux/2017.4/components/yocto/source/arm/tmp/sysroots/x86_64-linux/usr/bin:/home/czymic/petalinux/2017.4/components/yocto/source/arm/tmp/sysroots/x86_64-linux/usr/sbin:/home/czymic/petalinux/2017.4/components/yocto/source/arm/tmp/sysroots/x86_64-linux/bin:/home/czymic/petalinux/2017.4/components/yocto/source/arm/tmp/sysroots/x86_64-linux/sbin:/home/czymic/petalinux/2017.4/components/yocto/source/arm/tmp/sysroots/x86_64-linux/usr/bin/../x86_64-petalinux-linux/bin:/home/czymic/petalinux/2017.4/components/yocto/source/arm/tmp/sysroots/x86_64-linux/usr/bin/arm-xilinx-linux-gnueabi:/home/czymic/petalinux/2017.4/components/yocto/source/arm/tmp/sysroots/x86_64-linux/usr/bin/arm-xilinx-linux-uclibc:/home/czymic/petalinux/2017.4/components/yocto/source/arm/tmp/sysroots/x86_64-linux/usr/bin/arm-xilinx-linux-musl:/home/czymic/petalinux/2017.4/tools/common/petalinux/utils:/home/czymic/petalinux/2017.4/tools/linux-i386/petalinux/bin:/home/czymic/petalinux/2017.4/tools/linux-i386/petalinux/bin/unexport:/home/czymic/petalinux/2017.4/tools/hsm/bin:/home/czymic/petalinux/2017.4/tools/webtalk/bin:/home/czymic/petalinux/2017.4/tools/linux-i386/petalinux/bin:/home/czymic/petalinux/2017.4/tools/common/petalinux/bin:/home/czymic/petalinux/2017.4/tools/linux-i386/gcc-arm-none-eabi-r5/bin:/home/czymic/petalinux/2017.4/tools/linux-i386/microblaze-xilinx-elf/bin:/home/czymic/petalinux/2017.4/tools/linux-i386/microblazeel-xilinx-linux-gnu/bin:/home/czymic/petalinux/2017.4/tools/linux-i386/gcc-arm-none-eabi/bin:/home/czymic/petalinux/2017.4/tools/linux-i386/gcc-arm-linux-gnueabi/bin:/home/czymic/petalinux/2017.4/tools/linux-i386/aarch64-none-elf/bin:/home/czymic/petalinux/2017.4/tools/linux-i386/aarch64-linux-gnu/bin:/home/czymic/bin:/home/czymic/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin"; export HOME="/home/czymic"; git -c core.fsyncobjectfiles=0 ls-remote git://github.com/mitchellorsucci/libpwm.git failed with exit code 128, output: fatal: unable to connect to github.com: github.com[0: 192.30.253.112]: errno=Connection refused github.com[1: 192.30.253.113]: errno=Connection refused ERROR: libpwm-1.0-r0 do_fetch: Function failed: base_do_fetch ERROR: Logfile of failure stored in: /home/czymic/projects/2017.4/Arty-Z7-20/build/tmp/work/plnx_arm-xilinx-linux-gnueabi/libpwm/1.0-r0/temp/log.do_fetch.52387 ERROR: Task (/home/czymic/projects/2017.4/Arty-Z7-20/project-spec/meta-user/recipes-apps/digilent-apps/libpwm/libpwm.bb:do_fetch) failed with exit code '1' NOTE: Tasks Summary: Attempted 1534 tasks of which 1513 didn't need to be rerun and 3 failed. Summary: 3 tasks failed: /home/czymic/projects/2017.4/Arty-Z7-20/project-spec/meta-user/recipes-apps/digilent-apps/libuio/libuio.bb:do_fetch /home/czymic/projects/2017.4/Arty-Z7-20/project-spec/meta-user/recipes-apps/digilent-apps/libgpio/libgpio.bb:do_fetch /home/czymic/projects/2017.4/Arty-Z7-20/project-spec/meta-user/recipes-apps/digilent-apps/libpwm/libpwm.bb:do_fetch Summary: There were 6 ERROR messages shown, returning a non-zero exit code. ERROR: Failed to build project ==================================================================================================================================================== What must i do, to be able to build the BSP based image with: petalinux-create -t project -s <Path to BSP> and petalinux-build Thank you...
  10. @jpeyron, FYI: The Vivado-Build still has some Errors which i have fixed. Now, I try to build the petalinux image which is derived from the given bsp. I will tell you the results later.
  11. @jpeyron, sorry, where is the download Content? I see only this: And here you can see my repo Folder: regards deppenkaiser
  12. @deppenkaiser, please look here: https://forums.xilinx.com/t5/Embedded-Linux/tcp-ip-select-does-not-work-on-petalinux-zynq/m-p/844172#M25229
  13. Hello, i was very happy, that i got the new 2017.4 Vivado design, but my happyness ends after five minutes. I have build Errors, can you please tell me what i have to do? Here is the screenshot: Thank you...
  14. @jpeyron, is the zedboard a product from digilent? Who is "AVNET"? You know my uio issue, i asked the same question on the Xilinx Forum. The answers i got say, that my Code is looking good, but there is one difference that i should check. I ask them what board they are using, and one of them told me, that he uses a zedboard. From my Point of view - at this Moment - the zedboard is the only board which Supports the needed funtionality. It is surely not the same if i use your BSP or if i use "petalinux-create" to create a defaults based configuration. But it can not be usefull if i'am not able to create an own design. The Slogan "Arty is for makers [...]" seems not to be true. I saw, that you creates a 2017.4 BSP. I will test it after the easter Holidays. For your info: I Need only four hours to create my Project, i guess that you Need only two hours. Why can't you proof the issue with your informations you have. You see, that i have all needed parts developed but the uio-interrupt functionality is not working. If something unknown is the reason and this could not be solved - what ever - then i would not put the blame on you. I only Need an answer, because i have limited time and limited resources and i trust your PR! Thank you...
  15. deppenkaiser

    Zedboard

    Hello, i have an other question: If i look in the Mouser electronic shop i see, that the zedboard is associated with digilent and you Show on https://store.digilentinc.com/zedboard-zynq-7000-arm-fpga-soc-development-board/ the board. Why do you have no support on https://reference.digilentinc.com/reference/software/petalinux/start for the zedboard? Thank you...
  16. Hello, i need urgently a Zynq board which is able to run petalinux; it must support tcp/ip-select and uio-interrupt. I do not know, which digilent board has the examples that include the needed funtionality. I would buy this board because i Need it for my Masterthesis! If you do not have such a board (with the right examples) then please tell me who such a board sells. Or, you give me please a very simple but complete project with only one gpio (Interrupt) that fits on the Arty-Z7-20 board including a petalinux image with the described functionality. My given time is limited and it is very important to me Thank you...
  17. Hello digilent, when do you update the Arty-Z7-20 examples and resources for this board? Could you please make at least two examples: One with Maximum Support of the given hw (all Features of Arty-Z7-20) and one Basic example which has the Chance two be compatible with future Vivado Versions? The Basic example should only be able to handle tcp/ip and uio, i would be very lucky. Thank you...
  18. Hello, i have a new created petalinux project for the zynq processor (Arty-Z7-20). I'am not using a digilent bsp file to configure the project, because i have a simple selfmade design and i like to start with a minimalistic Linux. I like to support Linux pthread and sockets, thats all. If i implement a tcp/ip Server and if i use the select Routine to wait for incomming data then the "select" Routine does not return, even if i receive data. In an other thread here in this Forum i discuss a similar issue. There i have a Problem with the "uio" Interrupt handling, because the blocking read does not return. So i think, that these two different issues have the same reason. My Linux image is not able to generate Events which can Trigger the "select" Statement. How can i enable the petalinux ability to handle "select"-commands? Thank you...
  19. Hello @morsucci, it does not help, because i mean that i do the same. So i try to write a bare metal Firmware for my design: #include <stdio.h> #include <stdbool.h> #include "platform.h" #include "xil_printf.h" #include "xil_exception.h" #include "sleep.h" #include "xparameters.h" #include "xgpio.h" #include "xscugic.h" XGpio gpio_rgb; XGpio gpio_sw; XScuGic gic; XScuGic_Config* pgiccfg = NULL; volatile bool g_bInterrupt = false; void IRQ_Handler(void* pData) { g_bInterrupt = true; XGpio_InterruptClear((XGpio*) pData, 0xFFFFFFFF); } int main() { if (XGpio_Initialize(&gpio_rgb, XPAR_AXI_GPIO_0_DEVICE_ID) == XST_SUCCESS) { if (XGpio_SelfTest(&gpio_rgb) == XST_SUCCESS) { XGpio_SetDataDirection(&gpio_rgb, 1, 0x00000000); for (int i = 0; i < 100; i++) { XGpio_DiscreteWrite(&gpio_rgb, 1, i); usleep(10000); } } } XGpio_DiscreteWrite(&gpio_rgb, 1, 0); if ((pgiccfg = XScuGic_LookupConfig(XPAR_PS7_SCUGIC_0_DEVICE_ID)) != NULL) { if (XScuGic_CfgInitialize(&gic, pgiccfg, pgiccfg->CpuBaseAddress) == XST_SUCCESS) { if (XScuGic_SelfTest(&gic) == XST_SUCCESS) { Xil_ExceptionInit(); Xil_ExceptionRegisterHandler(XIL_EXCEPTION_ID_INT, (Xil_ExceptionHandler) XScuGic_InterruptHandler, &gic); Xil_ExceptionEnable(); if (XScuGic_Connect(&gic, XPAR_FABRIC_AXI_GPIO_1_IP2INTC_IRPT_INTR, IRQ_Handler, &gpio_sw) == XST_SUCCESS) { XScuGic_SetPriorityTriggerType(&gic, XPAR_FABRIC_AXI_GPIO_1_IP2INTC_IRPT_INTR, 0, 3); XScuGic_Enable(&gic, XPAR_FABRIC_AXI_GPIO_1_IP2INTC_IRPT_INTR); if (XGpio_Initialize(&gpio_sw, XPAR_AXI_GPIO_1_DEVICE_ID) == XST_SUCCESS) { if (XGpio_SelfTest(&gpio_sw) == XST_SUCCESS) { XGpio_SetDataDirection(&gpio_sw, 1, 0xFFFFFFFF); XGpio_InterruptGlobalEnable(&gpio_sw); XGpio_InterruptEnable(&gpio_sw, 0x1); XGpio_InterruptClear(&gpio_sw, 0xFFFFFFFF); while (true) { usleep(1000); } } } } } } } return 0; } This Software is working, if i press the button i got the Interrupt and i can repeat it. Here you can see a new Version of my Linux code: SUIOAccess uio_sw = { 0 }; UIOAccess_Initialize(&uio_sw, 1, 0); MEMORY_ACCESS(uio_sw.base_addr, GPIO_CHANNEL_1_DIRECTION) = 0xFFFFFFFF; MEMORY_ACCESS(uio_sw.base_addr, GPIO_GLOBAL_IRQ_ENABLE) = 0x8000000; MEMORY_ACCESS(uio_sw.base_addr, GPIO_IRQ_ENABLE) = 0x00000001; MEMORY_ACCESS(uio_sw.base_addr, GPIO_IRQ_STATUS) = 0xFFFFFFFF; if (UIOAccess_ActivateInterrupt(&uio_sw)) { if (UIOAccess_WaitForInterrupt(&uio_sw)) { MEMORY_ACCESS(uio_sw.base_addr, GPIO_IRQ_STATUS) = 0xFFFFFFFF; } } UIOAccess_DeInitialize(&uio_sw); I learned, while i was implementing the bare metal Version, that i must clear the Interrupt even if no Interrupt has occured to propper initialize the gpio-interrupt. Now i transpose this into the Linux Version, but it didn't help. Now my concrete question: In the bare metal Version, i must configure the Interrupt Controller too. Is this in an Linux Environment even necessary? I run out of ideas, should i implement a stand alone Interrupt Controller (AXI-IP-Core, outside the Zynq) to handle Interrupts? Thank you...
  20. @morsucci here you can see a screenshot from /proc/Interrupts: My fault was to think that i can see this pseudo-file in an Editor, or i can check its size with the "ls"-command. Which entry Shows the uio Interrupts? Thank you...
  21. Hello, i have an issue with the uio Interrupt handling. An AXI-GPIO ip core with enabled interrupt is connected with the interrupt system of the Zynq on an Arty-Z7-20 board. With petalinux i created an minimalistic Linux image which is running on that design and gives the GPIO-HW an uio device. I can read and write data throu that GPIO-HW via the Linux uio device. Now i wish to use the Interrupt ability. I know that i must make a blocking read Operation on the uio device to wait for an incomming Interrupt. If i push the "make Interrupt"-Button, then i do not receive an Interrupt (blocking read does not return). The GPIO IP core was configured like on a bare metal System. The "proc/Interrupts" file is empty, so Linux detected no Interrupts. I think that i must configure petalinux (e.g. petalinux-config -c kernel) to process Interrupts with Linux but i do not know which part of the large configuration i should Change and in which way. So here my questions: 1. What are the needed petalinux config items and there values to enable the uio Interrupt handling on Linux (petalinux)? 2. Are there special c function calls to enable the Linux Interrupt ability? 3. Has anybody ever seen an uio interrupt handling application on a zynq and could you give me the example code? 4. Is there a digilent eval board with a demo app uses that Technologie? 5. What is the Price in US-$ to get that informations? Thank you...
  22. @morsucci the file "/proc/interrupts" is empty (size == 0). I had no interrupts after booting the Arty (including my interrupt). So it seems to be an "petalinux-config -c kernel"-issue... But, i do not understand why i have got "uio" devices, which are not fully configured? My next problem is to understand the dependencies between some kernel settings and the "uio" functionality. It's a bit funny, it is like buying a car but it has no engine - it needs a special order to get a car with engine. Do you know what i mean?
  23. @morsucci I do not understand the question "Where are you looking for the interrupts to be registered?". Do you mean, that i must Register an Interrupt (Interrupt-handler) first? I thought, that the universal "uio" device handles Interrupts without any Special Registration, you must only attach them to a address; the "uio" device configuration is the Registration, isn't it? I will examine the " /proc/interrupts" file and i will tell you later my results.
  24. Hello @morsucci, for your info: I tried the Vivado 2017.4 (with update to 2017.4.1) and the petalinux 2017.4 with a new Version of the same design and the same "uio" configuration. I got the same result: No Interrupt detected. regards Michael