Current Server Time: 19:10 (Central Europe)

#apertus IRC Channel Logs

2013/06/28

Timezone: UTC


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