| Tweetovi |
| Sean Cross proslijedio/la je tweet | ||
|
Christopher Biggs
@unixbigot
|
13. sij |
|
Sean @xobs Cross is talking about documenting hardware. “Undocumented hardware is bad”. YEAH SING IT! #lca2019 pic.twitter.com/D5yHgmAr8N
|
||
|
|
||
|
Sean Cross
@xobs
|
6. sij |
|
The halves do wear out eventually -- anywhere between 100k and 200k shots -- at which point you refinish them. You just have to sample as you go and watch for it getting worn out too early. We're nowhere near 100k though.
|
||
|
|
||
|
Sean Cross
@xobs
|
6. sij |
|
Very nice writeup! Two interesting facts: (1) The plastics vendor actually got it right on the first try, so you're looking at basically a polished T0 shot. And (2) The Fomu mold is 75% identical to the Tomu mold -- we just changed one core.
|
||
|
|
||
|
Sean Cross
@xobs
|
30. pro |
|
I'll be in in a bit
|
||
|
|
||
|
Sean Cross
@xobs
|
6. pro |
|
Wow, awesome work!
|
||
|
|
||
|
Sean Cross
@xobs
|
4. pro |
|
Documentation is at github.com/im-tomu/foboot… but be _very_ careful, since it's very easy to wipe the bootloader. I recommend you change the magic constant, at the very least, to prevent partial updates.
|
||
|
|
||
|
Sean Cross
@xobs
|
4. pro |
|
That syntax loads Foboot to address 0x40000 on the flash, and then loads that bitstream. It's very handy for testing Foboot. However, when you plug Fomu in the ICE40 always loads the bitstream from address 0x0.
|
||
|
|
||
|
Sean Cross
@xobs
|
4. pro |
|
To permanently install it, you need to "boost" it by using booster. Though since that is permanent, it really helps if you have a way to reflash the Fomu in case Foboot doesn't work, or you accidentally specify the wrong SPI flash ID.
|
||
|
|
||
|
Sean Cross
@xobs
|
4. pro |
|
That loads it as an ordinary program, which gets overridden as soon as you use it to load something. Since Foboot runs from "rom", it's not a problem, but it means it's not permanently installed.
|
||
|
|
||
|
Sean Cross
@xobs
|
4. pro |
|
Informal survey: How many people have tried Foboot v2.0.3 (required for Circuitpython on Fomu)? Have you had any problems? I'm going to the factory and I'm considering whether to start shipping all new units.
|
||
|
|
||
| Sean Cross proslijedio/la je tweet | ||
|
Greg
@GregDavill
|
1. pro |
|
Found a sample with a defect! My own rework -_-
The FOMU DVT board I got from @xobs early this year and tried to fix. Looks like I still have a short under the BGA 😨😳
@tomu_im
I guess I'll need to go in and fix this agin at some point.
twitter.com/GregDavill/sta… pic.twitter.com/uPuoY0f9XK
|
||
|
|
||
|
Sean Cross
@xobs
|
30. stu |
|
I'm trying to improve the performance of circuitpython-on-Fomu, and the easiest solution is to move some stuff into RAM. The question is: Which stuff? Hacky-no-profiler soltuion: break into gdb every 10 seconds, do a backtrace, and continue. Accelerate the functions in SPI flash.
|
||
|
|
||
|
Sean Cross
@xobs
|
30. stu |
|
Want Python in your USB port? Try the beta of @adafruit @CircuitPython for Fomu! Full USB support thanks to the new eptri USB port, and the awesome @tinyusb library. Binaries and instructions at github.com/xobs/circuitpy…
|
||
|
|
||
|
Sean Cross
@xobs
|
26. stu |
|
Did you clear the `boot_count` section of the boot token? If you don't, and it has a relatively large value, it'll think the program is crashing: github.com/im-tomu/toboot…
|
||
|
|
||
|
Sean Cross
@xobs
|
23. stu |
|
I'd like to know why it's calling "EBREAK" with my CPU. That would involve building the kernel with debug symbols.
|
||
|
|
||
|
Sean Cross
@xobs
|
22. stu |
|
Yes. I think the issue was somewhere else in the chain. When I booted your Image and cleared `hart_lottery`, it got much further but got stuck in an `ebreak` instruction, which means it's missing an assert. But it was definitely running.
|
||
|
|
||
|
Sean Cross
@xobs
|
22. stu |
|
As a result, every time we rebooted the Linux kernel thought there was one extra CPU in the system.
|
||
|
|
||
|
Sean Cross
@xobs
|
22. stu |
|
Turns out it was working at #supercon, it's just the Linux kernel is buggy -- it assumes memory is zeroed github.com/sifive/riscv-l… (note that it performs an atomic add on a section of memory immediately before it zeroes memory).
|
||
|
|
||
|
Sean Cross
@xobs
|
23. kol |
|
A good starting point would be to separate the USB stuff into its own module so that we can test it with both eptri and dummyusb. It would also be great to get cocotb test support for epfifo!
|
||
|
|
||
|
Sean Cross
@xobs
|
22. kol |
|
There's some half-baked stuff in a rewrite for Valentyusb at github.com/xobs/valentyus… if you want to help improving it!
|
||
|
|
||