0
\$\begingroup\$

This isn't anywhere near as true as it used to be, but I consider one difference between x86 platforms and ARM platforms to be whether or not booting involves the use of a mask ROM at reset to initialize the system. If we ignore the developments of Intel's ME and AMD's PSP, x86 processors start executing from EEPROM. The code that is stored there can be in whatever format because the processor just executes it, no questions asked. At reset on an ARM chip, things are more complicated. The CPU begins executing code stored in an on-die mask ROM and this code may or may not pass off execution to code stored in a mutable medium depending on the chip's design. The code that it'll jump may need to have a header, even if it is stored in a memory that is XIP-capable.

There are a few instances of ARM-based processors that will start executing code that is stored in EEPROM. The STM32 line of microcontrollers fits this design. However, there will still be some kind of read-only code on the chip that can be booted from if the pin configuration is right. On the STM32 chips there is an "embedded" bootloader on the chip that is used for programming the internal flash.

My question is this: do there exists ARM chips that lack any sort of boot ROM and will behave at reset in the same way older x86 processors used to operate? What situations would they be used in?

\$\endgroup\$
2
  • \$\begingroup\$ To not have any on-chip bootloader is pretty much the norm for microcontrollers. The ones providing it are the odd ones. \$\endgroup\$
    – Lundin
    Aug 14, 2018 at 11:38
  • 1
    \$\begingroup\$ Countless numbers of ARM based chips boot from off chip resources, most of the ones that are apples to apples with the "old" x86 processors. We are not here to do google searches for you. \$\endgroup\$
    – old_timer
    Aug 14, 2018 at 14:10

2 Answers 2

1
\$\begingroup\$

My question is this: do there exists ARM chips that lack any sort of boot ROM

Yes. The Atmel/Microchip SAMD21 series operates this way, for instance -- there is no embedded bootloader; if the chip is fully erased, it won't do anything.

I wouldn't be so quick to treat these parts as being fundamentally different from others like the STM32, though. The BOOT pins on the STM32 control the reset address -- if the part is set to boot from flash, the embedded bootloader is not involved in the boot process.

\$\endgroup\$
1
  • \$\begingroup\$ Actually, I was wrong, Renesas RZ/A has a boot ROM. In fact, there needs to be one as soon as the firmware can be stored in something else than parallel NOR. \$\endgroup\$
    – dim
    May 26, 2018 at 5:55
0
\$\begingroup\$

One factor which is valuable in adding security to a system is the presence of on-chip boot code. That boot code can be in masked ROM, or FLASH, but it doesn't make a lot of sense to design a new SoC which won't support this fairly basic security principle.

Now, on chip boot code is not going to guarantee secure/trusted boot, but it's a step in the right direction and will make reverse engineering a product somewhat harder. There won't be much demand for old-style chips.

Note that it isn't necessary to have a bootloader in order to program a device with embedded flash - the debug port can be used to download a programming algorithm to RAM, and then transfer the data which needs to be written to the FLASH. In order to secure the downloaded code, on chip fuses can be used to disable debug access to the flash.

\$\endgroup\$

Not the answer you're looking for? Browse other questions tagged or ask your own question.