Memorymapping of ICnova SAM9G45 SODIMM

From InCircuit
Jump to: navigation, search

Equipped memories and mappings

The ICnova SAM9G45 SODIMM consists of Atmel AT91SAM9G45 together with 128MiB of DDR2-SDRAM, 8MiB of NOR-Flash and 256MiB of NAND-Flash. The SDRAM is mapped into the virtual memorymap at address 0x70000000, the norflash at address 0x10000000. The NAND-Flash can be accessed only via the AT91SAM9G45s NAND-Controllogic. The address used to boot images from, should always be in RAM; 0x70400000 is a good choice.


The NOR-Flash has 135 Erase-Sectors. The first 8 have a size of 8 kiB, the rest of 64kiB each. Different programs should use different eraseblocks, to ease the possible updating of these programs.

After Production, the NOR-Flash consists of a 1st stage Bootloader AT91Bootstrap at offset 0. This is needed to set up the MCU and start the 2nd stage Bootloader U-boot. U-Boot is saved at offset 0x00020000 within the norflash. The linux-kernel is saved at offset 0x00100000. The last eraseblock at offset 0x007E0000 is used to save the environment-variables of U-Boot.

OpenOCD Commands for flashing bootloaders

To use OpenOCD to flash the bootloaders, the following commands have to be passed to that software:

 flash erase_sector 0 0 12
 flash write_image norflash_icnova_arm9.bin 0x10000000
 flash write_image u-boot.bin 0x10020000

This will first erase the flash and the write the first- and second-stage bootloader as generated by Buildroot.

Personal tools