futarisIRCcloud has quit [Quit: Connection closed for inactivity]
<keesj>
what is the difference between adding a wishbone slave(address/size) and adding a memory region? (the two happen together most of the time but not always)
<key2_>
but if you don't know that, I guess you should first follow some tutorials ?
<keesj>
well. overall the code "as" is doesn't really work for me for several reasons. if you have any links / pointers to tutorials for misoc that would be great but I think It won't directly solve my problems :P
<key2_>
again, what are you trying to do
<keesj>
I am trying to get a sane configuration for the papilio pro. the code as in git does not work. and when I fix one issue the next arrises hence my trying to understand a bit better if the problem is between keyboard and chair or the problem is in code.
<keesj>
I won't get any errors just a non booting system
<keesj>
Next.. if I do configure boot from the bitstream (not spi) I need to modify the code e.g. replace the line 74 by adding rom_size (and this forces cpu_reset to 0)
<keesj>
this will allo the rom code to boot but.. can't find flash and the bootflash command is missing from the bootloader (because the self.csr_devices.append("spiflash") is not added if we boot from rom)
<keesj>
key2_: this is after I "fixed" the first that rom code was only allowed to start from 0 address
<keesj>
key2_: can you suggest a tutorial? it would fancy adding tinyFPGA-BX as board
ohsix has quit [Ping timeout: 250 seconds]
<acathla>
keesj, tinyFGPA_BX is supported by litex, I got it booting and running micropython (following a tutorial)
<acathla>
Now I'm trying to understand how to add some hardware, a PWM for example, and how to control it from software.
<keesj>
acathla: I Have that knowlegde in theory e.g. (the pwm/coding/wishbone ) from creating a wishbone can bus controller in vhdl. I started porting it to verilog, then wanted to look a migen and now generating socs
<keesj>
but I like the low level stuff
<keesj>
and from software on the pc or running on an embedded soc?
<acathla>
I think i'll use a bridge instead of a slow CPU I don't need
<acathla>
but I any information I can get =)
<keesj>
I found that first learing simulation doing the "low level" pwm would be a good start before wrapping it all together. in the end pwm in verilog/vhdl is very simple hence it sould also in migen
<keesj>
but if you don't go down deep it will remain vague.
<keesj>
I am very new to migen but at least I have the rest of background (how cpu work , toolchains, linkers,assembly, hdl, python , git , serial etc etc etc).
<acathla>
I already have a small project of motor control in migen, now I would like to use misoc/litex to not re-invent everything, like communication with a PC
<keesj>
e.g. accessing memory at that flash boot address causes wishbone calls to the spi driver because it was mapped at that address
<keesj>
(normally in c this unsigned int *flashbase is defineds as static unsigned int *flashbase to make sure the compiler actually does write to the memory when this is modified)
<keesj>
the compiler else is allowed to make flashbase a local register and things tend to go wrong (e.g. the compiler can think this guys is stupid he is writing different things do the same address, let mee speed up and skip a few instructions)
<acathla>
It works but it does not help much to learn how it works
<acathla>
I would like to replace micropython with baremetal C code, for the lm32, but I have no idea how to do that
<keesj>
I was able to modify the bootloader e.g. bios.c. the next step (if you have access to SPI) is to write your own bare bones application. the code in bios.c (and linker scripts) is a good place to start.
<keesj>
the first "challenge" if you don't want to hack the "bios" itself is to create an image that gets loaded by the bios. as you can see from the flashboot I posted earlier the image format is quite simple ,the load address is already hardcoded and what is storred in flash is "lenght,crc and the actuall data"
<keesj>
"actual data" is the more complex thing to understand, you need to start with a normal piece of c code and compile it in such a way that the memory layour in the end matches the hardcoded load address and the image itself need to be a flat binary
<keesj>
I don't know yet how this is done (did not find an example of this for litex/migen) but I am quite sure it exists .. still best guess for me now would be to first start with modifying the bios.c to get your hardware working . next focus on the "bare bones" loading asspect.
rohitksingh has quit [Remote host closed the connection]
m4ssi has quit [Remote host closed the connection]
jason1 has joined #m-labs
<jason1>
sb0, rjo: I successfully made kc705 flash and ping work with the latest artiq. Now I did the same procedure and used the same network settings, interface, switch for kc705 with the latest phaser built (and ARTIQ 3.7 with python 3.5). I can flash the device successfully. But I cannot ping. I tried ip addr show. The interface is up. The firewall is off. Note that this exact settings worked out to ping with the latest build.
jason1 has quit [Ping timeout: 256 seconds]
jason1 has joined #m-labs
<jason1>
arp and arp -a give no results. nmap -sP 192.168.0.0-255 just recognizes my interface ip address. Again this was the same network and setting that worked with kc705 with latest artiq build.
<jason1>
The LED for ethernet cable is off on kc705. But it is on on all other ports (switch, interface).
<jason1>
Correction: The 2 LEDs on kc705 (upper right and lower left) are on when I connect the ethernet cable. But the board's ip does not show up in nmap. I also tried to connect directly to my station with rj45. Still cannot ping the board.
<jason1>
Can you help me to fix this please? rjo, sb0
<jason1>
acathla
d_n|a is now known as d_n|a_
d_n|a_ is now known as d_n|a
futarisIRCcloud has joined #m-labs
<d_n|a>
sb0: Regarding aiohttp, I can confirm that whatever you did or didn't prod, a recent version is pulled in now