โปรเจกต์ Arduino บน $4.9 RISC-V Board
Longan Nano พร้อม GD32V series MCU ราคาเพียง $4.9 คุณจะได้รับ Arduino board ที่มาพร้อม 128KB Flash, 32KB RAM, LCD และแม้กระทั่ง acrylic case
Longan Nano พร้อม GD32V series MCU ราคาเพียง $4.9 คุณจะได้รับ Arduino board ที่มาพร้อม 128KB Flash, 32KB RAM, LCD และแม้กระทั่ง acrylic case
Sipeed Longan Nano น่าจะเป็น Board พัฒนา RISC-V ที่ราคาประหยัดที่สุดที่มีจำหน่ายในปัจจุบัน ด้วยราคาเพียง $4.9 คุณจะได้รับ Flash 128KB, RAM 32KB, LCD ขนาด 160x80, ช่องเสียบ TF card และแม้แต่เคสอะคริลิกใส
Chip หลักบน Board คือ Microcontroller ตระกูล GD32V จาก GigaDevice รุ่น GD32VF103CBT6 จากข้อมูลที่ให้ไว้โดย เว็บไซต์ RISC-V มันคือ SOC แบบ 32-bit พร้อมชุดคำสั่ง RV32IMAC และมี Core ที่ชื่อว่า "Bumblebee"
Sipeed ได้จัดเตรียม board support พื้นฐานสำหรับ Longan Nano และ URL สำหรับ Board Manager ของ Arduino IDE คือ:
http://bigbits.oss-cn-qingdao.aliyuncs.com/Arduino_for_GD32V/package_longduino_index.json
ในปัจจุบัน URL นี้รองรับเฉพาะ Platform Windows สำหรับ macOS หรือ Linux ทางเลือกของ IDE อื่นคือ PlatformIO
ตามที่ผมได้กล่าวไว้ข้างต้น ตัว board support package มีเพียงฟังก์ชันพื้นฐานเท่านั้น ไม่มี Library สำหรับ Serial, ไม่มี Library สำหรับ SPI,...
Library Arduino RT-Thread เข้ามาช่วยแก้ปัญหานี้ ซึ่งรองรับ Board Longan Nano ตั้งแต่ v0.8.1
RT-Thread เป็น RTOS แบบ open source อย่างไรก็ตาม ยังมีการเตรียม Driver และ Utility ต่างๆ ไว้ให้อีกด้วย
สำหรับ Longan Nano ในปัจจุบัน Library นี้มี Driver สำหรับ UART, SPI, TF card และ LCD ส่วน Utility ของมันส่วนใหญ่จะไม่ขึ้นกับ Hardware เช่น FatFS, tiny shell และอื่นๆ ดังนั้นด้วย Library เพียงตัวเดียวนี้ คุณอาจจะได้รับความสนุกอย่างมาก
แต่ยังมีอีกสิ่งหนึ่ง (Library) คือ RTT-GUI มันคือ Library สำหรับ GUI ที่ทำงานบน RT-Thread ซึ่งมี UI widgets, ตัวถอดรหัส BMP / JPEG, Font และอื่นๆ (ซึ่งปัญหาใหม่ในตอนนี้ก็คือการขาดแคลนพื้นที่หน่วยความจำ)
เปิดใช้งาน RT-Thread
สำหรับ Arduino IDE นั้น Library RT-Thread รองรับ Board Longan Nano โดยไม่ต้องตั้งค่าใดๆ เนื่องจาก Macro ที่ชื่อ BOARD_SIPEED_LONGAN_NANO ได้ถูกกำหนดไว้ใน board support package เรียบร้อยแล้ว
สำหรับ PlatformIO ต่อไปนี้คือตัวอย่างของไฟล์การตั้งค่า "platformio.ini"
[env:sipeed-longan-nano]
platform = gd32v
framework = arduino
board = sipeed-longan-nano
debug_tool = sipeed-rv-debugger
lib_deps = RT-Thread, RTT-GUI
build_flags = -D BOARD_SIPEED_LONGAN_NANO
monitor_port = /dev/ttyUSB1
monitor_speed = 115200
เปิดใช้งาน RTT-GUI
เปิดใช้งานบรรทัดต่อไปนี้ใน "guiconfig.h" (คุณสมบัติบางอย่างอาจถูกปิดใช้งานในไฟล์นี้เพื่อประหยัดหน่วยความจำ)
#define CONFIG_GUI_DEVICE_NAME "ST7735" // RGB565
#define CONFIG_USING_RGB565 (1)
สนับสนุนเพื่อรับ Source Code หรือแอปพลิเคชันสำหรับโปรเจกต์นี้