Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
    emard
    @emard
    If all conditions for shutdown are met, board is powered up and nothing else like RTC or LED is waking up the board, then a LED D11 on bottom side of the board will be very dimly lit (visible in darkness).
    Paul Ruiz
    @pnru_gitlab
    Yeah, what I find cool about it is that it is so small that one person can understand all the layers in the system. The CPU is less than 1000 lines of plain Verilog, the Unix kernel is some 6000 lines, as is the C compiler. Most utilities are (well) less than a 1000 lines each. I think it would be good for EE students to have a course about systems like this, because with modern systems it is so hard to really understand how it all fits together. I suppose this is why MIT has the xv6 course. Maybe picoriscv / xv6 and a simplish C compiler like LCC can be the basis of a modern variant of such an "understandable" system.
    emard
    @emard
    Comparing the wayback unix to the latest one, a first-time user shouldn't notice much difference: ls -al, cat, |, <, > all big stuff was there all the time. Modern linux has colors graphics and much options usualy rarely used (lack of power users). Interesting thing among such things is also oberon OS, boots to a kind of windows with mouse pointer and gui in 1 second.
    works on ulx3s also :)
    Their philosophy was to trade few % of performance for total simplicity and code shortness
    emard
    @emard
    when OS needs to concurrently run large amount of various executables, whole OS will run faster size-optimized code then codes that are performance optimized but larger (RAM, swap etc.)
    emard
    @emard
    I created PR to fujprog in your name ;) https://github.com/emard/fujprog I tried vis with cursor and works much better
    fujprog -P /dev/ttyUSB0 -b 9600 -D 10 -t
    emard
    @emard
    Merged in fujprog
    emard
    @emard
    @pnru_gitlab you mentioned something about bluetooth keyboard to esp32 - any signs of connectivity? In meantime I soldered S2 on breakout boad, connected JTAG and ported ecp5.prog() and .flash() to circuitpython. Good thing is that bitstream can be just copied to USB flash disk. No special programmer needed, whole S2 filesystem is mounted to PC and there's USB-serial for console at the same time. Bad thing is that circuitpython has no interrupts, threads or concurrency for user code, so our nice spi_ide and OSD can't run in "background"
    Paul Ruiz
    @pnru_gitlab
    Testing bluetooth requires loading the 1.12 release of uPython. I'm still on 1.11 + network/uart patches. Porting the patches to 1.12 is on the long hobby to-do list.
    Currently working on adding proper DMA to the ulx3s version of the mini-Cortex, but little hobby time is available: expect very little input/progress from my side in September.
    Note that the fujprog patch is for Posix only. Somebody with a Windows system will have to do & test the -D patch for that build (I did not want to include untested code in the patch).
    emard
    @emard
    Aaa your legendary 1.11 with router support for ppp :). I see that's a bit of work. Thanx for -D patch and we have something that works on unix. I also don't have windows so we'll let that to other users it must be tried to work before applying
    Lawrie Griffiths
    @lawrie
    I have started looking at the QL again. I was going to see if I could improve the sound. But I have updated the VirtualBox VM I am using to Ubuntu 20.04 and the QL no longer works. I get nothing on the HDMI, but I don't think the problem is to do with that, it looks more fundamental. Other things I have tried build OK (including cortex).
    The bit stream is a lot smaller on 20.04 than on my previous 19.10 Ubuntu system, 4 rather than 5 Mb.
    These are the versions of yosys and nextpnr are the old system:
    lawrie@lawrie-VirtualBox:~/ulx3s_ql/ulx3s$ yosys --version
    Yosys 0.9+2406 (git sha1 c6765443, clang 8.0.0-3 -fPIC -Os)
    lawrie@lawrie-VirtualBox:~/ulx3s_ql/ulx3s$ nextpnr-ecp5 --version
    nextpnr-ecp5 -- Next Generation Place and Route (Version 137241cf)
    Lawrie Griffiths
    @lawrie
    If I take the .json file I built on the old system and use that with nextpnr on the new system, it works.
    So the problem seems to be with yosys.
    The yosys version on the new system is:
    Yosys 0.9+3477 (git sha1 3cb3978f, clang 10.0.0-4ubuntu1 -fPIC -Os)
    (I notice that clang is much more recent).
    Lawrie Griffiths
    @lawrie
    The size of the bit stream is then 541316, similar to the old system.
    Lawrie Griffiths
    @lawrie
    It works if I use yosys from the latest kost build of the tools
    I am trying building yosys with gcc rather than clang to see if that makes a difference.
    Lawrie Griffiths
    @lawrie
    It did not help building yosys with gcc, so I am wondering if the problem is with a very recent update to yosys.
    This is the kost build version that works:
    Yosys 0.9+3468 (git sha1 c39ebe6a, g++ 8.3.0 -Os)
    Lawrie Griffiths
    @lawrie
    That was on 2020.08.02
    Lawrie Griffiths
    @lawrie
    The json file with the failing version was 13MB rather than 19MB, so the effect of the change seems to be major.
    @daveshah1 Do you know what might be causing this problem with the recent version of yosys?
    David Shah
    @daveshah1
    No, although there have been quite a few changes I can't point to any specific one
    Paul Ruiz
    @pnru_gitlab
    Have you tried the nightly builds at Orangecrab: https://github.com/open-tool-forge/fpga-toolchain/releases
    If that does not show the issue, the problem is with your build, if it does it is with Yosys. If it is with Yosys, the history of nightly builds should offer a reasonably doable path to pinpointing the date where it went wrong.
    Lawrie Griffiths
    @lawrie
    I have an Orangecrab board which I haven't used yet, so I should probably be looking at that anyway
    Lawrie Griffiths
    @lawrie
    It worked with that toochain
    I'll try updating yosys to the very latest version
    Lawrie Griffiths
    @lawrie
    Updating yosys to the very latest version and building it with gcc worked - Yosys 0.9+3537 (git sha1 028f96e5, gcc 9.3.0-10ubuntu2 -fPIC -Os)
    So I can only think that there was a problem with the version I pulled a week or so ago.
    Lawrie Griffiths
    @lawrie
    I was wrong about the latest versions working.
    The last daily build that builds the QL correctly is August 7th. August 8th fails.
    Lawrie Griffiths
    @lawrie
    I wonder if it could be this change - YosysHQ/yosys@9a4f420 and related ones done on the same day.
    Lawrie Griffiths
    @lawrie
    I notice that the OrangeCrab examples site says that there is a Yosys bug affecting LiteX SoCs and that you to use a version before July 1st to avoid that.
    Lawrie Griffiths
    @lawrie
    I tried the prebuilt Circuitpython examples from the OrangeCrab. That is built with LiteX and VexRiscv. I wonder if that could be ported to the Ulx3s. Then we could have Circuitpython running on the ESP32 and the FPGA :)
    emard
    @emard
    If circuitpython would be more ready I would redesign PCB for ESP32-S2 already. No wifi, no SD, commandline bugs, basic things unstable and even linux crashes too. Currenty SPI is broken too. adafruit/circuitpython#3339 But last known good release without PSRAM support I got esp32ecp5 working https://github.com/emard/esp32ecp5/tree/master/circuitpython
    emard
    @emard
    Do you have some better experience with circuitpython with orangecrab?
    Lawrie Griffiths
    @lawrie
    I only checked that the disk drive appeared and I could connect to it with /dev/ttyACM0. I have not really used it.
    The designer of the Blackice boards, @folknology, is active again and is producing an entry-level board with an ESP32-S2 and a up5k. It will be interesting to see how well that works.
    emard
    @emard
    Yes this part is great, it also appears on S2. I asked them to make second usb-serial ttyACM1 - TX/RX it would great then FT231X would go to history, but they said endpoint shortage and posponed until dynamic desciptor support starts working
    circuipython has no user code support for interrupt and threads/concurrency so our uftpd, osd and ide spi emulation won't run in "background"