aboutsummaryrefslogtreecommitdiffstats
path: root/README.org
blob: 1f7965adb7654377472aee72d997d439604e849e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
* 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~