Posts
4634
Following
317
Followers
482
Linux kernel hacker and maintainer etc.

OpenPGP: 3AB05486C7752FE1
@josh If I wanted something like I'd look how BuildRoot thing is implemented, and derive something more generic from that. The reason being that it is already pretty well field tested.
0
0
0
@josh BuildRoot can do graphs. It is based on kbuild so pretty close at least.
2
0
1

Jarkko Sakkinen

I wonder if #BeagleV has similar #DIP switch as #VisionFive2, which works as a selector for different boot modes?

In VisionFive2 you can choose to:

  1. Boot from SPI flash.
  2. Boot from SD (including U-boot and OpenSBI, assumes a particular partition layout).
  3. Rescue UART boot mode.

These VisionFive2 e.g. pretty capable board for prototyping CPU extensions.

#riscv #sbc #uboot #opensbi

0
1
2

Jarkko Sakkinen

Edited 1 year ago
I like how easy it is with RISC-V to emulation ISA extensions by emulating privileged instructions in M-mode. that makes it pretty good production creation platform when you have something in-between FPGA and QEMU. I.e. you can take ASIC board and build a PoC with customized OpenSBI. #riscv #opensbi #fpga #qemu
0
1
5

Jarkko Sakkinen

after years of using #voxengo #span i've started using #tokyodawnlab's new and free #prism: https://www.tokyodawn.net/tdr-prism/
0
0
0
@tommythorn yeah, my usage model for SBC"s is such that I most of the time have a new image per boot because I use the image just to test e.g. a code change to kernel or sometimes firmware. like e.g. with this one i have not ever even tried to connect it to a network or display, all comms through TTL-USB. if you test e.g. kernel on many different SBC's, then a workflow is required where you do not need to connect many cables. surviving with just USB power and TTL-USB with the whole range is optimal because all SBC's I know follow the same GPIO layout as RPi.
0
0
0
@adingbatponder search for "iu-boot documentation visionfive 2" if there is problem with the link :-) it is just official u-boot dociumentation.
0
0
0
@tommythorn Yeah, I have no idea at this point what is the early boot code in this board. Even if you completely brick the SPI flashed firmware you can boot the board in "UART mode" and flash it. So there's something below with quite a bit of functionality.
1
0
0
@adingbatponder I just went to U-boot homepage to see what they have on the board. See the link in the previous comment.
1
0
0
@tommythorn Legit question but yeah for stuff that I'm doing with it being able to supply U-boot and OpenSBI is great.
0
0
0
@tommythorn there's first stage loader, which loads either from internal flash or SD card with specific partition structure. I've based my experiments on U-boot documentation: https://docs.u-boot.org/en/latest/board/starfive/visionfive2.html.
2
0
0

Jarkko Sakkinen

Edited 1 year ago
Nice, with the DIP switches Starfive VisionFive 2 SBC can be made to boot the full chain from SD card. Initially booting from SPI flash for any possible use for this never really makes sense. It is a badly chosen default for this sort of maker and/or developer product :-) #riscv #opensbi #uboot #starfive #visionfive2 #keystone
2
0
1

Jarkko Sakkinen

Log grabbing pattern for pretty_env_logger. when tracing #Rust #TUI applications;

RUST_LOG=debug target/debug/tior open /dev/ttyUSB0 2> log.txt

#rustlang

0
1
2

Jarkko Sakkinen

great, now #tior #serial #terminal tool has UTF-8/escape code encoder for most relevant key presses without modifier key. i guess now is a good time to look at #zmodem support. it is just disjoint state for the TTY session, and in the end might be easier part.
0
0
0
$ tior --help
Connect to serial port

Usage: tior [OPTIONS] <COMMAND>

Commands:
  open  Open TTY
  list  List available devices
  help  Print this message or the help of the given subcommand(s)

Options:
  -b, --baud-rate <BAUD_RATE>        Line baud rate [default: 115200]
  -d, --data-bits <DATA_BITS>        Line data bits [default: 8]
  -f, --flow-control <FLOW_CONTROL>  Flow control [default: none] [possible values: none, software, hardware]
  -p, --parity <PARITY>              Parity [default: none] [possible values: none, odd, even]
  -h, --help                         Print help
  -V, --version                      Print version

$ tior list
/dev/ttyUSB0
/dev/ttyS0

$ tior open /dev/ttyUSB0

Should also implement polling of the device until it becomes available later on.

0
0
0
this is tested in #Linux and #macOS and is expected to also work in #Windows.
1
0
0

Jarkko Sakkinen

beginnings of an input encoder for my serial tool. it is probably better to have in-tool encoder because it also affects a lot to the user experience. next stop probably supporting also backspace :-) https://github.com/jarkkojs/tior/commit/08bc02c0acf8d3424eb35db44f49debc5394989a

#tior #serial #terminal
1
0
0

Jarkko Sakkinen

Edited 1 year ago
I chose GPL2 mainly because I see how fragmented the Rust app ecosystem is. Too many almost the same things, and this is not a library crate so this felt best licensing option.
0
0
0

Jarkko Sakkinen

Edited 1 year ago
a public git for my serial port tool development aimed for mainly kernel testing with various SBC's: https://github.com/jarkkojs/tior. Just a skeleton I'll work on the user input part next, and later on zmodem.
1
0
0
Show older