1 / 29

SAM9 Boot Strategies

SAM9 Boot Strategies. Frederic BOYER AT91 Support Group. Version 1.0 October 2006. AT91 Support Group. Version 2.0.2 June 2007. SAM9 BootROM Memory. SAM9 devices feature on-chip BootROM memory BootROM memory can contain up to 4 applications: SAM-BA Boot

vera
Download Presentation

SAM9 Boot Strategies

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. SAM9 Boot Strategies Frederic BOYER AT91 Support Group. Version 1.0 October 2006 AT91 Support Group. Version 2.0.2 June 2007

  2. SAM9 BootROM Memory • SAM9 devices feature on-chip BootROM memory • BootROM memory can contain up to 4 applications: • SAM-BA Boot • Provides In-System Programming Solutions through serial or USB communication channels • DataFlash-Boot • NandFlash-Boot • SDCard-Boot

  3. SAM9261

  4. SAM9261 Internal Memory Mapping (for Master 0 & 1*) BMS=0 BMS=1 16-bit non-volatile Memory 0x0000_0000 0x0000_0000 ROM EBI NCS0 0x0010_0000 0x0010_0000 Undefined Area(No abort) Undefined Area(No abort) 0x0020_0000 0x0020_0000 Undefined Area(No abort) Undefined Area(No abort) 0x0030_0000 0x0030_0000 RAM RAM 0x0040_0000 0x0040_0000 ROM ROM 0x0050_0000 0x0050_0000 ROM mapped by default * Master 0  ARM926 Instruction & Master 1  ARM926 Data

  5. SAM9261 Embedded ROM Power Up Boot From External Flash Boot From ROM Yes No BMS = 1 Boot From External Memory on EBI Chip Select 0 DataFlash-Boot on SPI0 Chip Select 0 User Application Yes Valid Code ? (SPI0 NPCS0) No Downloads and runs code from Dataflash into SRAM SAM-BA Boot

  6. SAM9260

  7. SAM9260 Internal Memory Mapping (for Master 0 & 1*) BMS = 1 BMS = 0 16-bit non-volatile Memory 0x0000_0000 0x0000_0000 ROM EBI NCS0 0x0010_0000 0x0010_0000 ROM ROM 0x0020_0000 0x0020_0000 SRAM0 4KB SRAM0 4KB 0x0030_0000 0x0030_0000 SRAM1 4KB SRAM1 4KB 0x0040_0000 0x0040_0000 ROM mapped by default * Master 0  ARM926 Instruction & Master 1  ARM926 Data

  8. SAM9260 Embedded ROM Power Up Boot From External Flash Boot From ROM Yes No BMS = 1 DataFlash-Boot on SPI0 Chip Select 0 Boot From External Memory on EBI Chip Select 0 DataFlash-Boot on SPI0 Chip Select 1 User Application NandFlash-Boot on EBI Chip Select 3 Optional SAM-BA Boot

  9. SAM9260 Embedded ROM (cont.) Boot From ROM Yes Valid Code ? (SPI0 NPCS0) DataFlash-Boot No Yes Valid Code ? (SPI0 NPCS1) No Yes Valid FAT12/16 ? (EBI NCS3) No NandFlash-Boot Yes Valid Code ? (EBI NCS3) Downloads and runs code into SRAM No SAM-BA Boot SAM-BA Boot

  10. SAM9263

  11. SAM9263 Internal Memory Mapping (for Master 7 & 8*) BMS=0 BMS=1 16-bit non-volatile Memory 0x0000_0000 0x0000_0000 EBI NCS0 ROM 0x0010_0000 0x0010_0000 Undefined Area(No abort) Undefined Area(No abort) 0x0020_0000 0x0020_0000 Undefined Area(No abort) Undefined Area(No abort) 0x0030_0000 0x0030_0000 80kB SRAM 80kB SRAM 0x0040_0000 0x0040_0000 ROM ROM 0x0050_0000 0x0050_0000 16kB SRAM 16kB SRAM 0x0060_0000 0x0060_0000 ROM mapped by default * Master 8  ARM926 Instruction & Master 7  ARM926 Data

  12. SAM9263 Embedded ROM Power Up Boot From External Flash Boot From ROM Yes No BMS = 1 SD Card Boot on MCI1 Not Supported on SAM9263 rev A Boot From External Memory on EBI0 Chip Select 0 NandFlash-Boot on EBI0 Chip Select 3 User Application Not Supported on SAM9263 rev A DataFlash-Boot on SPI0 Chip Select 0 Optional SAM-BA Boot

  13. SAM-BA BootDataFlash-BootNandFlash-BootSDCard-Boot

  14. SAM9 SAM-BA Boot AT91SAM Dependant • Device Initialization • Check if USB Device enumeration (End of Bus Reset) has occured • Check for a received character on the DBGUorCheck if the AutoBaudrate sequence has succeeded • Step 2. and 3. until one occurs • Once the communication interface is identified, the application runs in an infinite loop waiting for different commands

  15. SAM-BA Boot (cont.) • AT91SAM9261 & AT91SAM9263: No AutoBaudrate See. SAM9261 & SAM9263 SAM-BA Boot Requirements

  16. SAM-BA Boot (cont.) DBGU & USB • SAM9261 SAM-BA Boot Requirements:

  17. SAM-BA Boot (cont.) DBGU & USB • SAM9263 SAM-BA Boot Requirements:

  18. SAM-BA Boot (cont.) • AT91SAM9260: See. SAM9260 SAM-BA Boot Requirements • On-chip RC (OSCSEL=0): AutoBaudrate Detection • 32768 Hz Oscillator (OSCSEL=1): No AutoBaudrate

  19. SAM-BA Boot (cont.) • SAM-BA Boot AutoBaudrate Sequence: SAM9260 with On-chip RC Only

  20. SAM-BA Boot (cont.) DBGU & USB • SAM9260 SAM-BA Boot Requirements: Any other crystal (3-20MHz) can be used, but it prevents using USB • On-chip RC (OSCSEL=0) • Main Oscillator Enabled (MOSCEN=1) Any other input frequency (1-50MHz) can be used, but it prevents using USB • On-chip RC (OSCSEL=0) • Main Oscillator Bypassed (OSCBYPASS=1)

  21. SAM-BA Boot (cont.) DBGU & USB • SAM9260 SAM-BA Boot Requirements: • 32768 Hz Oscillator (OSCSEL=1) / Main Oscillator Enabled (MOSCEN=1) • 32768 Hz Oscillator (OSCSEL=1) / Main Oscillator Bypassed (OSCBYPASS=1)

  22. SAM-BA Boot (cont.) • SAM9260 SAM-BA Boot USB Requirements:

  23. DataFlash-Boot • Device Initialization • Search for valid code: • First 8th arm vectors must be valid • Decode the 6th vector (used to store code size) • If valid code found: • Download code into the internal SRAM • Reset peripherals • Perform a remap • Set PC at address 0x0000_0000

  24. DataFlash-Boot Requirements

  25. NandFlash-Boot • Device Initialization • Search for Boot.bin file in the root directory or in the FIRMWARE directory of a FAT12/16 formatted NandFlash • If valid file found: • Download code into the internal SRAM • Reset peripherals • Perform a remap and set PC at address 0x0000_0000 • If no FAT12/16 file system, search for valid code: • First 8th arm vectors must be valid • Decode the 6th vector (used to store code size) • If valid code found: • Download code into the internal SRAM • Reset peripherals • Perform a remap and set PC at address 0x0000_0000 8-bit & 16-bit NandFlash Support Small & Large Blocks Support Not Supported on SAM9263 rev A

  26. NandFlash-Boot Requirements Not Supported on SAM9263 rev A

  27. NandFlash-Boot Requirements (cont.) • Supported NandFlash Manufacturers: Not Supported on SAM9263 rev A NandFlash first block must be guaranteed to be valid without ECC (generally up to 1,000 Program/Erase cycles)

  28. SD Card Boot • Device Initialization • Search for Boot.bin file in the root directory or in the FIRMWARE directory of a FAT12/16 formatted SD Card • If valid file found: • Download code into the internal SRAM • Reset peripherals • Perform a remap and set PC at address 0x0000_0000 • If no FAT12/16 file system, search for valid code: • First 8th arm vectors must be valid • Decode the 6th vector (used to store code size) • If valid code found: • Download code into the internal SRAM • Reset peripherals • Perform a remap and set PC at address 0x0000_0000 Not Supported on SAM9263 rev A

  29. SD Card-Boot Requirements Not Supported on SAM9263 rev A

More Related