Skip to content

queueRAM/pico_rom_dump

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Pico ROM Dumper

The Pico ROM Dumper turns the Raspberry Pi Pico (or Pico 2) into a device capable of dumping the contents of a ROM device. It currently supports 8-bit parallel data bus, 15-bit address bus, and CE (chip enable) pins. Since the Pico operates at 3.3V I/O, it is assumed that either the ROM will operate at 3.3V or level shifters are used to translate the ROM's voltage to be compatible with 3.3V.

Usage

To use the Pico ROM Dumper:

  1. restore the firmware on a Raspberry Pi Pico (or Pico 2)
  2. connect pins to target ROM and ensure nothing else is driving the bus
  3. connect cable from Pico to computer to provide power and serial shell
  4. connect to USB serial shell using a terminal emulator
  5. run dump command - see example usage below

Example

$ picocom -b 115200 /dev/cu.usbmodem102
picocom v3.1

> help
 * help
	Print list of commands
 * dump
	Dump ROM
	usage: dump [base addr] [length] [bytes per row] [setup time (us)]
	example: dump 0x100 0xf00 32 10

> dump 0x100 0x20
0100: 0000 0000 0000 0000 0000 0000 0000 0000
0110: 0000 0000 0000 0000 0000 0000 0000 0000

Pinout

+-------+-----+------+--------+---------+-----+-------+
| Usage | Pin | Name |        | Name    | Pin | Usage |
+-------+-----+------+--------+---------+-----+-------+
|  UART |   1 |  GP0 |        | VBUS    | 40  |       |
|  UART |   2 |  GP1 |        | VSYS    | 39  |       |
|       |   3 |  GND |        | GND     | 38  |       |
|    A0 |   4 |  GP2 |        | 3V3_EN  | 37  |       |
|    A1 |   5 |  GP3 |        | 3V3(OUT)| 36  |       |
|    A2 |   6 |  GP4 |        | ADC_VREF| 35  |       |
|    A3 |   7 |  GP5 |        | GP28    | 34  | D7    |
|       |   8 |  GND |        | GND     | 33  |       |
|    A4 |   9 |  GP6 |        | GP27    | 32  | D6    |
|    A5 |  10 |  GP7 |        | GP26    | 31  | D5    |
|    A6 |  11 |  GP8 |        | RUN     | 30  |       |
|    A7 |  12 |  GP9 |        | GP22    | 29  | D4    |
|       |  13 |  GND |        | GND     | 28  |       |
|    A8 |  14 | GP10 |        | GP21    | 27  | D3    |
|    A9 |  15 | GP11 |        | GP20    | 26  | D2    |
|   A10 |  16 | GP12 |        | GP19    | 25  | D1    |
|   A11 |  17 | GP13 |        | GP18    | 24  | D0    |
|       |  18 |  GND |        | GND     | 23  |       |
|   A12 |  19 | GP14 |        | GP17    | 22  | /CE   |
|   A13 |  20 | GP15 |        | GP16    | 21  | A14   |
+-------+-----+------+--------+---------+-----+-------+

Notes

To provide user-friendly shell interface, this project makes use of funbiscuit's embedded-cli library which supports tab-completion and shell history in a single header file.

About

Use Raspberry Pi Pico to dump the contents of parallel ROM

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published