aboutsummaryrefslogtreecommitdiffstats
path: root/README.org
blob: 537960be5ee28f668433534d20df02dd90a995d6 (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
* start rust container
#+begin_src shell
  doas podman run --rm -v /home/bjc/src:/home/bjc/src -it --name luchie -h luchie luchie
#+end_src


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~

* 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