* dev environment ** rust container definition lives [[file:~/src/MyStuff/docker/luchie/Dockerfile][here]]. *** start container #+begin_src shell doas podman run --rm -v /home/bjc/src:/home/bjc/src -it --name luchie -h luchie luchie #+end_src ** openocd can i make this eshell? #+begin_src shell ssh psyduck "cd luchie && ./m openocd" #+end_src ** console #+begin_src shell ssh -t psyduck "cd luchie && ./m console" #+end_src ** 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. [[https://www.tme.com/us/en-us/details/gd32vf103c-start/development-kits-others/gigadevice/][TME]] says it's a gd32vf103d6t6 — but [[https://www.gigadevice.com/products/microcontrollers/gd32-development-tools/gd32-mcu-starter-kits/][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 [[https://github.com/tyustli/rt-thread/tree/master/bsp/gd32vf103v-eval][github]] it says that ~uart0~ tx/rx is gpio 9/10 — but that's for the eval board. See the [[https://github.com/riscv-mcu/GD32VF103_Firmware_Library/tree/master/Examples/USART/Printf][risc-v repository]] for a printf example. The [[https://docs.zephyrproject.org/latest/boards/riscv/gd32vf103c_starter/doc/index.html][zephyr documentation]] for it indicates the usb is on ~usart0~ with tx/rx pins ~pa9~ / ~pa10~