Permalänk
Datavetare

RISC V baserad MCU

Precis fått hem första "datorn" med RISC V CPU, i detta fall en 32-bit MCU.

Den finns bl.a. på Aliexpress, databladet hittar man här.

Rätt packad med finesser. Finns Arduino och Micropython stöd, får se hur bra/dåligt det fungerar...

  • Qingke V4F processor, up to 144MHz system clock frequency.

  • Single-cycle multiplication and hardware division. Hardware float point unit (FPU).

  • 64KB SRAM, 256KB Flash.

  • Supply voltage: 2.5V/3.3V. GPIO unit is supplied independently.

  • Low-power modes: sleep/stop/standby.

  • Power-on/power-down reset (POR/PDR), programmable voltage detector (PVD).

  • 2 general DMA controllers, 18 channels in total.

  • 4 amplifiers.

  • One true random number generator (TRNG).

  • 2 x 12-bit DAC.

  • 2-unit 16-channel 12-bit ADC, 16-channel TouchKey.

  • 10 timers.

  • USB2.0 full-speed OTG interface.

  • USB2.0 high-speed host/device interface (built-in 480Mbps PHY).

  • 3 USARTs, 5 UARTs.

  • 2 CAN interfaces (2.0B active).

  • SDIO interface, FSMC interface, DVP.

  • 2 IIC interfaces, 3 SPI interfaces, 2 IIS interfaces.

  • Gigabit Ethernet controller ETH (built-in 10M PHY).

  • 80 I/O ports, can be mapped to 16 external interrupts;

  • CRC calculation unit, 96-bit unique ID.

  • Serial 2-wire debug interface.

  • Packages: LQFP64M, LQFP100.

Visa signatur

Care About Your Craft: Why spend your life developing software unless you care about doing it well? - The Pragmatic Programmer

Permalänk
Medlem

Trevligt.
Förmodar du kommer avlägga lite rapporter?

Visa signatur

www.fckdrm.com - DRM år 2024? Ha pyttsan.

Permalänk
Datavetare

Efter lite strul gick det att få igång denna med VS Code + PlatformIO.

En riktigt rolig detalj är att trots priset på ~9 USD följer det ändå med en integrerad SWD-debugger, så är möjligt att single-step:a enbart via USB-C sladd!

Har bara testat FreeRTOS än, men det verkar fungera (här "Hello World" som blinkar två LEDs).

Tyvärr saknas MacOS/ARM64 stöd i nuläget, men stödjer annars Windows, Linux och MacOS via PlatformIO. Den officiella IDEn var rejält crap (Eclipse baserad) + den finns bara till Windows...

Edit: den är dyrare än 9 USD hos AliExpress ser det ut som, mitt kort köptes härifrån
https://www.lcsc.com/product-detail/Development-Boards-Kits_W...

Visa signatur

Care About Your Craft: Why spend your life developing software unless you care about doing it well? - The Pragmatic Programmer

Permalänk
Datavetare

Gjorde ett snabbtest av prestanda (heltalsberäkningar) i Arduino (fungerade även på CH32V307).

Är en rätt enkel RISCV design... Trots sina 144 MHz är CH32V307 bara 30-35 % snabbare jämfört med "nya" Arduino UNO R4 med sina 48 MHz.

RPi Pico kör på 125 MHz, den är klart snabbast i detta gäng ca dubbelt så snabb som CH32V307. Dock har RISCV och Cortex M4:an i UNO en FPU medan Cortex M0 CPUn i RPi Pico får emulera flyttal.

CH32V307 har överlägset mest I/O, följt av UNO R4, så här hamnar RPi Pico på jumboplats.

Edit: för den som undrar, prylen med USB-kabel + två st 3-ledare med ett hallon på är en SWD-debuggern till RPi Pico. Bara den kostar som 1,5 st CH32V307 kort, så rätt schyst att de slänger med debuggen direkt! Lite trevligare att single-step:a jämfört med dioder och/eller printf()...

Till RPi Pico och även UNO R4 försvar: dessa två må vara dyrare (UNO R4 är rätt mycket dyrare), men de är långt bättre dokumenterade!

Visa signatur

Care About Your Craft: Why spend your life developing software unless you care about doing it well? - The Pragmatic Programmer

Permalänk
Datavetare

Kort uppdatering.

En positiv sak med enheten är att all källkod som behövs för att använda dess HW finns på github.

Däremot ska man nog vara rätt bekväm med FreeRTOS för att kunna använda denna RISC-V plattform.

Det finns en början till Arduino stöd, men det är väldigt grundläggande och man får vara rätt påläst på Arduino, källkoden för CH32V307 i github-repot ovan samt fatta en del om drivers/TCP-IP om man vill få igång den integrerade Ethernet-enheten.

Krävs i.o.f.s. lite pillrande för just det även i FreeRTOS, men där är den stora fördelen att FreeRTOS är explicit designad för att man enkelt ska kunna hänga in eget HW-stöd.

Är helt klart en väldigt prisvärt MCU, kul med RISC-V och än mer så när drivers finns på github. Men för den som snabbt vill slänga ihop lite saker med färdiga bibliotek är det långt vettigare att hålla sig till Arduino UNO, ESP8266/ESP32, eller Rasperry/Orange/Xyz Pi.

Visa signatur

Care About Your Craft: Why spend your life developing software unless you care about doing it well? - The Pragmatic Programmer

Permalänk
Medlem

Har fått hem en ESP32-C3 från Aliexpress. Får se om den funkar men billig var den. Betalade $0.49 kampanjpris för den första man köpte så jag köpte bara en. Den har RISC-V.

Permalänk
Datavetare
Skrivet av ronnylov:

Har fått hem en ESP32-C3 från Aliexpress. Får se om den funkar men billig var den. Betalade $0.49 kampanjpris för den första man köpte så jag köpte bara en. Den har RISC-V.

Ska ta och testa ESP32-C3. Kollade lite snabbt och Espressif säger att de anser att både Arduino och Micropython stödet vara "stabilt" för denna.

Har kört en hel del Arduino på ESP32 och ESP8266, det fungerar superbra. Har också kört en del Micropython på ESP32 med riktigt bra resultat. Så om Espressif anser att ESP32-C3 är "stabilt" tror jag man kan förutsätta riktigt bra stöd.

Det skrivet, vill också understryka att även om just Arduino och Micropython stödet verkar rätt meh för CH32V307V så har plattformen ändå flera kvalitéer.

Dels är debugger-stödet lysande, betydligt bättre än vad man får på typiska Arduino-plattformar utan extra HW. Vidare har CH32V307V extremt bra I/O-stöd för att vara en MCU, betydligt bättre analog-stöd jämfört t.ex. ESP32, RPi Pico och också bättre än UNO/UNO R4. Man får också USB och Ethernet-stöd integrerat (och är man OK med att köra FreeRTOS fungerar det även i praktiken).

Visa signatur

Care About Your Craft: Why spend your life developing software unless you care about doing it well? - The Pragmatic Programmer