Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "- AT91SAM Training SAM9 Boot Strategies Frederic BOYER AT91 Support Group. Version 1.0 October 2006 AT91 Support Group. Version 2.0.2 June 2007."— Presentation transcript:

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

2 - AT91SAM Training ARM-Based Products Group 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 - AT91SAM Training SAM9261

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

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

6 - AT91SAM Training SAM9260

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

8 - AT91SAM Training ARM-Based Products Group 8 SAM9260 Embedded ROM SAM-BA Boot Power Up BMS = 1 Boot From External Memory on EBI Chip Select 0 User Application YesNo Boot From ROM NandFlash-Boot on EBI Chip Select 3 DataFlash-Boot on SPI0 Chip Select 0 DataFlash-Boot on SPI0 Chip Select 1 Optional Boot From External Flash

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

10 - AT91SAM Training SAM9263

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

12 - AT91SAM Training ARM-Based Products Group 12 SAM9263 Embedded ROM SAM-BA Boot Power Up BMS = 1 Boot From External Memory on EBI0 Chip Select 0 User Application YesNo Boot From ROM NandFlash-Boot on EBI0 Chip Select 3 SD Card Boot on MCI1 DataFlash-Boot on SPI0 Chip Select 0 Optional Boot From External Flash Not Supported on SAM9263 rev A

13 - AT91SAM Training SAM-BA Boot DataFlash-Boot NandFlash-Boot SDCard-Boot

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

15 - AT91SAM Training ARM-Based Products Group 15 SAM-BA Boot (cont.)  AT91SAM9261 & AT91SAM9263: No AutoBaudrate See. SAM9261 & SAM9263 SAM-BA Boot Requirements

16 - AT91SAM Training ARM-Based Products Group 16 SAM-BA Boot (cont.)  SAM9261 SAM-BA Boot Requirements: Supported Quartz (MHz) (Main Oscillator Enabled) Supported Ext. Clocks (MHz) (Main Oscillator Bypassed) None USB Device (UDP) Pull-up Management Handled by SAM-BA Boot No PIO driven Internal UDP Pull-up Enabled DBGU & USB

17 - AT91SAM Training ARM-Based Products Group 17 SAM-BA Boot (cont.)  SAM9263 SAM-BA Boot Requirements: Supported Quartz (MHz) (Main Oscillator Enabled) Supported Ext. Clocks (MHz) (Main Oscillator Bypassed) 1 to 50MHz USB Device (UDP) Pull-up Management Handled by SAM-BA Boot No PIO driven Internal UDP Pull-up Enabled DBGU & USB

18 - AT91SAM Training ARM-Based Products Group 18 SAM-BA Boot (cont.)  AT91SAM9260: See. SAM9260 SAM-BA Boot Requirements  On-chip RC (OSCSEL=0):  32768 Hz Oscillator (OSCSEL=1): No AutoBaudrate AutoBaudrate Detection

19 - AT91SAM Training ARM-Based Products Group 19 SAM-BA Boot (cont.)  SAM-BA Boot AutoBaudrate Sequence: SAM9260 with On-chip RC Only

20 - AT91SAM Training ARM-Based Products Group 20 SAM-BA Boot (cont.)  On-chip RC (OSCSEL=0)  Main Oscillator Enabled (MOSCEN=1)  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 Bypassed (OSCBYPASS=1) Any other input frequency (1-50MHz) can be used, but it prevents using USB DBGU & USB

21 - AT91SAM Training ARM-Based Products Group 21 SAM-BA Boot (cont.)  32768 Hz Oscillator (OSCSEL=1) / Main Oscillator Enabled (MOSCEN=1)  32768 Hz Oscillator (OSCSEL=1) / Main Oscillator Bypassed (OSCBYPASS=1)  SAM9260 SAM-BA Boot Requirements: DBGU & USB

22 - AT91SAM Training ARM-Based Products Group 22 SAM-BA Boot (cont.)  SAM9260 SAM-BA Boot USB Requirements: USB Device (UDP) Pull-up Management Handled by SAM-BA Boot No PIO driven Internal UDP Pull-up Enabled

23 - AT91SAM Training ARM-Based Products Group 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 - AT91SAM Training ARM-Based Products Group 24 DataFlash-Boot Requirements µCSAM9260SAM9261SAM9263 MOSISPI0_PIOA1 MISOSPI0_PIOA0 SPCKSPI0_PIOA2 NPCS0SPI0_PIOA3 SPI0_PIOA5 NPCS1SPI0_PIOC11-- Maximum Downloadable Code Size4 kB156kB72kB

25 - AT91SAM Training ARM-Based Products Group 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 - AT91SAM Training ARM-Based Products Group 26 NandFlash-Boot Requirements µCSAM9260SAM9263 NandFlash Ready/BusyPIOC13PA22 NandFlash Chip Enable (NANDCS)PIOC14PD15 Address Bus (NAND CLE)A22 Address Bus (NAND ALE)A21 Maximum Downloadable Code Size (Minimum Nandflash First Block Size) 4 kB72kB Not Supported on SAM9263 rev A

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

28 - AT91SAM Training ARM-Based Products Group 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 - AT91SAM Training ARM-Based Products Group 29 SD Card-Boot Requirements µCSAM9263 MCCKPA6 MCCDAPA7 MCDA0PA8 MCDA1PA9 MCDA2PA10 MCDA3PA11 Maximum Downloadable Code Size (Minimum Nandflash First Block Size) 72kB Not Supported on SAM9263 rev A


Download ppt "- AT91SAM Training SAM9 Boot Strategies Frederic BOYER AT91 Support Group. Version 1.0 October 2006 AT91 Support Group. Version 2.0.2 June 2007."

Similar presentations


Ads by Google