I studying the Atmel's ATSAME70Q19 Datasheet and i'm a little confused about boot operation mode from HSMCI.

In Page 892, "38.11 HSMCI Boot Operation Mode" there's a reference which says:

In boot operation mode, the processor can read boot data from the slave (MMC device) by keeping the CMD line low after power-on before issuing CMD1. The data can be read from either the boot area or user area, depending on register setting.

  1. What is the "boot data"? Binary file? Hex File? or something else?
  2. Where is "boot area" and "user area" on microSD card?

I realize that it need to store a binary file into the microSD card but how? In formated card (e.g. FAT) or like a raw data?

  • \$\begingroup\$ because I don't know, i'll add this as a comment, so take this with a cup of salt. What is the "boot data"? Binary file? Hex File? or something else? I'm guessing this is simillar to the boot.ini file for windows. \$\endgroup\$
    – user86234
    Commented Oct 1, 2015 at 20:30
  • \$\begingroup\$ I'm guessing that also, but i wouldn't want guessing, I'm looking for an official reference. \$\endgroup\$
    – MrBit
    Commented Oct 1, 2015 at 20:33
  • \$\begingroup\$ Well after scouring Atmels website for information, they really don't have anything on this. I wanted to put this as an answer but it just wouldn't be good enough. The chip has 2MB of embedded flash so you should be able to load any initialization code into that and then load on anything else you need from an SD card thereafter. Boot code is typically put in the embedded flash anyway, everything else like an OS would be put on the SD card and loaded on thereafter. Boot data would just be a chunk of binary data with a proper header put there by the programmer. Sorry I couldn't help more \$\endgroup\$
    – Funkyguy
    Commented Oct 1, 2015 at 21:29
  • \$\begingroup\$ Programmer as in the software and device, not the developer \$\endgroup\$
    – Funkyguy
    Commented Oct 1, 2015 at 21:30
  • \$\begingroup\$ It is a raw data to be loaded to the ram \$\endgroup\$ Commented Sep 7, 2018 at 22:26

1 Answer 1


The documentation seem to assume that you know what this boot operation mode is about, and why it has sense to be there from functional perspective. Probably it is begin explained and discussed in some Atmel training.

This may also be a historical feature. Look at AT91SAM ARM-based Flash MCU, page 30 - it depicts memory mapping, the very first code block is called "boot memory". As described in 9.1.4 "boot strategies" system always boots from boot memory, and then boot ROM can perform further booting actions from devices and options available.

In your case I bet SD-card is just one of the options to load boot data from - note that datasheet you point to does not state boot code, but talks about data instead. Probably you can make data to become code so that MCU can execute it. But it is certainly up to programmer if to use this boot feature, how to use data on the external device (SD-card) and where it is located - and all this information should be supplied through the boot memory code which is being executed on power-on (or reset).


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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