• Content count

  • Joined

  • Last visited

  1. Hi @izumitomonori, I have a single component(IP) with two interfaces (both memory mapped). I just wanted to know ho to register both interfaces in the kernel code of the driver. Regards, Mihai
  2. Hi @izumitomonori I use Petalinux 2015.4 in ubuntu 16.04. One more question is that i have two interfaces in my hardware IP (one lite and one full, both memory mapped) and at probe function call i see just one conversion (phisical to virtual adresses) is shown. To see the other conversion i think that i have to add something in my probe function written in driver code, but i do not know how to get along with the other conversion. Please some advices. Regards, Mihai
  3. Hi, Can someone point to me please where can i find a tutorial/explanations how to use an IP core (in vivado) that interrupts the PS in a bare-metal application ? Until now i just created an IP for which I enabled "Interrupt suport"(created another interface for my block - S_AXI_INTR). By default, there is a timer(4 bits) which interrupts ARM in 10 steps. I followed this thread but is for microblaze and uses a axi interrupt controller. I want to link directly to PS because i have no other interrupts in the system. Regards, Mihai
  4. Hi @izumitomonori I did the same thing as you but i still can not see /dev/uio0. After insmod i see that the probe function is called. [ 221.213493] <1>Hello module world. [ 221.216827] <1>Module parameters were (0xdeadbeef) and "default" [ 221.223040] driver-mihai 43c00000.accHW: Device Tree Probing [ 221.228672] driver-mihai 43c00000.accHW: no IRQ found [ 221.233652] driver-mihai 43c00000.accHW: driver-mihai at 0x43c00000 mapped to 0xe09a0000 Are there another changes that you have done besides bootargs = "console=ttyPS0,115200 earlyprintk uio_pdrv_genirq.of_id=generic-uio" in ./subsystems/linux/configs/device-tree/system-conf.dtsi or other file? Regards, Mihai
  5. Hi, I installed also petalinux 2015.4 (beside 2017.2) in the scope of solveing my problem, but without success. I want to integrate a kernel driver into petalinux rootfs to comunicate with an PL block which has 2 interfaces (lite interface and full interface - both memory mapped). When i created the module into petalinux, i let the code as it was generated..just i overwrote the ".compatible" section with the comptabile section from pl.dtsi(in my case <xlnx,accHW-1.0>) At insmod it doesn't output both conversions (phisical to virtual adresses). It shows just the conversion for the lite interface (0x43c0 0000 to 0xe09a 0000). root@Avnet-Digilent-ZedBoard-2015_4:/lib/modules/4.0.0-xilinx/extra# insmod driv er-mihai.ko [ 95.237408] <1>Hello module world. [ 95.240737] <1>Module parameters were (0xdeadbeef) and "default" [ 95.246938] driver-mihai 43c00000.accHW: Device Tree Probing [ 95.252540] driver-mihai 43c00000.accHW: no IRQ found [ 95.257580] driver-mihai 43c00000.accHW: driver-mihai at 0x43c00000 mapped to 0xe09a0000 What i have to change in driver code to see both conversions ? Or where can i see them ?
  6. Hi, I want to activate the UIO framework in my kernel image, created through Petalinux 2017.2. I run mihai@mihai-ThinkStation-P310:~/userDriver/user-driver$ petalinux-config -c kernel but i cannot find the "Userspace I/O drivers" in my config window(pic). I try to follow this tutorial to configure a user space driver for my PL part on zedboard because i could not find an answer for this Other advices are welcome. It is already supported for petalinux 2017.2 or i have to activate from another place ?
  7. Hi, I'm trying to install a module driver in my petalinux rootfs for using on zedboard. I configured an IP core for PL, which has two AXI memory mapped ports (pic1). Now, for using my driver which is responsible for communications with my IP core, i need to know the conversions from phisical addresses to virtual addresses made by kernel. At installation i see just one conversion (S00 is Lite and S01 is Full) : root@avnet-digilent-zedboard-2017_2:/lib/modules/4.9.0-xilinx-v2017.2/extra# insmod driver-mihaiv1.ko [ 1324.279333] <1>Hello module world. [ 1324.282663] <1>Module parameters were (0xdeadbeef) and "default" [ 1324.289030] driver-mihaiv1 43c00000.accHW: Device Tree Probing [ 1324.294839] driver-mihaiv1 43c00000.accHW: no IRQ found [ 1324.299993] driver-mihaiv1 43c00000.accHW: driver-mihaiv1 at 0x43c00000 mapped to 0xe09c0000 In pics you can see the phisical adresses for my IP core. As i see, just the first phisical adress has a virtual conversion <0x43c00000 to 0xe09c0000>. Has anyone met this problem?
  8. Hi @jpeyron Meanwhile i solved my problem. The problem was that through a windows machine i tried to partition my sdcard into 2 partitions (boot + rootfs), but it partitioned into 4 partitions, from which 2 sub partitions(my desired partitions). Trying to boot from the first partition which was a ext4 type rised this error. Thanks, Mihai
  9. Hi, I solved my problem. According to this thread if you want to include an app or a module in your petalinux rootfs you have to write the name of the app/module with lower case letters. That worked for me. The apps will be put in rootfs in /usr/bin and not in /bin directly as it is for older petalinux versions (i use 2017.2). Also, the modules are already installed in kernel (you can see that the "probe" function is called at kernel initialization). Thanks, Mihai
  10. Hi, I followed UG981 for instalation of a new app in petalinux system. My problem is that i can not find a newer version for this guide. I'm using Petalinux 2017.2 and this guide dates from 3 June 2014. It seems that the structure of a petalinux project has changed alot. I created an app and called it "helloMihai". It seems that my app was created in this path "/project-spec/meta-user/recipes-apps/". This guide says that i should get a path like "<project-root>/components/apps/myapp". mihai@mihai-ThinkStation-P310:~/FPGA/accelerator$ find . -iname "helloMihai" ./build/tmp/sysroots/plnx_arm/sysroot-providers/helloMihai ./build/tmp/sysroots/plnx_arm/pkgdata/helloMihai ./build/tmp/sysroots/plnx_arm/pkgdata/runtime-reverse/helloMihai ./build/tmp/sysroots/plnx_arm/pkgdata/runtime/helloMihai ./build/tmp/deploy/licenses/helloMihai ./build/tmp/stamps/cortexa9hf-neon-xilinx-linux-gnueabi/helloMihai ./build/tmp/work/cortexa9hf-neon-xilinx-linux-gnueabi/helloMihai ./project-spec/meta-user/recipes-apps/helloMihai The real problem is that when i try to build and include my app in root file system, i get an error... mihai@mihai-ThinkStation-P310:~/FPGA/accelerator$ petalinux-build -c rootfs/helloMihai [INFO] building rootfs/helloMihai [INFO] sourcing bitbake INFO: bitbake rootfs/helloMihai Loading cache: 100% |############################################| Time: 0:00:00 Loaded 3235 entries from dependency cache. Parsing recipes: 100% |##########################################| Time: 0:00:01 Parsing of 2447 .bb files complete (2411 cached, 36 parsed). 3237 targets, 224 skipped, 0 masked, 0 errors. ERROR: Nothing PROVIDES 'rootfs/helloMihai'. Close matches: helloMihai Summary: There was 1 ERROR message shown, returning a non-zero exit code. ERROR: Failed to build rootfs/helloMihai Can someone help me with this issue ?
  11. Hi, I try to use petalinux 2017.2 to create a linux kernel for running on zedboard. I copied all the files from <petalinux_project_created>/images/linux$ and also <petalinux_project_created>/pre-built/linux/images$ into a fat32 partion on sdcard. At power on, I expected to get automatically into bootloader and just to run the command "run bootcmd" to get into linux OS, but it doesn't. I dowloded the bitstream and the u-boot.elf to get there. In this way i get into the u-boot but i get a strange error ... Zynq> run bootcmd Device: sdhci@e0100000 Manufacturer ID: 74 OEM: 4a60 Name: USD Tran Speed: 50000000 Rd Block Len: 512 SD version 3.0 High Capacity: Yes Capacity: 7.5 GiB Bus Width: 4-bit Erase Group Size: 512 Bytes ** Invalid partition 1 ** I have 2 partions on my sdcard (BOOT - 450MB - FAT32 and ROOTFS-7GB-ext4). Did anyone meet this error? Thanks, Mihai
  12. Hi, I have come to the end of my patience and i quit virtualBox configuration and i installed Ubuntu in dual boot. After instalation of vivado 2017.2 i just installed the drivers for usb cables. It works without problems. So, i don't know if my VM was bad but i suggest to everyone who get stucked in this issue to switch quickly to a "fizical" approach. You just have to run the commands that @jpeyron mentioned in this thread. cd /opt/Xilinx/Vivado/2016.4/data/xicom/cable_drivers/lin64/install_script/install_drivers/ sudo ./install_drivers Mihai
  13. Erata: I saw that has appeared now the "solved" button. Thanks. Mihai
  14. @JColvin @artvvb Thank you for your responses. In the case of finding the answer by myself, i cannot "vote up" my answer. Neither i can find a "solved" button in the header of the thread. Thanks, Mihai
  15. Hi, I saw here that after the build process i need to get a /tftpboot directory from where i can get the kernel image, rootfile system and dtb file. I use PetaLinux 2017.2 (last version). I also config petalinux to copy final images to tftpboot(pic). It is possible to have been changed the build petalinux structure on last version ? I also run for this folder but i could not find it. sudo find / -type d -iname "tftpboot" Any idea? Regards, Mihai