blob: b9da1b8b24d98468c8d404dac6f4442447fa2c0d (
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
|
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
|