PicoROM icon indicating copy to clipboard operation
PicoROM copied to clipboard

Support for RP2350A

Open vslinuxdotnet opened this issue 3 months ago • 3 comments

Hello, First of all great project! I will try to make this project but for RP2350A IC because i can skip all logic in new RP2350A, they is tolerant to 5V in I/O, and also more speed, 512kb RAM, 4MBit support (A18) from (BUF_OE) pin. My test hardware is done, but i need some help to build the firmware for RP2350A device. The code all most compiles, but in flash.cpp the function: "void __no_inline_not_in_flash_func()" needs to be converted, because SSI is from RP2040 and the RP2350A uses QMI driver. This function copy flash to ram correct ? Any sample to I get same code ?

Thanks & Regards

vslinuxdotnet avatar Aug 29 '25 22:08 vslinuxdotnet

This function, flash_bulk_load is for quickly copying the image from flash memory into RAM. I did a quick search but didn't find any RP2350 equivalent. You can comment out the call and uncomment the memcpy in flash_load_rom. This will get things compiling at least.

wickerwaka avatar Sep 04 '25 03:09 wickerwaka

I changed the function to the new storage driver and some other stuff to set for RP2350A. It complies but the code don't work in the device, after I comment the include map for "memmap_firmware.ld" the code runs! I connected to the serial port and see the welcome message, so all in the correct way! :) I what the remove that obscure part that you have the TCA5404, now exists two free gpios, so i project one for the reset line and the other for the debug states, by the way, for what do you need the two leds ? About the support the new device the RP2350B have more GPIOs you can support more devices and eprom sizes. Other thing the command: picorom-x86_64-unknown-linux-musl list gets: "No PicoROMs found", but in serial if i connect, i get "PicoROM HelloConnected" picorom in RP2040 find it, but in RP2350 don't but the serial out is correct, any idea ? The hardware: Image

vslinuxdotnet avatar Sep 05 '25 09:09 vslinuxdotnet

Fixed the code to detect the RP2350, in rust file, the lib.rs line 502:

if info.vid == 0x2e8a && info.pid == 0x000a {

to

if info.vid == 0x2e8a && info.pid == 0x000a || info.vid == 0x2e8a && info.pid == 0x0009 {

vslinuxdotnet avatar Sep 08 '25 21:09 vslinuxdotnet