[Article] RISC-V Emulator for Pine64 Oz64 SBC
#1
Earlier this year we made a RISC-V Emulator for Ox64 BL808 SBC. Every day we run it for testing the Daily Build of Apache NuttX RTOS for Ox64, thanks to our customised TinyEMU RISC-V Emulator. (Not the small flightless bird)

Now that NuttX supports Sophgo SG2000 SoC: Let’s create a similar emulator for Pine64 Oz64 SBC…

(1) We take TinyEMU Emulator for Ox64 BL808 SBC
(2) Update the RISC-V Memory Map to match Sophgo SG2000 SoC
(3) Fix the `auipc` Overflow in TinyEMU Boot Code
(4) We emulate the 16550 UART Controller
(5) By intercepting Reads and Writes to the UART I/O Registers
(6) But TinyEMU supports only 32 Interrupts, we bump up to 64
(7) Eventually we’ll emulate SG2000 Peripherals like GPIO
(8) Right now it’s good enough for Daily Automated Testing of NuttX for SG2000

Check out the article: RISC-V Emulator for Sophgo SG2000 SoC (Pine64 Oz64)

Lup

   
  Reply
#2
(07-06-2024, 06:50 PM)lupyuen Wrote: Earlier this year we made a RISC-V Emulator for Ox64 BL808 SBC. Every day we run it for testing the Daily Build of Apache NuttX RTOS for Ox64, thanks to our customised TinyEMU RISC-V Emulator. (Not the small flightless bird)

Now that NuttX supports Sophgo SG2000 SoC: Let’s create a similar emulator for Pine64 Oz64 SBC…

(1) We take TinyEMU Emulator for Ox64 BL808 SBC
(2) Update the RISC-V Memory Map to match Sophgo SG2000 SoC
(3) Fix the `auipc` Overflow in TinyEMU Boot Code
(4) We emulate the 16550 UART Controller
(5) By intercepting Reads and Writes to the UART I/O Registers
(6) But TinyEMU supports only 32 Interrupts, we bump up to 64
(7) Eventually we’ll emulate SG2000 Peripherals like GPIO
(8) Right now it’s good enough for Daily Automated Testing of NuttX for SG2000

Check out the article: RISC-V Emulator for Sophgo SG2000 SoC (Pine64 Oz64)

Lup

Awesome and thumbs up
  Reply
#3
Thank you so much TL! :-)
  Reply


Possibly Related Threads…
Thread Author Replies Views Last Post
  [Article] RISC-V Ox64 BL808: UART Interrupt and Platform-Level Interrupt Controller lupyuen 2 5,765 09-03-2025, 10:51 PM
Last Post: PrinceMorissette
  SBC Case Builder and Pine64 SBC hominoid 1 2,159 06-13-2025, 03:03 PM
Last Post: hominoid
Star Pine64 Logo Submissions Admiral Snackbar 0 904 06-08-2025, 03:00 PM
Last Post: Admiral Snackbar
  Has anyone installed Trisquel (linux-libre) on Pine64 RockPro64? libreboy 0 1,036 05-30-2025, 03:40 AM
Last Post: libreboy
  [Article] Creating the Unicorn Emulator for Avaota-A1 SBC (Apache NuttX RTOS) lupyuen 0 1,188 04-12-2025, 06:04 PM
Last Post: lupyuen
  [Article] Porting Apache NuttX RTOS to Avaota-A1 SBC (Allwinner A527 SoC) lupyuen 2 1,785 03-22-2025, 07:30 PM
Last Post: lupyuen
  Anyone thinking about putting a RISC-V CPU in a watch? Darin755 1 1,412 03-18-2025, 05:55 PM
Last Post: KC9UDX
  [Article] StarPro64 EIC7700X RISC-V SBC: Maybe LLM on NPU on NuttX? lupyuen 2 2,171 03-08-2025, 09:20 PM
Last Post: tllim
  Advice on Choosing the Best Pine64 Device for My Use Case? Ingrid 4 2,503 02-28-2025, 01:14 AM
Last Post: stefan_hdb
  [article] Linux Phone Takeover Juergen 3 2,253 02-25-2025, 08:23 AM
Last Post: Kevin Kofler

Forum Jump:


Users browsing this thread: 1 Guest(s)