We'll dig through the new RP2040 chip datasheet and implement a Cortex M0 virtual machine from scratch, all in JavaScript. It's gonna be challenging, fun and intense.
For more details check out the Hackaday project: https://hackaday.io/project/177082-ra...
Project repo: https://github.com/wokwi/rp2040js
Get updates about the next live-stream: https://pages.wokwi.com/rp2040
Wokwi Arduino simulator: https://wokwi.com
00:00 Getting started
01:44 Intro
03:36 First look at the RP2040 datasheet
05:20 Creating the rp2040js project
07:28 The Cortex-M0 Instruction Set
12:11 Looking at the assembly code of blink
14:07 The address space
18:29 Setting up the simulated Flash memory
19:42 Cortex-M0 registers (R0-R12, SP, LR, PC)
23:08 Implementing the program counter and decoding instructions
26:09 Loading blink.hex
31:15 Looking at the bootrom
34:37 main() function
35:45 PUSH and the Stack Pointer
54:29 Setting up for TDD (Test-driven development)
1:11:25 Implementing MOVS
1:18:00 LSLS (Logical Shift Left)
1:26:05 Faking branches (BL)
1:44:04 STR
2:03:57 Closing the loop (B.N)
2:21:16 Speaking words of wisdom, Let it Blink
2:22:16 The GPIO Address space
2:31:41 Wrap up
All episodes: • Live-coding Raspberry Pi Pico Emulato...