*** tpb has joined #timvideos | 00:00 | |
*** CarlFK has joined #timvideos | 02:43 | |
*** ChanServ sets mode: +v CarlFK | 02:43 | |
*** CarlFK has quit IRC | 03:46 | |
shenki | mithro: hello | 04:53 |
---|---|---|
mithro | I'm out at lunch with the parents :-) | 05:06 |
shenki | ok | 05:06 |
mithro | shenki: The first thing we need to do is create a driver for the UART in misoc | 05:06 |
shenki | mithro: ok. that is already in the hardware? | 05:07 |
mithro | https://github.com/m-labs/linux-milkymist/blob/ng/drivers/tty/serial/milkymist_uart.c | 05:09 |
tpb | Title: linux-milkymist/milkymist_uart.c at ng · m-labs/linux-milkymist · GitHub (at github.com) | 05:09 |
mithro | Something along those lines - but I'm pretty sure that doesn't work | 05:09 |
shenki | ok | 05:09 |
shenki | mithro: your or1k branch has that uart hardware built in already? | 05:10 |
mithro | The code we currently use is at | 05:10 |
mithro | https://github.com/timvideos/misoc/blob/legacy/software/libbase/uart.c | 05:10 |
tpb | Title: misoc/uart.c at legacy · timvideos/misoc · GitHub (at github.com) | 05:10 |
mithro | Yes, we are using it in the current firmware :-) | 05:11 |
shenki | k | 05:11 |
shenki | i'll get some hardware out and program it up | 05:11 |
shenki | enjoy your lunch :) | 05:11 |
mithro | I ran out of time, I was going to add a sim board type to run in vertilator but ran out of time last night | 05:12 |
mithro | Build the firmware to get the csr.h file which lets you understand how to talk to it | 05:13 |
shenki | ok | 05:14 |
mithro | It'll end up some where in like third_party/misoc/software/generated | 05:14 |
mithro | Should I send your Atlys back with my parents? | 05:14 |
mithro | I recommend using the base target as it takes like 5 minutes for a complete fresh build. | 05:16 |
mithro | LiteEth seems to be giving ISE a hernia on my computer for some reason (yet it still works fine on Travis). | 05:18 |
mithro | Anyway, should stop ignoring my parents :-) | 05:20 |
mithro | shenki: poke me about the Atlys. | 05:21 |
*** Bertl is now known as Bertl_zZ | 05:36 | |
*** panther has joined #timvideos | 06:48 | |
shenki | mithro: i couldn't find a power brick that fit the connector and was 12V | 07:34 |
shenki | mithro: so im trying to use the minispartan6 | 07:34 |
shenki | i thought I had that working, but i don't get anything out the uart | 07:34 |
shenki | i assume that's becuase i don't have any firmware built in | 07:35 |
shenki | https://github.com/shenki/HDMI2USB-misoc-firmware/tree/ms6 | 07:35 |
tpb | Title: GitHub - shenki/HDMI2USB-misoc-firmware at ms6 (at github.com) | 07:35 |
cr1901_modern | shenki: What's wrong with ms6? | 07:36 |
shenki | cr1901_modern: it doesn't do anything :) | 07:37 |
shenki | cr1901_modern: do you have a working design? | 07:38 |
cr1901_modern | shenki: I've gotten a UART on it before. | 07:38 |
shenki | cr1901_modern: cool. do you have that on github? | 07:39 |
mithro | shenki: I'm sure we have gotten at least the BIOS prompt on the minispartan before | 07:39 |
shenki | mithro: i agree. im wondering if i didn't commit it though | 07:40 |
mithro | shenki: are you sure you have connected to the right serial device? I seem to remember it coming up as two? | 07:40 |
shenki | mithro: one of them dissapears when i load the design | 07:40 |
shenki | dunno if that's the expected behaviour | 07:40 |
mithro | I wouldn't have expected it to do that? | 07:41 |
cr1901_modern | shenki: I didn't need to make any changes to get it to boot | 07:41 |
cr1901_modern | I'll see if wrote down my build hints | 07:41 |
mithro | So do you want me to sand l send your Atlys back? | 07:42 |
cr1901_modern | Come to think of it, I'm not sure which branch I'm currently on in HDMI2USB | 07:43 |
shenki | mithro: umm, you can. i don't really need it if i can get the ms6 going | 07:44 |
shenki | mithro: the ms6 and/or novena are much easier dev platforms for this work | 07:44 |
mithro | Why? | 07:44 |
mithro | https://github.com/timvideos/HDMI2USB-misoc-firmware/tree/minispartan6%2B?files=1 | 07:44 |
tpb | Title: HDMI2USB-misoc-firmware/ at minispartan6+ · timvideos/HDMI2USB-misoc-firmware · GitHub (at github.com) | 07:44 |
shenki | because they fit in nice little boxes | 07:44 |
shenki | well, in the case of novena, it sits on my lap | 07:45 |
mithro | Are you using that branch? | 07:45 |
mithro | Ah my novena doesn't have a case | 07:45 |
shenki | mine is in laptop form factor :) | 07:45 |
shenki | mithro: no, not that branch. i'll use that | 07:45 |
mithro | My opsis has a nice case. | 07:45 |
shenki | hehe | 07:45 |
mithro | Hrm, that branch doesn't seem to have anything? | 07:46 |
shenki | no. it doesn't | 07:47 |
shenki | https://github.com/timvideos/HDMI2USB-misoc-firmware/tree/minispartan6%2B?files=1 | 07:47 |
tpb | Title: HDMI2USB-misoc-firmware/ at minispartan6+ · timvideos/HDMI2USB-misoc-firmware · GitHub (at github.com) | 07:47 |
shenki | err | 07:47 |
shenki | ImportError: No module named 'targets.minispartan6_base' | 07:48 |
shenki | Makefile.lm32:34: recipe for target 'firmware-lm32' failed | 07:48 |
shenki | make: *** [firmware-lm32] Error 1 | 07:48 |
shenki | https://github.com/shenki/HDMI2USB-misoc-firmware/tree/ms6 | 07:49 |
cr1901_modern | shenki: Using YOUR fork, and "make BOARD=minispartan6 TARGET=base MISOC_EXTRA_CMDLINE=-Ob source True load", I was able to get a command line | 07:49 |
tpb | Title: GitHub - shenki/HDMI2USB-misoc-firmware at ms6 (at github.com) | 07:49 |
shenki | cr1901_modern: oh nice | 07:49 |
shenki | cr1901_modern: what does MISOC_EXTRA_CMDLINE=-Ob do? | 07:49 |
cr1901_modern | It should be "-Ob source True" | 07:49 |
cr1901_modern | On my machine I need this, so MiSoC actually finds the synthesizer | 07:50 |
mithro | https://github.com/timvideos/HDMI2USB-misoc-firmware/issues/140 | 07:50 |
tpb | Title: Add support for the miniSpartan6+ to HDMI2USB · Issue #140 · timvideos/HDMI2USB-misoc-firmware · GitHub (at github.com) | 07:50 |
mithro | https://github.com/shenki/HDMI2USB-misoc-firmware/tree/minispartan6 | 07:51 |
tpb | Title: GitHub - shenki/HDMI2USB-misoc-firmware at minispartan6 (at github.com) | 07:51 |
cr1901_modern | mithro: I am actively working on MiSoC right now, so I'll take a look into minispartan6+ issues with shenki | 07:51 |
mithro | https://github.com/shenki/HDMI2USB-misoc-firmware/tree/minispartan-testing | 07:52 |
tpb | Title: GitHub - shenki/HDMI2USB-misoc-firmware at minispartan-testing (at github.com) | 07:52 |
shenki | cr1901_modern: i'll try building it again | 07:52 |
mithro | shenki: looking at those branches, one of them has the embedded firmware stuff needed | 07:53 |
shenki | mithro: ok. which one? | 07:54 |
shenki | cr1901_modern: which branch worked for you? | 07:54 |
cr1901_modern | shenki: The testing branch | 07:54 |
cr1901_modern | Once I check out MiSoC legacy (no, the submodules that HDMI2USB has does not work for various reasons), I'll rebuild | 07:55 |
mithro | https://github.com/shenki/HDMI2USB-misoc-firmware/blob/minispartan6/targets/minispartan6_base.py#L92 | 07:55 |
tpb | Title: HDMI2USB-misoc-firmware/minispartan6_base.py at minispartan6 · shenki/HDMI2USB-misoc-firmware · GitHub (at github.com) | 07:55 |
mithro | cr1901_modern: our versions of misoc legacy have a couple of small patches that aren't upstream | 07:56 |
shenki | cr1901_modern: can you clarify? you need a diff version of the submodules to the one that 'submodule update' will get me? | 07:57 |
mithro | shenki: did you hit the reset button after programming the minispartan? | 07:57 |
shenki | mithro: no | 07:57 |
cr1901_modern | mithro/shenki: The problem isn't actually w/ HDMI2USB. That was sloppy wording. It's the fact that my personal copy of MiSoC is installed w/ setup.py develop, and Python gives priority to those modules even when PYTHONPATH is set | 07:57 |
shenki | im on the couch, and the board is all the way on the table | 07:57 |
shenki | :D | 07:58 |
cr1901_modern | so no matter what I do, python tries to import my personal copy of MiSoC | 07:58 |
shenki | ah i see | 07:58 |
mithro | The minispartan doesn't program directly I think? It programs into the spi flash and there you have to reset the fpga to get it to read it? Or maybe I'm confused? | 07:58 |
shenki | mithro: i used openocd to program | 07:59 |
shenki | i'll try resetting | 07:59 |
mithro | Dunno if the LEDs are suppose to do something? | 07:59 |
mithro | But I'm sure we have had something on the UART before :-) | 08:00 |
cr1901_modern | shenki building now. I have NOT update my copy. | 08:01 |
cr1901_modern | of the repo.* I want to compare/contrast | 08:01 |
cr1901_modern | Erm, why does minispartan bother to build microudp and tftp when ms6 has NO Ethernet support? | 08:02 |
shenki | it's a wip; we started with a working design for the atlys and cut out bits we didn't need | 08:07 |
shenki | cr1901_modern: if we verify this works, we can merge it in and start fixing it | 08:07 |
cr1901_modern | shenki: All I'm going to have is a UART lol | 08:08 |
shenki | mithro: where do i check to know if it's building in firmware or not? | 08:08 |
cr1901_modern | mithro: Did anyone ever end up doin data islands? | 08:08 |
mithro | cr1901_modern: no | 08:09 |
mithro | Bblr | 08:09 |
cr1901_modern | Once we get minispartan up and running, can I take a stab at it (and actually do it this time)? | 08:10 |
shenki | cr1901_modern: ok, so i've done 'make gateware' | 08:10 |
shenki | cr1901_modern: what did you do next to get it working? | 08:11 |
cr1901_modern | shenki: Flashed it via openocd, opened up PuTTY on the relevant COM port, and pressed enter :) | 08:11 |
shenki | k | 08:11 |
shenki | cr1901_modern: using 'make load-gateware'? | 08:12 |
cr1901_modern | shenki: Ideally yes. It's broken due on my machine, so I did the command manually | 08:12 |
shenki | ok | 08:12 |
cr1901_modern | (the fix was never put into migen (sic) legacy) | 08:13 |
shenki | cool, wfm | 08:13 |
*** panther has quit IRC | 08:14 | |
shenki | dunno why it didn't work the first time | 08:14 |
cr1901_modern | shenki: So you got a prompt? Cool | 08:14 |
shenki | cr1901_modern: yup | 08:14 |
cr1901_modern | I suppose for the sake of Windows users, the fix for migen/mibuild paths on OpenOCD should be put into legacy as well | 08:15 |
shenki | are you a windows user? | 08:16 |
cr1901_modern | Yes, it's wonderful :D | 08:16 |
cr1901_modern | Okay, and can confirm that I also have a serial prompt. Awesome | 08:21 |
*** rohitksingh has joined #timvideos | 08:25 | |
shenki | version.c: In function ‘print_board_dna’: | 08:52 |
shenki | version.c:35:16: error: ‘CSR_DNA_ID_ADDR’ undeclared (first use in this function) print_csr_hex(CSR_DNA_ID_ADDR, CSR_DNA_ID_SIZE); | 08:52 |
shenki | i added dna to the csr_map | 08:52 |
shenki | ah, i need to add code as well | 09:00 |
shenki | mithro: https://github.com/timvideos/HDMI2USB-misoc-firmware/issues/246 | 09:12 |
tpb | Title: or1k does not fit on minispartan6+ · Issue #246 · timvideos/HDMI2USB-misoc-firmware · GitHub (at github.com) | 09:12 |
mithro | shenki: Not a lot we can do about that | 09:42 |
mithro | shenki: I was thinking that for linux the driver code for both the or1k and lm32 would all end up being the same, it's only the initial start up and interrupt code that would be different? | 09:44 |
mithro | http://ultra-embedded.com/altor32-openrisc-isa-cpu-on-papilio-one-250k-fpga-board/ | 09:49 |
tpb | Title: AltOR32 OpenRISC ISA CPU on Papilio One 250K FPGA Board « Ultra-Embedded (at ultra-embedded.com) | 09:49 |
cr1901_modern | (Haven't read the link): lm32 can't fit on a Spartan 3 without concessions. Would be very surprised if or1k did | 09:55 |
*** rohitksingh has quit IRC | 10:17 | |
shenki | mithro: ok | 10:37 |
shenki | mithro: i need to understand the different pieces the the misoc firmware | 10:38 |
shenki | mithro: when i get the BIOS> prompt, that's C code, right? | 10:39 |
mithro | Yes | 10:39 |
shenki | but that's not the 'firmware' | 10:40 |
shenki | ? | 10:40 |
mithro | No, it's the BIOS :-) | 10:40 |
cr1901_modern | It's a bunch of routines sb0 (I think?) coded up to make testing easier. | 10:40 |
mithro | Its main job is to setup the DDR RAM and allow the next stage to be loaded into it | 10:41 |
shenki | ok | 10:41 |
mithro | It only has like a small amount of RAM and stuff to get going | 10:42 |
shenki | so the 'firmware' runs from ram? | 10:42 |
cr1901_modern | mithro: Do you plan to send your changes upstream to migen legacy? | 10:43 |
mithro | Yes | 10:43 |
shenki | is im baking it into the brams, instead of sticking it in the flash? | 10:43 |
shenki | (with my over-sized image) | 10:43 |
mithro | cr1901_modern: not really, _florent_ is planning on moving us to the new branch | 10:43 |
mithro | shenki: with the "embedded firmware", the fpga basically emulates ROM which is memory mapped | 10:44 |
cr1901_modern | mithro: That's fine. https://github.com/m-labs/migen/blob/master/migen/build/openocd.py#L16-L26 Where should I send a patch to fix this? openocd is screwy w/ Windows paths, and TCL won't NOT escape them unless there's extra braces. | 10:45 |
tpb | Title: migen/openocd.py at master · m-labs/migen · GitHub (at github.com) | 10:45 |
cr1901_modern | I fixed this in the new migen, but never thought to fix it in the old | 10:45 |
mithro | So the BIOS pretty much just jumps to the ROM location if I understand correctly | 10:45 |
mithro | You can use flterm to dump some stuff from your computer into the DDR RAM and then jump to it | 10:46 |
mithro | That is what the serial boot stuff is | 10:47 |
mithro | When the Ethernet stuff is enabled, it can do that over tftp instead. | 10:47 |
mithro | There is a spi boot option which will do the same from spi flash when we get around to enabling that | 10:49 |
shenki | mithro: ok, thanks | 10:56 |
shenki | mithro: is the minispartan6 that you got me the big one or the small one? | 10:57 |
mithro | I'm pretty sure I only got the LX25 versions | 11:05 |
shenki | ok | 11:05 |
mithro | shenki: actually, you should check that it is compiling for the lx25 and not the lx9? | 11:06 |
shenki | yeah. that's where i was headed | 11:08 |
mithro | shenki: the 25 means 25,000 LUTs iirc | 11:08 |
shenki | def __init__(self, device="xc6slx25", programmer="fpgaprog"): | 11:12 |
shenki | mithro: ok, so where do i go from here? | 11:19 |
mithro | shenki: You mean, how do I get the or1k on a minispartan, or? | 11:19 |
shenki | mithro: yeah | 11:20 |
shenki | mithro: well, what's the quicket route to having a dev platform | 11:20 |
mithro | shenki: Well, least amount of effort to having a dev platform is probably to get your Atlys back from my parent's when they return tomorrow | 11:21 |
shenki | hah ok | 11:22 |
mithro | shenki: I don't think there is an easy way to make the or1k fit on the minispartan6+ unless the problem is the embedded rom | 11:22 |
shenki | mithro: does the atlys have a bigger fpga? | 11:22 |
mithro | Yes, all of the Atlys, Opsis and Pipistrello have SLX45 | 11:22 |
mithro | almost double the LUTs | 11:22 |
shenki | ok | 11:22 |
mithro | I'm a bit surprise the BaseSoC doesn't fit on a SLX25.... | 11:23 |
mithro | shenki: Can you link to the SoC? | 11:23 |
shenki | mithro: oh, the novena has a slx45 | 11:24 |
shenki | mithro: https://github.com/shenki/HDMI2USB-misoc-firmware/tree/ms6 | 11:24 |
tpb | Title: GitHub - shenki/HDMI2USB-misoc-firmware at ms6 (at github.com) | 11:24 |
mithro | shenki: yeah the slx45 is the biggest Spartan-6 you could use with the free tools for a long time | 11:24 |
mithro | shenki: remove the firmware_ram stuff in your SoC and try again | 11:25 |
shenki | mithro: that does work; i had it working earlier | 11:29 |
mithro | shenki: okay, you don't need the embedded firmware to do development | 11:29 |
mithro | just use flterm to load the kernel via the serial port | 11:30 |
shenki | ok | 11:30 |
mithro | shenki: so the or1k worked without the embedded firmware? | 11:30 |
shenki | yeah | 11:30 |
shenki | oh | 11:30 |
shenki | hrm, no | 11:30 |
shenki | im getting confused | 11:30 |
shenki | that was the lm32 | 11:30 |
shenki | im building with the or1k now | 11:31 |
shenki | mithro: yep, that works | 11:34 |
mithro | shenki: okay, it sounds like we ran out of block ram, so it decided to try emulating ram using the slicem luts and ran out of them | 11:35 |
shenki | yup, makes sense | 11:35 |
mithro | shenki: probably a warning further up which says something like "block ram 100% utilized" | 11:36 |
shenki | mithro: ok. so i should be able to run ./firmware/softcpu/firmware.bin with flterm now? | 11:38 |
mithro | shenki: yes | 11:38 |
shenki | mithro: what's the flterm escape seq? | 11:38 |
mithro | "make load-softcpu" and then at the bios prompt, type "serialbot" | 11:38 |
shenki | ctrl+c | 11:39 |
shenki | hrm, it's stuck at zero | 11:39 |
shenki | BIOS> serialboot | 11:41 |
shenki | Booting from serial... | 11:41 |
shenki | sL5DdSMmkekro | 11:41 |
shenki | [FLTERM] Received firmware download request from the device. | 11:41 |
shenki | [FLTERM] Uploading kernel (26992 bytes)... | 11:41 |
shenki | 0% | 11:41 |
shenki | cpu was stuck; i could re-load the gateware and now it's back | 11:41 |
shenki | looks like the ram is either not there, or not functioning | 11:42 |
shenki | BIOS> mw 0x20000000 0xAB 10 | 11:43 |
shenki | that hangs | 11:43 |
mithro | shenki: what about "memtest" ? | 11:43 |
mithro | shenki: You should compare it to the lm32 version too | 11:43 |
shenki | mithro: memtest says "OK" | 11:43 |
shenki | ok, i'll go back to lme32 | 11:43 |
mithro | shenki: You should use two git workdirs - one with the lm32 and one with the or1k and switch back and forth quickly | 11:44 |
shenki | ah ok | 11:44 |
mithro | I normally have tmux with two windows | 11:48 |
mithro | and set their name to or1k and lm32 | 11:48 |
shenki | im not grown up enough to use tmux | 11:48 |
mithro | shenki: screen with a decent config also works | 11:49 |
mithro | shenki: but tmux generally doesn't need to be configured at all, which is why I ended up using it :P | 11:49 |
shenki | yeah. i know. ive been told by enough people enough times | 11:50 |
shenki | oneday i'll learn the keybindings | 11:50 |
mithro | only one you need is "ctrl-a [0-9]" | 11:51 |
shenki | $ tmux | 11:51 |
shenki | The program 'tmux' is currently not installed. You can install it by typing: | 11:51 |
shenki | sudo apt install tmux | 11:51 |
shenki | :P | 11:51 |
mithro | tmux is pretty nice is that you can use it from the command line | 11:51 |
mithro | ie to rename a window "tmux rename-window or1k" | 11:51 |
shenki | that is cool | 11:53 |
mithro | which is why I don't know any of the keyboard short cuts :P | 11:55 |
mithro | except the change window one | 11:55 |
*** Bertl_zZ is now known as Bertl | 11:57 | |
mithro | actually I think tmux uses "ctrl-b [0-9]" by default | 11:57 |
shenki | heh yeah, was going to say, its not working | 11:57 |
mithro | shenki: I think its so you can use it inside screen which uses ctrl-a by default | 12:01 |
mithro | shenki: if the ram works under the lm32 but not the or1k, I'm not sure what the next step is | 12:02 |
shenki | ok | 12:03 |
mithro | shenki: I was having weird lock up issues with the firmware on the or1k on the Atlys, but nothing with the BIOS | 12:03 |
mithro | shenki: I wonder if its hitting an illegal instruction or something | 12:04 |
shenki | flterm is giving me 'command not found' | 12:04 |
shenki | something in the background is not present? | 12:05 |
mithro | shenki: in response to what? | 12:05 |
shenki | [FLTERM] Starting... | 12:05 |
shenki | Command not found | 12:05 |
shenki | in response to a "enter" | 12:05 |
mithro | hit enter again? | 12:05 |
shenki | then i get a prompt | 12:05 |
shenki | hrm, im getting the same hang | 12:05 |
shenki | with the lm32 | 12:05 |
shenki | when trying to do serialboot | 12:05 |
mithro | shenki: then it sounds like it's an issue with your minispartan6 SoC rather than the or1k stuff? | 12:06 |
shenki | yeah | 12:06 |
shenki | agreed | 12:06 |
mithro | shenki: I think you have gotten about as far as I have with the minispartan now | 12:07 |
mithro | shenki: might be worth poking cr1901_modern and _florent_ | 12:08 |
shenki | ok | 12:08 |
mithro | shenki: otherwise maybe drop the frequency to 50MHz? | 12:09 |
shenki | ok, that's easy enough to test | 12:09 |
mithro | shenki: That might stop everything from working :P | 12:10 |
mithro | shenki: the DDR controller seems to be locked to the CPU frequency in some way I don't quite understand yet | 12:10 |
mithro | shenki: Looking at https://github.com/timvideos/HDMI2USB-misoc-firmware/pull/226/files might help you understand the clocking stuff if you want to dig into that | 12:11 |
tpb | Title: WIP: Fixing the timing propagation through PLL/DCM parts in ISE. by mithro · Pull Request #226 · timvideos/HDMI2USB-misoc-firmware · GitHub (at github.com) | 12:11 |
mithro | shenki: I'll have to dig up my miniSpartan6+ and see if I can repo here | 12:13 |
mithro | but that will have to wait till tomorrow | 12:13 |
mithro | shenki: I'll also look at getting the vertilator board going, which would let you get the uart linux stuff going without needing any hardware | 12:14 |
shenki | ok | 12:18 |
mithro | but would be good to figure out what is going on with the real hardware | 12:24 |
shenki | perhaps i commented out too much? | 12:29 |
shenki | perhaps i need the register_mem still, so it knows where to map the sdram | 12:30 |
shenki | hrm | 12:31 |
shenki | mithro: how does the cpu create it's memory mappings? | 12:33 |
mithro | shenki: what do you mean? | 12:33 |
shenki | mithro: the memory mapped bus that the cpu sits on | 12:33 |
shenki | it needs to know what addresses correspond to which devices | 12:33 |
shenki | where does that come from? | 12:33 |
mithro | I think it's hardcoded as part of the misoc stuff | 12:33 |
shenki | ok | 12:34 |
mithro | shenki: You can look at that csr.h header I pointed too as well | 12:36 |
shenki | yeah | 12:36 |
shenki | that's generated tho? | 12:36 |
mithro | shenki: yeah, from your soc configuration | 12:37 |
shenki | mithro: mmm. how do i not include the firmwrae blob, but still have the sdram mapped | 12:37 |
mithro | shenki: look at enjoy-digital's one https://github.com/enjoy-digital/scarab-soc/blob/master/targets/minispartan6.py#L71 | 12:38 |
tpb | Title: scarab-soc/minispartan6.py at master · enjoy-digital/scarab-soc · GitHub (at github.com) | 12:38 |
shenki | mithro: yeah. that's what mine is based off | 12:42 |
mithro | shenki: that has the sdram enabled | 12:42 |
shenki | hrm. i can't see how it works | 12:53 |
shenki | Magic! | 12:54 |
mithro | shenki: ? | 12:54 |
shenki | mithro: i can't see where the devices are attached to the bus | 12:54 |
mithro | https://github.com/timvideos/misoc/blob/legacy/misoclib/soc/sdram.py#L37 ? | 12:55 |
tpb | Title: misoc/sdram.py at legacy · timvideos/misoc · GitHub (at github.com) | 12:55 |
mithro | https://github.com/timvideos/misoc/blob/legacy/misoclib/soc/__init__.py#L17 | 12:55 |
tpb | Title: misoc/__init__.py at legacy · timvideos/misoc · GitHub (at github.com) | 12:55 |
shenki | self.mem_map["main_ram"] | 12:56 |
shenki | 0x4000 0000 | 12:57 |
mithro | shenki: and what is missing? | 12:57 |
shenki | that's the bit i was after | 13:02 |
shenki | dunno why it downloads to 2000 0000 in our socs tho? | 13:02 |
shenki | there's nothing htere | 13:02 |
*** thaytan has quit IRC | 13:02 | |
*** thaytan has joined #timvideos | 13:04 | |
*** ChanServ sets mode: +v thaytan | 13:05 | |
shenki | mithro: cool, ram works under or1k | 13:05 |
shenki | mithro: i can mw and mr to 0x40000000 | 13:05 |
shenki | Executing booted program. | 13:06 |
shenki | `� | 13:06 |
shenki | and then nothing | 13:06 |
mithro | shenki: and under the lm32? | 13:07 |
mithro | Also check where the program is being loaded and the addresses match | 13:08 |
shenki | heh, and the cpu arch of the binary | 13:09 |
shenki | ok, arch is k | 13:09 |
mithro | IE the flterm command and the addresses passed to the SoC | 13:09 |
shenki | what do you mean "addresses passed to the soc"? | 13:10 |
shenki | i had to change the fl term cmd line to point to 0x4.... | 13:11 |
shenki | i assume it's a relocatable binary? | 13:11 |
shenki | perhaps that's a bad assumption | 13:11 |
shenki | relocatable is the wrong word. i meant that it doesn't have any hard coded assumptions about where it executes from | 13:12 |
mithro | That could be a bad assumption | 13:13 |
mithro | Actually I'm pretty sure that is a bad assumption | 13:13 |
mithro | The is a generated linker map file somewhere... | 13:14 |
shenki | ok | 13:14 |
shenki | i'll take a look. just rebuilding the world | 13:14 |
mithro | https://github.com/shenki/HDMI2USB-misoc-firmware/blob/ms6/firmware/softcpu/linker.ld | 13:14 |
tpb | Title: HDMI2USB-misoc-firmware/linker.ld at ms6 · shenki/HDMI2USB-misoc-firmware · GitHub (at github.com) | 13:14 |
mithro | Make clean should work | 13:15 |
mithro | Anyway, I'm in bed now | 13:16 |
mithro | You could try a very simple hello world firmware? | 13:17 |
shenki | isn't that what our firmware is? | 13:17 |
shenki | but yeah, i take your point | 13:17 |
mithro | It's slightly more | 13:17 |
shenki | something with just puts("hello world") | 13:17 |
mithro | Not that much more :-) | 13:17 |
mithro | And services the UART isr maybe? | 13:17 |
shenki | we have a uart isr? fancy | 13:18 |
mithro | https://github.com/shenki/HDMI2USB-misoc-firmware/blob/ms6/firmware/softcpu/isr.c | 13:18 |
tpb | Title: HDMI2USB-misoc-firmware/isr.c at ms6 · shenki/HDMI2USB-misoc-firmware · GitHub (at github.com) | 13:18 |
mithro | No idea what it actually does :-P | 13:19 |
mithro | Think that UART isr comes from with libbase or the generated stuff... | 13:20 |
mithro | Can check from my phone :-) | 13:20 |
shenki | no worries | 13:20 |
mithro | S/can/can't/ | 13:21 |
shenki | i will do some digging | 13:21 |
shenki | staying up to watch the cycling :) | 13:21 |
mithro | Ha okay | 13:21 |
mithro | As you are trying to change the CPU type and add a new board at the same time, I would try and get things working with the lm32 first, then try the same one the or1k | 13:22 |
shenki | ok | 13:22 |
mithro | We know that the lm32 work on the Atlys | 13:22 |
shenki | yeah | 13:23 |
mithro | Not sure if the or1k works on the Atlys | 13:23 |
mithro | Brinly and my parents prevented me testing that all that will this weekend :-) | 13:23 |
mithro | S/will/well/ | 13:24 |
mithro | I know that the BIOS booted and the firmware was behaving strange... | 13:24 |
shenki | yeah, im seeing strangeness | 13:24 |
shenki | will go back to lm32 | 13:24 |
mithro | Question everything :-) | 13:25 |
shenki | unfortunatly work is super interesting at the momemnt, so i will be busy during hte week | 13:25 |
mithro | Including if the compiler is generating correct code :-) | 13:25 |
shenki | yeah, i was thinking we should poke a jump instruction at 0x40000000 | 13:26 |
* mithro tries to be more interesting | 13:26 | |
shenki | that just takes us back to the bios | 13:26 |
mithro | You've had more experience here than I have :-) | 13:26 |
mithro | I'm just a high level C++ programmer ;-) | 13:26 |
shenki | hah | 13:27 |
shenki | speaking of | 13:27 |
shenki | the new version of chromium i put on my novnea | 13:27 |
shenki | pops up and says "cannot detect SSE2. Must have SSE2" | 13:27 |
shenki | and that's it | 13:27 |
shenki | bloody chrome developers | 13:27 |
shenki | not going to find much SSE2 on an arm | 13:28 |
mithro | I'm sure it runs on arm | 13:29 |
mithro | Sounds like someone just compiled it wrong | 13:30 |
shenki | yeah. i suspect there's some flag the debian guys need to be setting | 13:30 |
shenki | or some bad developer just tests for OS=chromeos and assume that OS=linux is always x86 | 13:30 |
mithro | Blame the user :-) | 13:31 |
shenki | couldn't find the error string in the online codesearch | 13:31 |
mithro | Anyway, I was going to go to sleep | 13:31 |
mithro | I expect a working minispartan when I get up :-) | 13:32 |
mithro | Good night! | 13:32 |
shenki | hah | 13:32 |
shenki | good night | 13:32 |
shenki | hrm, it crashes booting it's own bios | 14:24 |
shenki | BIOS> serialboot | 14:24 |
shenki | Booting from serial... | 14:24 |
shenki | sL5DdSMmkekro | 14:24 |
shenki | [FLTERM] Received firmware download request from the device. | 14:24 |
shenki | [FLTERM] Uploading kernel (19452 bytes)... | 14:24 |
shenki | [FLTERM] Upload complete (10.2KB/s). | 14:24 |
shenki | [FLTERM] Booting the device. | 14:24 |
shenki | [FLTERM] Done. | 14:24 |
shenki | Executing booted program from 40000000. | 14:24 |
shenki | MiSoC BIOS http://m-labs.hk | 14:24 |
tpb | Title: M-Labs » open source experimental physics (at m-labs.hk) | 14:24 |
shenki | (c) Copyright 2007-2014 Sebastien Bourdeauducq | 14:24 |
shenki | Revision b19037ed built Apr 10 2016 23 | 14:24 |
shenki | <crash> | 14:24 |
shenki | hrm, and now it's re-booting the bios from sdram without issue | 14:39 |
xfxf | shenki: you sound like you're having fun | 14:40 |
shenki | xfxf: im watching paris-roubaix, it's keeping the heart rate up while i hack | 14:40 |
shenki | not sure if im making progress | 14:41 |
shenki | need some better tooling to dump the processor state | 14:41 |
shenki | oh cool, there's the problem | 14:50 |
shenki | main_ram was defined, but firmware_ram is not | 14:50 |
shenki | but we stick all of the firwmare text in firmware_ram | 14:50 |
shenki | so who knows where that was getting loaded... not at 0x40000000 where our ram is | 14:50 |
shenki | probably 0 | 14:53 |
shenki | woot. aussie won the bike race! | 15:15 |
*** sb0 has quit IRC | 16:07 | |
*** sb0 has joined #timvideos | 16:08 | |
*** se6astian|away is now known as se6astian | 17:18 | |
*** [d__d] has quit IRC | 17:55 | |
*** [d__d] has joined #timvideos | 17:57 | |
*** se6astian is now known as se6astian|away | 21:25 | |
*** Bertl is now known as Bertl_zZ | 21:34 | |
*** CarlFK has joined #timvideos | 21:47 | |
*** ChanServ sets mode: +v CarlFK | 21:47 |
Generated by irclog2html.py 2.13.1 by Marius Gedminas - find it at mg.pov.lt!