aboutsummaryrefslogtreecommitdiffstats

dev environment

rust

container definition lives here.

start container

doas podman run --rm -v /home/bjc/src:/home/bjc/src -it --name luchie -h luchie luchie

openocd

can i make this eshell?

ssh psyduck "cd luchie && ./m openocd"

console

ssh -t psyduck "cd luchie && ./m console"

mis-timed clocks

bad uart timings and failing to init usb is a result of using mon reset init with (at least) the pitaya link debugger. maybe others: i haven't tested them.

workarounds include:

  • using mon reset and interrupting or setting a breakpoint on main
  • mon reset init followed by load and continue

cirque trackpad

what the fuck did i do with the code i had for this which did the setup and read the spi registers??

gd32vf103-start board

looks like the start board is a gd32vf103cbt from the tiny print silk-screened on the chip. TME says it's a gd32vf103d6t6 — but gigadevice says gd32vf103cbt6

which means it has 128k flash and 32k sram and 37(!) gpio pins

area start end
sram region 0x2000_0000 0x2001_7fff
boot loader 0x1fff_b000 0x1fff_f7ff
main flash 0x0800_0000 0x0801_ffff

interrupt vector table is 4096 words starting from the start of flash (mtvt register). _start should be at the end of the vector.

according to the user manual (pg 51), at least when waking up, the system boots from 0x0000_0000 (which is an alias to the start of the main flash, iirc)

usb is 2.0 full-speed (12Mbps)

USART

On github it says that uart0 tx/rx is gpio 9/10 — but that's for the eval board. See the risc-v repository for a printf example. The zephyr documentation for it indicates the usb is on usart0 with tx/rx pins pa9 / pa10