Raspberry Pi RP2350 - New Microcontroller Chip with Arm CPUs and RISC-V CPUs 🤯
Вставка
- Опубліковано 10 вер 2024
- The Raspberry Pi people have released a new microcontroller board the Raspberry Pi Pico 2. However the star of the show is the new microcontroller chip, the RP2350. It upgrades the CPU from the Cortex-M0+ to the Cortex-M33, but it also adds a surprise!
---
Let Me Explain T-shirt: teespring.com/...
Twitter: / garyexplains
Instagram: / garyexplains
#garyexplains
Regarding the challenger, this is pretty great news: "we’ve teamed up with Earle F. Philhower to provide Arduino support for our RP2350 based boards"
Would be interesting to see Raspberry make more ARM or RISCV based microcontroller chips. The RP2040 is already very cheap and easy to use for any project... But a common requirement is a good quality ADC/Audio Codec for mic based projects. I hope the newer chips also have this functionality 😃
The RP2350B variant with 48 GPIO is HUGE news for the modern-retro community. The iconic Z80 and 6502 are either dead or dying and we have very few (if any) sustainable options for future platforms. The ability to emulate these old 40-pin processors on a single inexpensive chip with full data/address busses could actually be the life-raft we need. Sure it's not 5V compatible but honestly I see that 5V itself is going the way of the dodo and isn't a safe bet for future hardware designs.
5V tolerant when Vcc is 3.3V but it can't drive 5V (you'll need a few level shifters for data)
Is it enough to emulate PCI?
@@monkev1199 5V tolerant input is fine, and if the output is CMOS level it may still be compatible with 5V TTL inputs.
@@soundspark The datasheet says that it can handle 5.5V input if IOVDD is 3.3V, so that thankfully removes the need for voltage dividers. They did change that for RP2350 because the previous RP2040 was running outside the spec if the IO voltage input was higher than IOVDD+0.5V. So yes it's now technically "5V tolerant", it just doesn't have the ability to drive an output to the full 5V (so it's still not what I would call compatible). The RP2040 was able to drive TTL outputs just fine though.
If your project involves a Zilog Z80, you can use a Zilog eZ80 instead. I know western design center also makes 6502 compliant cpus.
Gary thanks for highlighting this release. Your title is not hype for sure. I believe the maker community will find this MCU really impressive. It’s like an STM32F469 180MHz, but at like 1/10 the price. The fact that RP2350 has extensive floating point instructions cannot be understated. The 520k RAM opens up frame buffers for graphics, audio apps and bigger apps. Incredible upgrade.
Thumbs up to Raspberry Pi for making both the pico and pico2 pin compatible, will be able to drop the pico 2 into my midi router project and with the additional PIO block gain 2 more ports.
How’s that midi router cooking up? That sounds dope
Technically it's not called Thumbs anymore. its T32...
@@jmsiener have hardware built although need to fix an oversight with spacing of connections to each IO port on the main/controller board, going to need to respin the mainboard anyway to add extra output ports.
The rest is software, basic "hub" is working, am in the process of adding routing (by port, channel etc).
Hopefully the faster cores allow things like Zuluscsi and BlueScsi to transfer data fast enough for old SGI and Sun machines.
Existing ones using the 2040 or PiPico can only do a couple MB/s for retro Mac and Amigas.
Gary that was a fantastic summary of the RP Pico boards. Thanks for the video!
Glad you enjoyed it!
Very cool how you can boot mixed architecture as well !
Actually, I'm still amazed microcontrollers with multiple cores to begin with, things have changed a lot over the decades.
Imagine a future where all 4 cores are usable at once. 4x ARM or 4x RISC-V at this price point would be absolutely insane.
Hiiiii Gary 👋
@raspberrypi Hi. Thanks for watching 😁What is the best way to connect with you, I have a couple of questions? Thx.
I would love to see some Emulation "computers" being built with these. An Apple II (maybe even GS), Atari 400, CP/M, DOS computers for gaming, with super-simple VGA or EVEN HDMI output signals, and an absolute minimum of external hardware. MOST of the functionality to be achieved in software. This is far beyond what I can program, but I would LOVE to USE and PLAY with such machines. THANK YOU in advance to all who endeavor that...
I can hardly wait to see what kind of retrocomputer graphics (etc.) card they're gonna make out of this!
Oh man, it's been only 2-3 hours since I asked Gary in the previous video if he'll cover this. Glad to see him so excited about this, I sure am.
In case there's need for ideas on what to do with these, I'd say first
- compare the efficiency of the new cores, compared to the M0+ cores
- show/highlight some workload that the M33 shines in that the M0+ cannot do (like floating point), to see what massive differences there can be. I suspect M33 will have ISA advantages over the Hazard3 too, this would also be neat to show some examples or a list of most common things that will benefit from the M33 instructions. I suspect it's not the case, but maybe there's instructions that Hazard3 has that the M33 doesn't ?
- some performance benchmarks, but those are a given anyway
- PicoMon 5000 ?
PicoMon 5000 with 5 status LED sets!!!! 😜
Great video, Gary. Thanks for detailing the differences between M0+ and M33. I’m curious to see how much faster my existing code will run on M33 with proper FPU. 👍
awesome it's nice to see a recent update. it's been a while. The RP. 2040 it's still relevant. welcome in the new but still remember the old. it has its place😊
Something everyone have missed to talk about yet, is that the new pico 2 have TMDS built in.
Meaning that hdmi output is much simpler and better with the new pico 2.
Interesting to know!
Hoping the MicroMac project can leverage the Pico 2 in some way. Can't wait to see future developments with the project.
Sounds like these things will be able to a lot more with video than the Pico can.
I wish is fully supported SHA3, both SHA3 and SHA3-Shake.
sounds a lot more powerfull, not only 4 cores, instead of only 3(in case of the pico W since it also has a core in the wifi chip)(just hope some hackers will early on find easy ways to use all 4 cores at once).(5 or 6 cores for the pico 2 W probably due to the extra core in the wifi chip).
but even the increase in the cpu instrictions per clock is a lot better in general.
more pio and ram and storage also are nice, but have to see ofcource how it works.
There won't be a way to use all four cores at the same time. The chip is dual core with mechanisms for the two cores to communicate, use the ram, access the gpio etc.
Raspberry Pi, in the microcontroller industry, should focus more on cheap and widely available microcontroller chipsets, let it be RICSV or ARM, as it would prove beneficial for consumers and them too...
That is exactly what this is. Many have not touched the RISC arch, and this allows the cutting edge to have a plaything to prototype and dream.
It sounds like you want to insert RISC into the higher level of technology, and there ARE platforms for that. With RISC being Open Source, all levels of technology can be touched by this new arch, and the low-level microprocessor is the place to start.
Still waiting for a 128 core RISC V CPU with 512 bit SIMD powered Supercomputer to end up at the top spot of TOP500.
Yeah, don't hold your breath.
I want the RP2354 chip. Should be super simple to make your own PCB with this thing. For simple needs there is no need for neither external flash nor a crystal. I assume it would still need a couple of caps but otherwise it just needs power.
The 2354B is very enticing to me. Lots of GPIOs and onboard flash is perfect for me to make some little boards on the cheap. I'm getting the idea that these would be awesome as little semi-fixed-function boards, like as the brain for a multi-motor controller or sensor board where the code is small but I/O needs are relatively large.
Hey, Gary. Thank you for the video! Excellent content; however, if I may make a suggestion: the resolution between your virtual background and your camera do not match. Your image was quite blurry. Additionally, the link for your Teespring t-shirt is not working as I think the site has changed? Not sure.
I am wondering about the state of using Micropython with this board. Does it merely boot into the ARM cpu and then you have to do C and bit-fiddling to manually address the Hazard core?
Can MP address all 12 State Machines or is it limited to the 8??
Thank you SO much for this breaking news. This is as exciting as SpaceX and Starliner in that we are seeing the mass penetration of the RISC architecture, which as always starts with the tinkerers and experimenters pushing into the frontier of a new technology. It's quite neat and fun to see Open Source get all the way down to the bottom of the stack (No Pun Intended).
Ill get 2 pico2w when they come out. I have to learn more about them.
i hope this means we will get a fullsize riscv raspberry
The Pi5 has the perfect name for it already. Imagine they launch a Pi-V, likely with a Starfive SoC.
I am going to hold out for the one with the extra pins when they start being produced 😄👍
What specific project do you plan ? 😃
@@arnavpawar256 just playing with it, I am new to micro controllers since the pi2040 came out, and want to have to option to teach others some day. So far I just made videos for my tiktok followers, well my old account that got banned 🤪 i tell inconvenient truths too much online 🤪✌️
Looking forward to you playing with the new pico, would be cool if you made a project with it. :D
Hopefully a new chip will be released in the future with an ARM Cortex m85.
When you are testing this can you measure on power consumption?
Didn't know the RISCV was inhouse. 👍
Anyone know if they increased the version of USB from 1.1 on the TP2040 to USB 2.0 through the Micro USB connector.
It is still USB 1.1
I do not completely understand the benefits of adding the RICSV cores. Is this not a waste of die surface. Is the RISCV more energy efficient or faster. At first sight the Arm core looks superior. I prefer programmable hardware than two cores you can not use. Gary please explain.
I can't explain. It is a big surprise and I will have to wait until I get boards to see if there is any benefit in having the RISC-V cores present.
The RISCV has an extension architecture would it be possible to create extensions with the PIO.
No, RISC-V extensions are at the instruction set level, they need to be baked into the silicon.
The idea appears to be to entice some more development on the RISC-V side, while still having the "safe" ARM cores. This chip plays both ways. Enthusiasts and tinkerers who want to develop for the new architecture can do so, and the same product can also run for people who just want a cheap microcontroller with little fuss.
I do agree though. I would have liked to see that die area perhaps go to more RAM, but beggars can't be choosers and I'm still looking forward to the new chips.
I'm really here for the chip rather than the boards. Specifically the potential chips with internal flash. RPi has had that last digit placeholder for some time now but I don't know of any chips yet with internal flash... are there?
I can't find the RP2354 in either flavor yet, but the RP2354B has me very excited. 2MB of flash, 520KB of RAM, and 48 GPIO pins in a little package is very attractive for some robotics.
@@DigitalJedi I saw an article that said the flash variants would be available by end of this year.
both ? Woow
very interesting indeed. a bit confusing how this will work. does this means sha256 and TRNG not available if you boot to RISC-V only?
They are features of the CPU itself, just like the FPU or DSP. You can only use the features of the CPU that you boot.
@@GaryExplains , thanks for the clarification. looking forward to your review. would you mind testing the sleep mode energy usage?
@@test40323 The sleep mode, should be tested with battery power, not usb powered.
How does the true hardware random number generator work? Is it based on background thermal noise?
From the datasheet: The TRNG block generates a block of 192 entropy bits generated by automatically processing a series of periodic samples from the TRNG block’s internal Ring Oscillator (ROSC). The TRNG block’s ROSC is a free-running oscillator with no direct connection to the system clocks on RP2350. As a result, the ROSC generally runs asynchronously to the system clocks.
@@GaryExplains interesting - thanks - Wikipedia says : "The period of a ring oscillator varies in a random manner as T+T' where T' is a random value. In high-quality circuits, the range of T' is relatively small compared to the average period T. This variation in oscillator period is called jitter.[3]
Local temperature effects cause the period of a ring oscillator to wander above and below the long-term average period"
I was expecting the working speed to be faster
There is a direct link between power consumption and clock speed.
Keeping the power low is more important, it is fast enough
Given the severe vulnerability recently discovered in the RISCV architecture, I wonder how utilized these cores will be by developers.
I don't think it was a vulnerability in the RISC-V architecture but in one particular implementation.
A security flaw has been found in one particular RISC-V chip's implementation of the vector extension (allowing user mode access to what should be protected regions of memory), which the Hazard3 doesn't have.
Does the M33 hardware divider really require sometimes 11 cycles as the M33 Wikipedia page suggests? Most MCUs with a hardware multiplier/divider can perform these operations in a max 1 or 2 clock cycles. Maybe the M33’s divider is designed differently? Or they are just not the same thing and I'm just stupid. 😋
According to Arm's documentation is it 2-11 cycles, depending on the values. I don't know what "values" would trigger the 11 cycle version!
Which MCU has a divider that only takes 1 or 2 clock cycles?
Can it boot all the 4 cores two M33 and two RiscV ?
No.
@@GaryExplains lame then
Lame? Really? Why is it lame? What processor are you currently using that can boot 4 cores, 2 of each type? The fact that it can boot 1 Arm and 1 RISC-V is amazing, not lame. It is a dual-core system, not quad core.
I cant believe they didnt add a reset button! Again!
13:00 buy that then.
For the same price, ESP32 run at 240Mhz, has wifi and bluetooth. What are the advantages ? 4 cores ?
That is an oft asked question. I have a video comparing the power and performance for various microcontrollers, the ESP32 doesn't do that well. But for me, the biggest concern would be supply chain. The ESP32 is a 100% Chinese offering. For tinkering and learning that isn't a problem but if you want to build a business on that, don't. There are ESP32 made in Europe, which is slightly better, and of course the Pi is designed and build in the UK.
@@GaryExplainsCan you please elaborate on this? Maybe in a future video? What's the problem with business and China? Isn't everyone actually using Chinese hardware? Like all big tech+foxconn business?
@@GaryExplains personaly I like China, more than US. Especialy for political reasons.
Like, the lack of wifi and bluetooth, along with the lack of a realtime-breaking black-box blob running to maintain them. Most projects do not need any wifi (or may be actively harmed by the presence of wifi), but must MCU projects require some form of a hard real-time, which is unavailable on ESP32.
Interesting to see if mixed architecture is a useful. We see this with CPU and GPU systems or CPU and DSP. We also saw two different CPUs when people wanted to run DOS on Apple etc. it seems daft to me but I would love to see a user case for it. It will come down to if the RISC V CPU can do things better than the ARM.
Other than just for the pure geek factor, it is hard to see the benefit. However that won't stop me from trying!!!
I kind of doubt the RISC-V CPU can be better, except maybe on having very low idle power usage. Or maybe it's efficient for simple tasks.
I think that the benefit for it is the ease which people can play/test with RISC-V, so it will be a faster/easier transition when the really good chips arrive.
@@Winnetou17 maybe. As Gary explained it seems like a cool factor. I like how you can see the Verilog of the design. It's just a shame there is still a reasonable barrier to entry for the EDA tooling and all of the fab IP. I'd love to see truly open hardware for semis.
I suspect this isn’t so much about immediate usefulness or even the cool factor - instead I think we will see a lot more RISC-V usage across their product line in the future and this is a way to make sure designers, users and the software chain are ready
I had one idea and that is, is it possible to write malware for one architecture to take control of the other. Will depend on how the memory is mapped. I suppose the system will only be as secure as it's weakest link.
so, practically you have x2 processors of which you can always use only one, while the other processor is sitting doing nothing. I mean what is benefit of such configuration?
No, like the RP2040, it is a dual core system and both CPU cores can be used simultaneously. But now you have a choice of CPU type.
@@GaryExplains one has no use for more CPU types, but one would benefit from having more cores, like x4 same cores in this case, so one can multi-thread things.
Well it would seem that Eben disagrees with you 🤷♂️
Some say it is a stepping stone to a RISC-V only chip.
Any sign of a Pico 2 W?
It is planned before the end of year, as far as I know.
Is it actually an preprogrammed fpga?
If it's preprogrammed, can you say still it is a *field programmable* gate array anymore? 😅
@@codyrap95 depends if it is locked or not.
Certainly not. Would be much too expensive.
No, but you may be interested in something like EOS S3 then.
why has it micro usb 😭
Now can they do the same with Arm and Intel cpus?
They literally have ARM CPUs
It is possible to have multiple types of core on a device of any architecture in theory. You could have a chip that boots up either x86 or RISC-V cores for example. The issue comes in using them together, as many times the code one can execute is complete gibberish to the other. So you get stuck with a chip that has a split personality. You can run either or. The ability to boot one of each on this chip is an odd choice and one I don't think is going to be used very often.
@@DigitalJedi I can remember the risc Archimedes machine that you could put an intel cpu and risc cpu and run them at them both at the same time so you could have one machine running both operating instructions. at the same time. Instead of having one host operating system and a virtual one you could have two operating systems s running native. in a smaller form factor.
@tonysheerness2427 That is 2 distinct processors working on different things at the same time. The fact that they share a platform is irrelevant to their functionality other than the physical footprint.
What I am referring to is having a single program, not even at the OS scale, a single program, leveraging both architectures at once on the same physical piece of silicon simultaneously.
This is very challenging as you have 2 completely different ISAs to keep happy at once and facilitate communication between. The utility is also very limited to nearly just a novelty, as a much simpler and likely more performant version of that program could instead use 2 cores of the same ISA without any of the overhead of needing to translate between both.
@@DigitalJedi However can they not treat the two different architectures as two separate cpu's and run them as saparate cpu's at both the same time?
Can it run windows
🤣
What the hell do you use this for???
If you have to ask, it's not for you, go play with Barbie.
Si la CPU coje menos de un segundo en comensar la computadora lo aplaudo sino es un procesador mas de la competencia entré otras empresas.😂😂😂
Risc v will only be in simple device. It will never be used for pc or phone.
This is wrong. There are 64 bit variants of riscv CPU, which can be used as a PC with 8GB of ram.
Does anyone know if Raspberry pi implemented double presision floating point support into their Cortext-M33? Basically did Rasperry Pi fully implement FPv5 support? Gary when you get one of those boards can you see if their M33 supports double presision (FPv5)?
AKAIK All M33 CPUs only support single precision.
@@GaryExplains I was looking at the ARMv8-M reference manual. Page 54 section A1.4 Optional Extensions, sub A1.4.5 Floating point extension, where it states "A PE that implements the Floating-point Extension must implement the Main Extension (M).
The Floating-point Extension supports either single-precision floating-point instructions or both single-precision
and double-precision floating-point instructions.". So it really comes down to what Raspberry Pi implemented in their pico 2 mcu. Can you confirm Gary if they only implement single precision arithmetic, or did they implement double precision as well?
That is true of the generic instruction set, however the M33 has an optional single precision FPU component but no option for double-precision. Only the M52, M55, M7, and M85 have options for double-precision.
@@GaryExplainsok thank you Gary for taking your time out to answer my question. You are a good man. ;-)
The RP235x series of chips have a peripheral that does some level of hardware acceleration for double-precision floating point math. It requires some software to run, but is faster than a pure software implementation.
...but where do you live??
In my house 😜
Only paltry 512K of sram while competitors are providing several MBs of sram. And all the competitors are using USB-C.
Ok sure, but how much are those competitors?
512 KB not 520KB of RAM 2^19 bytes
The RP2340 has 520KB of SRAM.
First!
It is still a p[ain in the ass. Programming it requires push one button and put in the usb. The usb connector is of the wrong type - it always breaks down. Much better would be the use of the C version of usb. Other companies are making boards with 2 pushbuttons and usb C. I will not get this board. Eben should have known better.
It is very simple to add a reset button on a breadboard, if you are using microcontrollers then I assume you have the ability to do that, takes 2 minutes. Or you could use the Raspberry Pi Debug Probe.
Why do people bellyache so much about microusb? I've used it for years on many devices and I've never had one fail me. If we're just moving to USB-C just to be trendy then I don't see the point.
@@jimtekkitmicro usb *does* have durability problems, even if they're not as bad as reading comments on a pi pico video would have you believe. plus, given everything else is moving to usb c, I'd rather not have to keep around micro cables just for a pico
There are already alternative boards with the RP2350 and USB-C so no need to miss out .
new mc no one gives a crap about
Really? How are you gauging that?
@@GaryExplains by amount of commercial products based on rp2040 and now rp2350. Not development boards like Pi Pico 2, but final products. You will struggle to count even 10. But stm32 or esp32 or Nordic are all around, literally millions products with trillions of devices. That's a plain definition of "no one gives a crap about".
And the specs of rp2350 do not really make much sense to me. These two architectures hints me they want to migrate from arm to risc-v completely but not there yet. Therefore rp2350 is kind of intermediate thing and not even a chip for making final products. So why care about it if it wont affect anything. Ok, it exists. Fine. Carry on.
Two thoughts 1. The development boards themselves are important for educators and makers. That means there are loads of people who do care. 2. In 2023 it was reported that 10+ million rp2040 chips were made. I agree that isn't the same scale as other microcontroller chips, but it is something, 10 million somethings. It all depends on your point of view.
Also worth looking at www.raspberrypi.com/for-industry/powered-by/product-catalogue/?category=RP2040
It's 150 MHz but the problem is it can only load the instructions from the flash chip at 3 MHz. And the cache still only 16 kb. So it's really a 3 MHz chip, if your program is more than a blinky.
It has 520k onboard ram beyond the cache. This where your programs will run from.
How did you even begin to imagine a CPU runs programs directly from flash storage? Is there actually any RAM-less device which runs programs straight from storage?
I wonder why they didn't just give us 4 ARM cores? Maybe they could have given us two different 4 core chips.
The chip is dual core with mechanisms for the two cores to communicate, use the ram, access the gpio etc. Making a 4 core version isn't trivial. Adding two different types of cores that use the same mechanisms is easier.