View Single Post
Old 04-22-2012, 06:38 AM   #7
hawhill
Wizard
hawhill ought to be getting tired of karma fortunes by now.hawhill ought to be getting tired of karma fortunes by now.hawhill ought to be getting tired of karma fortunes by now.hawhill ought to be getting tired of karma fortunes by now.hawhill ought to be getting tired of karma fortunes by now.hawhill ought to be getting tired of karma fortunes by now.hawhill ought to be getting tired of karma fortunes by now.hawhill ought to be getting tired of karma fortunes by now.hawhill ought to be getting tired of karma fortunes by now.hawhill ought to be getting tired of karma fortunes by now.hawhill ought to be getting tired of karma fortunes by now.
 
hawhill's Avatar
 
Posts: 1,379
Karma: 2155307
Join Date: Nov 2010
Location: Goettingen, Germany
Device: Kindle Paperwhite, Kobo Mini
Quote:
Originally Posted by geekmaster View Post
From what I read, the mmc first 1KB maps directly into CPU address space on power up, and that is one of the places the SoC looks for bootloader code, so that is the first user-configurable code that runs on the kindle at boot. No EEPROM on the kindle, AFAIK.
Yep, I think you're right there. Reading the "MCIMX31 and MCIMX31L Applications Processor Reference Manual" from Freescale, the SoC has a boot mode that maps the first 2kByte (!) to 0x0. It's not even a special feature of the eMMC, the SoC can do this for any SD/MMC (i.e. "boot floppy" capabilities :-) ).

Toggling the state of GPIO BOOT[0], it will boot from USB. So that's what triggers the USB bootloader mode.

The SoC hast both internal RAM (16kByte) and internal ROM (32kByte), which provides the bootcode and its scratch space. Section 2.1 of aforementioned manual is very instructive there.
hawhill is offline   Reply With Quote