asm | now that I've been idle in here for a week, I should speak up | 00:17 |
---|---|---|
asm | are people in here actually loading the openrisc core on fpgas? | 00:17 |
_franck_ | yes I do | 00:17 |
asm | how many LEs do you need for the most basic core? | 00:17 |
asm | and do you work with altera or xilinx? | 00:18 |
_franck_ | well I don't know, I have cachesand MMU | 00:18 |
blueCmd | asm: I came here with that plan! | 00:19 |
blueCmd | and they said "better make eglibc run on it first" | 00:19 |
asm | what is that? | 00:19 |
blueCmd | and never got to it :( | 00:19 |
asm | o | 00:19 |
blueCmd | hah, nah that's my own idea | 00:19 |
asm | I'm just curious how hard it is to get a cpu up on an fgpa | 00:20 |
blueCmd | asm: then don't mind what I say, I hack software stuff using the simulator (or1ksim) currently :) | 00:20 |
_franck_ | what king of board do you have ? it is may be already supported by orpsoc | 00:20 |
_franck_ | s/king/kind | 00:20 |
_franck_ | the CPU is about 5000 LE on my Cyclone II | 00:22 |
asm | I have a ztex board with a spartan 6 lx150 on it | 00:40 |
asm | I think it has about 150kLEs | 00:40 |
asm | or 149k to be more exact | 00:40 |
asm | 5000 LE is not bad at all, I was expecting far more | 00:41 |
_franck_ | I can see you have DDR2. I don't know if there is a wishbone wrapper for the xilinx MIG controller | 00:45 |
_franck_ | (I don't know xilinx stuff) | 00:45 |
asm | I also have the de0-nano | 00:50 |
asm | which I think has a cyclone IV on it | 00:50 |
asm | 16kLEs if I remember correctly | 00:50 |
_franck_ | this one is well supported | 00:50 |
asm | ok cool | 00:51 |
_franck_ | http://git.openrisc.net/cgit.cgi/stefan/orpsoc/ | 00:51 |
asm | makes sense, it's a decent demo board | 00:52 |
asm | is there a good tutorial on getting the core loaded on that board? | 00:52 |
_franck_ | well, not sure. but it's easy. You download orpsoc, you go to boards/altera/de0_nano/syn/quartus/run | 00:53 |
_franck_ | then make all | 00:53 |
_franck_ | make pgm | 00:54 |
_franck_ | tht should work | 00:54 |
asm | ah, ok | 00:54 |
asm | and that generates a bitstream? | 00:54 |
_franck_ | if you want to customize the core, just edit http://git.openrisc.net/cgit.cgi/stefan/orpsoc/tree/boards/altera/de0_nano/rtl/verilog/include/or1200_defines.v | 00:54 |
_franck_ | yes | 00:54 |
asm | how do you then run code on the core? | 00:54 |
_franck_ | you use gdb + openocd | 00:55 |
_franck_ | or if you use altera, you can use this https://github.com/openrisc/or1k-tcltools | 00:55 |
_franck_ | it uses the altera TCL console | 00:56 |
asm | ah ok | 00:56 |
asm | I'm familiar with that | 00:56 |
asm | sweet, thanks for all the help! | 00:57 |
asm | I have a nice long vacation coming up so I plan to spend some time play with this | 00:58 |
_franck_ | don't hesitate is you have problems (you will :)) | 00:58 |
asm | haha | 00:58 |
asm | ok | 00:58 |
asm | thanks! | 00:58 |
_franck_ | blueCmd: .eh_frame warning disappear while compiling a simple test programm | 01:00 |
_franck_ | however, running the gdb testsuite, I got one: | 01:00 |
_franck_ | gdb compile failed, /opt/or1k-toolchain/lib/gcc/or1k-elf/4.8.0/../../../../or1k-elf/bin/ld: error in /opt/or1k-toolchain/lib/gcc/or1k-elf/4.8.0/crtendS.o(.eh_frame); no .eh_frame_hdr table will be created. | 01:00 |
_franck_ | /opt/or1k-toolchain/lib/gcc/or1k-elf/4.8.0/../../../../or1k-elf/bin/ld: warning: cannot find entry symbol 0x100-shared; defaulting to 00000028 | 01:00 |
blueCmd | what do you get if you do: | 01:04 |
blueCmd | or1k-linux-objdump -D /srv/compilers/openrisc-devel/lib/gcc/or1k-linux/4.8.0/crtendS.o -j .eh_frame | 01:04 |
blueCmd | but on your stuff ofc | 01:05 |
_franck_ | don't have or1k-linux installed..... | 01:11 |
_franck_ | :) | 01:11 |
blueCmd | just replace with what you have .P | 01:13 |
_franck_ | ok, wasn't sure | 01:13 |
_franck_ | or1k-elf-objdump: '/opt/or1k-toolchain/lib/gcc/or1k-linux/4.8.0/crtendS.o': No such file | 01:13 |
_franck_ | or1k-elf-objdump: section '.eh_frame' mentioned in a -j option, but not found in any input file | 01:13 |
_franck_ | oups | 01:13 |
blueCmd | you still have an or1k-linux thing there | 01:13 |
_franck_ | my bad no such file, it's time to go to bed | 01:13 |
blueCmd | in your case it's /opt/or1k-toolchain/lib/gcc/or1k-elf/4.8.0/crtendS.o( | 01:14 |
blueCmd | without the ( | 01:14 |
_franck_ | http://pastebin.com/nNMnBuKm | 01:14 |
blueCmd | yeah, that's wrong | 01:15 |
blueCmd | you see the first row of 00 00 00 00 ? | 01:15 |
blueCmd | that should be the only one | 01:15 |
blueCmd | try rebuilding everything | 01:15 |
_franck_ | that's what I did | 01:15 |
blueCmd | hm | 01:15 |
blueCmd | that t-crtstuff should have fixed it | 01:15 |
blueCmd | I will try to build an -elf | 01:16 |
_franck_ | It did fix it at some point | 01:16 |
_franck_ | or1k-elf-gcc -o test test.c | 01:16 |
_franck_ | or1k-elf-gcc -o test test.c | 01:16 |
_franck_ | #include <stdio.h> | 01:17 |
_franck_ | void main(void) | 01:17 |
_franck_ | { | 01:17 |
_franck_ | while(1) | 01:17 |
_franck_ | printf("lkjljk test\n"); | 01:17 |
_franck_ | } | 01:17 |
_franck_ | this was giving me the warning | 01:17 |
_franck_ | now it's ok | 01:17 |
_franck_ | sleep time, bye | 01:19 |
blueCmd | _franck_: compiling atm, will get back to you if I can reproduce it or not | 01:19 |
blueCmd | sleep tight | 01:19 |
_franck_ | ok thanks | 01:19 |
blueCmd | actually I don't have newlib so I can't compile for that, I just remembered | 01:22 |
blueCmd | scratch that | 01:23 |
blueCmd | it's compiled | 01:23 |
blueCmd | _franck_: reproduced, I will take a look | 01:23 |
blueCmd | _franck_: please add this patch and give me a call if it works / if it's still broken: http://f91a9190f5452ad8.paste.se/ | 01:51 |
andresjk | hi | 03:58 |
_franck_ | blueCmd: ok, it works for me | 08:57 |
_franck_ | jeremybennett: did you see the pull request on github ? Are you going to take a quick look or I can accept my own request ? :) | 12:09 |
-!- Netsplit *.net <-> *.split quits: mboehnert | 12:10 | |
-!- Netsplit over, joins: mboehnert | 12:10 | |
jeremybennett | _franck_: Haven't seen it yet - let me take a look. | 12:13 |
blueCmd | _franck_: great! | 13:00 |
jeremybennett | _franck_: Great work. It's a huge effort, so I have only given it a quick review, but what I see is good. If you are happy that it passes enough tests, I'll pull it into the repo. | 13:07 |
_franck_ | yes I think we should pull it so it is available for everyone the make some other tests passes | 13:08 |
blueCmd | _franck_: is it gdb? | 13:10 |
blueCmd | or what are you working on? | 13:10 |
_franck_ | yes it is gdb | 13:46 |
blueCmd | _franck_: do you have any idea how much work it would be to support or1k-linux-targets? | 13:53 |
blueCmd | I'm thinking of trying to port gdbserver | 13:53 |
_franck_ | Jonas Bonn did this job already (almost) | 14:36 |
_franck_ | he has a WIP version of this, I'll contact him | 14:36 |
_franck_ | but yes, you could take care of that... | 14:36 |
blueCmd | ah, great! | 14:51 |
jeremybennett | _franck_: All merged | 15:53 |
jeremybennett | _franck_: gdbserver was also ported for the old or32. There has been some recent debate on the linux-dev mailing list about how to do register access properly from gdbserver in the latest Linux. | 15:54 |
jeremybennett | Jonas Bonn and Vineet Gupta of Synopsys were part of that discussion, so look for messages from them. | 15:55 |
_franck_ | Yes, he told me ""The jist of my changes is adding tdesc/feature descriptions (as you have done) and getting GDB to use regsets to access registers instead of poking around in memory." | 16:09 |
blueCmd | http://9916ae7817f1cb51.paste.se/ | 16:11 |
blueCmd | how can 300548f8 be PC and then without a jmp next be 300548e0 ? | 16:11 |
blueCmd | http://2311fce2f973779b.paste.se/ the assembly for that part | 16:13 |
stekern | blueCmd: that looks mighty weird | 16:42 |
stekern | but it doesn't look like it matches your assembly neither, right? | 16:44 |
blueCmd | stekern: doesn't it? | 16:46 |
blueCmd | I think it does | 16:46 |
stekern | you've got a l.nop 0x9 in the disasm and a l.nop 0x8 in the trace | 16:47 |
blueCmd | stekern: that's because it jumps back to the first 0x8 | 16:48 |
stekern | I've just woke up from a nap, so I might be mistaken ;) | 16:48 |
blueCmd | it somehow jumps to e0 | 16:48 |
blueCmd | which is nop 0x8 | 16:48 |
stekern | ah, now I see | 16:48 |
blueCmd | stekern: believe me, I thought I was on drugs when I first spotted this | 16:49 |
stekern | but oth, it's not so strange, l.nop 0x9 turns off trace, right? | 16:49 |
stekern | so you're just missing the trace from between ;) | 16:50 |
blueCmd | ah | 16:50 |
blueCmd | hah | 16:50 |
blueCmd | but that code should only execute once | 16:50 |
blueCmd | I will remove the nop and see what happens | 16:51 |
blueCmd | I guess I expected the l.nop 9 to be printed as well | 16:51 |
stekern | yeah, it would have been easier to spot what happens if it would | 16:54 |
blueCmd | aha | 17:04 |
blueCmd | the function was called twice! | 17:04 |
* blueCmd facepalms | 17:05 | |
_franck_ | blueCmd: git://openrisc.net/jonas/gdb , regset branch | 17:05 |
_franck_ | "The jist of my changes is adding | 17:05 |
_franck_ | tdesc/feature descriptions (as you have done) and getting GDB to use | 17:05 |
_franck_ | regsets to access registers instead of poking around in memory." | 17:05 |
_franck_ | I'll take care of the tdesc thing | 17:05 |
_franck_ | "It's a work in progress so that | 17:06 |
_franck_ | commit messages stink, but what I've got there actually works on a | 17:06 |
_franck_ | recent Linux." | 17:06 |
blueCmd | aha, cool | 17:06 |
blueCmd | stupid locales, oh well - time for a weekend break. bye bye | 17:11 |
juliusb | jeremybennett: I'm around, back in the UK now. Haven't been monitoring IRC lately, been very busy, but things should return to normal soon | 23:40 |
juliusb | blueCmd: wow you sound like you're a fair way through your EGLIBC port, impressive | 23:43 |
juliusb | jeremybennett: interesting article about Beyond pushing a new royalty-free processor. Good luck to them, I say, but it's unlikely to challange ARM I believe. ARM offer too much these days in the way of development and debug ecosystem, you just can't get anywhere near their overall oferring, even if you are shelling out millions a year in royalties to them. I think you're going to have a hard time selling something with | 23:50 |
Generated by irclog2html.py 2.15.2 by Marius Gedminas - find it at mg.pov.lt!