22:00 | dmj_nova | umm...trying to find settings64.sh
| |
22:00 | Bertl | the installer should have mentioned the path of that script
| |
22:00 | Bertl | but it shouldn't be hard to find
| |
22:01 | dmj_nova | by that you mean the xilinx installer, yes?
| |
22:02 | dmj_nova | erm ISE installer
| |
22:02 | Bertl | yep
| |
22:02 | dmj_nova | Well, I know it installed to /opt
| |
22:02 | dmj_nova | oh, found it
| |
22:03 | Bertl | good, source it
| |
22:03 | Bertl | ls $XILINX/lib/lin64/plugins/Digilent/libCseDigilent
| |
22:03 | Bertl | (or lin instead of lin64 if you are 32bit)
| |
22:05 | Bertl | alternatively you could install it in your home, but I guess a system wide install is simpler
| |
22:06 | dmj_nova | nah, been all 64 bit for me since 2010
| |
22:06 | Bertl | yeah, thought so, 32bit on pc is dying out
| |
22:07 | dmj_nova | actually that's false
| |
22:07 | dmj_nova | I have 32 bit on a netbook from 2008
| |
22:07 | Bertl | hehe
| |
22:07 | dmj_nova | it's my novel writing computer
| |
22:08 | Bertl | what's interesting is that many companies still produce 32bit only versions of their software
| |
22:08 | dmj_nova | yeah, that's just weird
| |
22:08 | Bertl | I guess it is related to having locked down toolchains and a very crude programming style :)
| |
22:08 | dmj_nova | Well, it's probably that they wrote a lot of 32-bitisms into their code and are too lazy/afraid to change
| |
22:09 | Bertl | exactly
| |
22:09 | Bertl | it's interesting that I haven't had a single open source program in the last five years which didn't work on 64bit after compiling
| |
22:10 | Bertl | seems that open source cares a lot more about avoiding such issues in the first place
| |
22:11 | dmj_nova | I suspect that open source puts significantly more effort into maintainability and best practices
| |
22:12 | dmj_nova | now, there's plenty of crap/unstable open source software and a fair amount of horrible architecture
| |
22:12 | dmj_nova | but it tends not to be quite the same level of crawling horror you get elsewhere
| |
22:16 | se6astian | left the channel | |
22:20 | Bertl | 'crawling horror', I have to remember that, it nicely describes most proprietary source code I've seen so far :)
| |
22:21 | Bertl | (and a lot of open source as well, but hey, you just avoid that :)
| |
22:24 | dmj_nova | I tend to avoid proprietary software as much as possible these days
| |
22:24 | dmj_nova | it can take forever to install and get working properly
| |
22:24 | dmj_nova | once spent almost an entire day trying to get a proprietary video editor I had purchased installed
| |
22:26 | dmj_nova | In the open source world, well I booted Ubuntu from a liveusb and installed Novacut in the middle of a demoing a class project
| |
22:27 | dmj_nova | Though I will give most proprietary software credit for not requiring the most recent version of an operating system
| |
22:28 | dmj_nova | yay, I found something positive to say :P
| |
22:28 | Bertl | which can easily become a real problem as well ...
| |
22:28 | Bertl | when programs require ancient libraries and such
| |
22:28 | dmj_nova | yeah, there's good reason Novacut dropped support for Ubuntu 12.04 and 12.10
| |
22:29 | Bertl | for example, try to get the fpga_editor working which comes with the xilinx ISE
| |
22:30 | Bertl | libstdc++.so.5, libXm.so.3 and so on
| |
22:30 | dmj_nova | we would either have had to support old (and missing useful functionality) versions of key libraries and have trouble going to new libraries later or maintain backports (which would replace important system libraries),
| |
22:32 | dmj_nova | that's the sort of issue that keeps Corporations dependent on XP
| |
22:32 | Bertl | where there is windoof 8 without a start button :)
| |
22:33 | Bertl | but yeah, a customer of mine is locked to win2k, with no chance of ever having his software updated
| |
22:33 | dmj_nova | can somebody say "security vulnerability"
| |
22:34 | Bertl | luckily we virtualized that beast away some time ago and basically recreate it from a known good copy every week ... helps to keep the performance up
| |
22:36 | Bertl | so your tools/jtag working now as expected?
| |
22:36 | dmj_nova | hrm...copied the files to the runtime folder but the command in xmd doesn't find them
| |
22:37 | Bertl | run 'strace -fF -o xmd.trace xmd'
| |
22:37 | Bertl | then enter 'connect arm hw'
| |
22:37 | Bertl | then check the xmd.trace for pathes
| |
22:38 | Bertl | look for something like this:
| |
22:38 | Bertl | [pid 20514] open("/opt/XILINX/14.5/ISE_DS/ISE/lib/lin64/plugins/Digilent/libCseDigilent/libCseDigilent.xml", O_RDONLY) = 5
| |
22:38 | Bertl | [pid 20514] open("/opt/XILINX/14.5/ISE_DS/ISE/lib/lin64/plugins/Digilent/libCseDigilent/libCseDigilent.so", O_RDONLY) = 5
| |
22:39 | Bertl | and if you get an error from xmd, please paste it ...
| |
22:39 | Bertl | I had some trouble at the first few tries, so I think I know how to interpret them
| |
22:41 | dmj_nova | so it does see the Cortex-A9 and XC7Z020
| |
22:42 | Bertl | well, that's perfect then
| |
22:42 | Bertl | (you won't be able to see that without a working jtag)
| |
22:43 | dmj_nova | it works now
| |
22:43 | Bertl | btw, IMHO, I wouldn't waste any time on the GUI tools, I've played around with them trying this and that but with little success ... till I switched to xflow
| |
22:44 | dmj_nova | xflow?
| |
22:44 | Bertl | it's basically the batch processor
| |
22:44 | Bertl | i.e. allows you to run the synthesis and implementation steps on the command line
| |
22:45 | dmj_nova | I see
| |
22:45 | Bertl | I've uploaded a bunch of examples to get folks started: http://vserver.13thfloor.at/Stuff/AXIOM/
| |
22:45 | dmj_nova | have you ever used Mentor Graphics?
| |
22:45 | Bertl | the build commands are in the comment header of each .vhd
| |
22:46 | Bertl | nope, not yet
| |
22:46 | dmj_nova | worst GUI I've ever seen
| |
22:47 | Bertl | hehe, well, happens if folks without any GUI design knowledge start randomly putting building blocks together ...
| |
22:47 | dmj_nova | implemented in tcl/tk and with so many awkward quirks that serves no purpose
| |
22:48 | dmj_nova | like scroll wheel doing something but not scrolling the diagram
| |
03:22 | tonsofpcs | left the channel | |
03:22 | tonsofpcs | joined the channel | |
05:36 | dmj_nova | Bertl: have you started working on any real components yet?
| |
05:41 | Bertl | define real components
| |
05:42 | Bertl | I've almost finished a complete device tree (with everything the zynq-7000 supports)
| |
06:29 | dmj_nova | is that on your site?
| |
06:30 | Bertl | not yet, I'm not finished, but I'll upload it before I go to bed
| |
06:30 | dmj_nova | ah, okay
| |
06:37 | Bertl | http://vserver.13thfloor.at/Stuff/AXIOM/devicetree.dts
| |
06:38 | Bertl | (and the compiled .dtb as well)
| |
06:38 | Bertl | still work in progress but it seems reasonably complete now
| |
06:39 | Bertl | I'll probably add some more aliases for the different kernels but it should do the job for most PS devices and configurations
| |
06:40 | Bertl | let me know if something is wrong or missing
| |
06:49 | dmj_nova | I'll take a look tomorrow
| |
06:51 | Bertl | off to bed now ... cya
| |
09:28 | dmj_nova | left the channel | |
09:28 | dmj_nova | joined the channel | |
18:32 | dmj_nova | hello Bertl
| |
19:11 | jucar1 | joined the channel | |
19:14 | jucar | left the channel | |
19:24 | Bertl | dmj_nova: hey, how's going?
| |
20:27 | dmj_nova | Bertl: would you mind walking me through the device tree stuff?
| |
20:28 | Bertl | not at all, what would you like to know?
| |
20:28 | dmj_nova | the device tree thing is basically teaching the linux kernel on the arm side about the board, right?
| |
20:28 | Bertl | yes, about the hardware, registers and drivers to use
| |
20:29 | dmj_nova | at least that's what I think I remember from Linaro conference in Hong Kong
| |
20:37 | Bertl | so, what's on your mind regarding devicetree?
| |
20:40 | dmj_nova | so I'm just trying to get going with working on things
| |
20:40 | dmj_nova | now that my dev environment is setup and all
| |
20:40 | Bertl | sounds good!
| |
20:42 | dmj_nova | Now what's been your process for testing the devicetree so far?
| |
20:42 | Bertl | I've booted a recent kernel with my custom PL code and tested all available drivers
| |
20:47 | dmj_nova | so PS code is what the ARM runs and PL code is your FPGA code
| |
20:47 | Bertl | yep, that is how I call it
| |
20:47 | Bertl | PS stands for PS7 aka processing system 7
| |
20:48 | Bertl | (which is also the term coined by xilinx)
| |
20:48 | Bertl | and PL for Programmable Logic
| |
20:49 | Bertl | the PS7 is actually a lot more than just the arm cores
| |
20:49 | Bertl | i.e. it includes all the hardened peripherials and interfaces
| |
20:50 | dmj_nova | so basically the CPU + chipset
| |
20:50 | Bertl | and there is also the interconnect between PS7 and PL, called AXI or recently AMBA
| |
20:51 | dmj_nova | what's the bandwidth on the interconnect?
| |
20:51 | Bertl | axi stands for Advanced eXtensible Interface
| |
20:51 | Bertl | that I haven't tested so far, but it should allow up to GB/s tranfer speeds
| |
20:53 | dmj_nova | would you mind walking me through booting your code?
| |
20:54 | Bertl | sure, note that I use TFTP booting for convenience, but you can also do the much slower JTAG boot
| |
20:54 | Bertl | did you setup TFTP on your development system already?
| |
20:54 | dmj_nova | no I haven't gotten to that yet
| |
20:55 | dmj_nova | I'll probably find time for it this weekend
| |
20:55 | Bertl | shouldn't be too hard, if you like I can walk you through that right now
| |
20:56 | dmj_nova | generally I do like to put any server-type things into a VM when I set them up on my dev box
| |
20:56 | dmj_nova | but that should be pretty easy
| |
20:56 | Bertl | I kind of do the same thing, just for linux not VM but Linux-VServer guest
| |
20:57 | Bertl | anyway, all you need installed is TFTP and DHCPD (packages for your distro should be available)
| |
20:58 | Bertl | then you get you SD card (make a copy) and replace the BOOT.BIN with this one: http://vserver.13thfloor.at/Stuff/AXIOM/TFTP/boot.bin
| |
20:59 | Bertl | then simply start a normal SD boot, and watch the logs on your DHCPD network, the boot should show up with an IP request
| |
20:59 | Bertl | (this is also where you see the MAC)
| |
20:59 | Bertl | pick your preferred IP address for the board and assign it via dhcpd
| |
21:00 | Bertl | host zedboard {
| |
21:00 | Bertl | hardware ethernet 00:0A:35:00:01:22;
| |
21:00 | Bertl | fixed-address 192.168.2.88;
| |
21:00 | Bertl | filename "/ZED/u-boot.scr";
| |
21:00 | Bertl | }
| |
21:00 | Bertl | this is how the entry looks here
| |
21:01 | Bertl | the filename is the next boot step, i.e. the name the bootloader will request next and execute as script
| |
21:01 | Bertl | at that point, you should already see failing TFTP requests
| |
21:01 | Bertl | (make sure the firewall is configured to allow DHCP/TFTP)
| |
21:02 | Bertl | after that, you simply put the boot script into your tftp directory http://vserver.13thfloor.at/Stuff/AXIOM/TFTP/ZED/u-boot.scr
| |
21:03 | Bertl | (the plain text version is the .script)
| |
21:10 | dmj_nova | why would the board be asking my computer for an ip address
| |
21:10 | dmj_nova | wouldn't one be assigned via the router?
| |
21:10 | Bertl | whoever answers the dhcp/bootp request
| |
21:11 | Bertl | if that is your router, you want to add that dhcp config entry to the router
| |
21:11 | Bertl | if you connect the zedboard directly to your dev system, e.g. via some spare gbit interface, then it will be your dev system dhcpd
| |
21:13 | dmj_nova | only have the one gigabit interface
| |
21:14 | dmj_nova | so I kinda have to connect the zedboard to the switch with my desktops that feeds into the router
| |
21:14 | Bertl | then configure the router to hand out the IP and add a
| |
21:14 | Bertl | next-server 192.168.2.1;
| |
21:14 | Bertl | entry, where 192.168.2.1 is actually your dev system's IP
| |
21:15 | Bertl | this way the router will instruct the zedboard to fetch the file from there
| |
21:24 | dmj_nova | I'm going to have to ask my roommate the router credentials again, haven't used them since probably september
| |
21:24 | dmj_nova | he's out doing research atm though
| |
21:24 | Bertl | no problem, does it hand out IPs to new devices?
| |
21:25 | Bertl | you can easily hardcode the bootp part to a fixed IP and request the file from your specific dev machine
| |
21:26 | Bertl | it's just a lot nicer to hand it out via bootp/dhcp :)
| |
21:28 | dmj_nova | yeah, it autoassigns IPs
| |
21:28 | Bertl | and what IP does your development system have?
| |
21:30 | dmj_nova | 192.168.1.142
| |
21:30 | dmj_nova | (at the moment anyway) :P
| |
21:30 | Bertl | /24 ?
| |
21:35 | Bertl | what's your netmask?
| |
21:40 | dmj_nova | yeah /24
| |
21:44 | Bertl | okay, do you happen to have the IP the zedboard gets as well?
| |
21:47 | Bertl | or an IP you would like the zedboard to use
| |
21:51 | dmj_nova | had to rearrange the cables a bit and now I'm waiting for DHCP
| |
21:52 | dmj_nova | not seeing it appear in the DHCP list
| |
21:52 | Bertl | did you replace the boot.bin?
| |
21:53 | Bertl | if not, just interrupt the bootload (via serial console)
| |
21:53 | dmj_nova | no :P
| |
21:53 | Bertl | and enter 'bootp'
| |
21:53 | dmj_nova | serial console == xmd?
| |
21:53 | Bertl | no, the UART
| |
21:54 | Bertl | you can connect to that via e.g. minicom
| |
21:55 | Bertl | http://vserver.13thfloor.at/Stuff/AXIOM/minirc.ACM0
| |
21:55 | Bertl | (add that to your system where the UART is connected)
| |
21:56 | Bertl | and start minicom like this:
| |
21:56 | Bertl | minicom -w -b 115200 -8 --color=on ACM0
| |
21:56 | Bertl | (in a terminal which has access to /dev/ttyACM0)
|