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 onmain
mon reset init
followed byload
andcontinue
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