Quantcast
Channel: Raspberry Pi Forums
Viewing all articles
Browse latest Browse all 8374

General • Re: High GPIO (30 and above) input issue on RP2350B

$
0
0
Bugger. I wasn't aware of that and it's a spanner in the works for my plan of being able to create a single executable image which will run on 'A' and/or 'B' devices without having to hack the Pico SDK, or clone and edit whole chunks of that, to support it.
So far as I can tell from grepping the SDK source, you should be fine to build for 2350B and run on 2350A.

It appears to only affect GPIO and PIO support, where building explicitly for 2350A saves a bunch of code - in the PIO setup, where it needs to consider if the PIO SM is using high GPIOs and tweak the GPIO base and subtract 16 from all the pin numbers if it is, and similarly GPIO code has fewer registers to consider (for example, on RP2350A gpio_get() can just read one 32-bit register and shift it for the desired bit number; on 2350B it has to look at the bit number and pick between two registers to load from and do arithmetic on the shift amount).

They are of course identical chips inside the package regardless of the 'A'/'B' printed on the lid, with the grubby detail of which physical pins are close to which pin drivers hidden from you by hardware multiplexing, so you'd expect this to work.

Statistics: Posted by arg001 — Thu Aug 21, 2025 5:06 pm



Viewing all articles
Browse latest Browse all 8374

Trending Articles