Commit Graph
18 Commits
Author SHA1 Message Date
Stefan Kerkmann 66d566f8c0 Use functions provided by the nuclei-sdk hal 2021-08-07 11:33:36 +02:00
Stefan Kerkmann 60d03110f7 Correctly initialize and handle the system tick
Forgot to reload the systick timer in the irq handler
2021-08-07 11:33:36 +02:00
Stefan Kerkmann 1d2a57a9e1 Remove unsuitable clock configurations from init code
Only 48MHz, 72MHz, 96MHz and 120 MHz system clocks derived from an
external crystal are suitable for the usb peripheral, as the internal
oscillator is not stable enough. Also the usb-prescaler only supports
division by 1 (48MHZ), 1.5(72MHz), 2(96MHz) and 2.5(120Mhz).
120Mhz is also out of spec and not added here.
2021-08-07 11:33:36 +02:00
Stefan Kerkmann 733a362436 Use nuclei-sdk functions for init code
Instead of using the HAL functions we can just use the defines from the
board support for the longan nano that comes with the nuclei-sdk. Also
we move some includes and defines to the header file.
2021-08-07 11:32:06 +02:00
Stefan Kerkmann 6e287a7c5e Cleanup include paths and use linker files from nuclei-sdk 2021-08-07 09:51:56 +02:00
Stefan Kerkmann b473923f42 Remove redundant linker files
We use the linker files provided by nuclei-sdk instead
2021-08-07 09:51:16 +02:00
Stefan Kerkmann 7682829820 Add correct endpoint count for GD32VF103
This controller family only supports USB FS with four endpoints
2021-08-07 09:01:01 +02:00
Stefan Kerkmann c6d495d643 Remove dependencies to external libraries for the dcd driver
The core of tinyusb must be as independent as possible, we previously
relied on nuclei-sdk or the GD32VF103 firmware library for the synopsys
driver to work with the GD32VF103. Fortunatly we needed very few parts
from them so we implement them here.
2021-08-07 08:55:25 +02:00
Stefan Kerkmann 3eb54d878a Add stm32 license header 2021-08-03 20:21:06 +02:00
Stefan Kerkmann ab1979e2d3 Revert "Disable -Werror for now"
This reverts commit 5e0c2e122300e7a6289b3bd08044f9cf1dbdef05.
2021-08-03 20:01:10 +02:00
Stefan Kerkmann e5bd6bdeff Update nuclei-sdk with __riscv_flen fix 2021-08-03 20:01:10 +02:00
Stefan Kerkmann 790d90bf26 Set FreeRTOS to RISC-V (doesn't compile) 2021-08-03 20:01:10 +02:00
Stefan Kerkmann 23e3b1680b Use JTAG for jlink flashing 2021-08-03 20:01:10 +02:00
Stefan Kerkmann 3db2089aa9 Minor clean ups 2021-08-03 20:00:39 +02:00
Stefan Kerkmann 771bbe8af7 Use https github as submodule 2021-08-03 20:00:39 +02:00
Stefan Kerkmann ddb83787a0 Disable -Werror for now
Without having __riscv_flen defined we get multiple warinings. But
defining it causes the startup code to contain floating point instructions.
This results in a exception right after booting.

See startup_gd32vf103.S lines 289-294 should open a PR at nuclei sdk
2021-08-03 20:00:39 +02:00
Stefan Kerkmann 19b971cb24 Add board support for gd32vf103 longan nano 2021-08-03 20:00:39 +02:00
Stefan Kerkmann 2657560b63 Add hacky GD32VF103 support 2021-08-03 20:00:35 +02:00