M1dn1ghtN1nj4
Posts: 12
Joined: Sat Dec 16, 2017 4:22 am
Contact: YouTube

Does the Pi3 actually have "firmware"?

Sat Dec 23, 2017 1:19 am

I'm and Android guy, so I'm plenty familiar with how "firmware" works. However, when it comes to the Pi3, it seems to get hazy.

For example, on a cell phone, there are is a bootloader partition, which is upgradable through software flashing. The "firmware" resides on the /system partition (also upgradable, obviously).

Does the Pi3 have such a thing as a "bootloader" or other "microcode"-style upgradable "firmware"? Or when you say "firmware" are you referring to ANY data that resides on the microSD card?

If it's all on the microSD card, that means that the Pi itself does NOT actually have ANY upgradable firmware onboard. If you're upgrading what's on the SD card, that's only the kernel and such.

That means there is no actual upgradable chip on the Pi that can be flashed, that would contain improvements to onboard controllers, bootcode, or anything else.

Some clarity here would be nice. :D

User avatar
davidcoton
Posts: 3940
Joined: Mon Sep 01, 2014 2:37 pm
Location: Cambridge, UK

Re: Does the Pi3 actually have "firmware"?

Sat Dec 23, 2017 2:13 am

There is no upgradable code on the Pi board.
The SOC contains some fixed ROM code to boot then GPU and find a device with a boot partition. On later Pi2 and Pi3 models this can be SDCard, USB, or network. Earlier models can only boot from SDCard.
There is some OTP (one time programmable) ROM that controls boot device selection for Pi2/3.
Everything else is on the boot partition -- kernel, firmware et al. Until you get to the full Raspbian root.
Signature retired

M1dn1ghtN1nj4
Posts: 12
Joined: Sat Dec 16, 2017 4:22 am
Contact: YouTube

Re: Does the Pi3 actually have "firmware"?

Sat Dec 23, 2017 3:33 am

davidcoton wrote:
Sat Dec 23, 2017 2:13 am
There is no upgradable code on the Pi board.
The SOC contains some fixed ROM code to boot then GPU and find a device with a boot partition. On later Pi2 and Pi3 models this can be SDCard, USB, or network. Earlier models can only boot from SDCard.
There is some OTP (one time programmable) ROM that controls boot device selection for Pi2/3.
Everything else is on the boot partition -- kernel, firmware et al. Until you get to the full Raspbian root.
Perfect. That's exactly the explanation I needed. I'm still fairly new to the Pi, so I want to learn as much about it as I can. Thanks for your clear response.

jamesh
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 23071
Joined: Sat Jul 30, 2011 7:41 pm

Re: Does the Pi3 actually have "firmware"?

Sat Dec 23, 2017 8:46 am

Note that the boot partition on SD card contains firmware that is loaded to the GPU. That firmware can easily be upgraded.

Google for Pi boot sequence. All explained there.
Principal Software Engineer at Raspberry Pi (Trading) Ltd.
Contrary to popular belief, humorous signatures are allowed. Here's an example...
"My grief counseller just died, luckily, he was so good, I didn't care."

broe23
Posts: 903
Joined: Thu Jan 28, 2016 9:35 pm
Location: Central IL
Contact: Website

Re: Does the Pi3 actually have "firmware"?

Sat Dec 23, 2017 8:59 am

M1dn1ghtN1nj4 wrote:
Sat Dec 23, 2017 3:33 am
davidcoton wrote:
Sat Dec 23, 2017 2:13 am
There is no upgradable code on the Pi board.
The SOC contains some fixed ROM code to boot then GPU and find a device with a boot partition. On later Pi2 and Pi3 models this can be SDCard, USB, or network. Earlier models can only boot from SDCard.
There is some OTP (one time programmable) ROM that controls boot device selection for Pi2/3.
Everything else is on the boot partition -- kernel, firmware et al. Until you get to the full Raspbian root.
Perfect. That's exactly the explanation I needed. I'm still fairly new to the Pi, so I want to learn as much about it as I can. Thanks for your clear response.
Start reading up on Linux and how he created the Linux Kernal, which is also how Google created the Android OS with all of the different companies that are a part of the group. Then grab some material on Debian, Raspbian, etc.. The only difference is that the Android devices retain the OS on a Flash ROM that can be corrupted, where as with the PI, you can use either a SSD or SD card. There are some others out there that can run Linux, Windows 10 IoT and Android. While retaining in onboard Flash ROM.
Ren: Now listen, Cadet. I've got a job for you. See this button? Ren: Don't touch it! It's the History Eraser button, you fool! Stimpy: So what'll happen? Ren: That's just it. We don't know. Maybe something bad, maybe something good.

Return to “Beginners”