Booting Linux from flash

Go To Last Post
3 posts / 0 new
Author
Message
#1
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Hi,

I am planning to design a system around AP7000 and Linux.

The AP7000 boots from the external flash, so the U-Boot bootloader should be in the flash to load the linux image on the SDRAM.
But, once the board is manufactured it will contain blank flash. My Q is how to program the flash, so that it will contain the bootloader?
I guess the only way is to use the JTAGICE mk-II.
So, another Q comes up is that, which flash devices are supported by the JTAGICE mk-II?

Thanks,
drt

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

http://www.atmel.com/dyn/product...

And read the release notes states some. AFAIK all Atmel are supported and some devices from ST, Spansion and Samsung.

The list...

/// AMD devices (0x01)
const unsigned int FLASH_AM29F800BB = 0x2258;
const unsigned int FLASH_AM29F800BT = 0x22D6;
const unsigned int FLASH_AM29LV800BB = 0x225B;
const unsigned int FLASH_AM29LV800BT = 0x22DA;
const unsigned int FLASH_AM29LV160BT = 0x22C4;

/// Spansion (AMD) devices (0x01)
/* These uses extra words to identify types*/
const unsigned int FLASH_S29GL01GP = 0x28227E;
const unsigned int FLASH_S29GL512GP = 0x23227E;
const unsigned int FLASH_S29GL256GP = 0x22227E;
const unsigned int FLASH_S29GL128GP = 0x21227E;

const unsigned int FLASH_S29GL512N = 0x23227E;
const unsigned int FLASH_S29GL256N = 0x22227E;
const unsigned int FLASH_S29GL128N = 0x21227E;


/// Atmel devices (0x1F)
const unsigned int FLASH_AT49xV16x = 0x00C0;
const unsigned int FLASH_AT49xV16xT = 0x00C2;
const unsigned int FLASH_AT49BV32xAT = 0x00C9;
const unsigned int FLASH_AT49BV6416 = 0x00D6;
const unsigned int FLASH_AT49BV6416T = 0x00D2;
const unsigned int FLASH_AT49BV640D = 0x02DE;
const unsigned int FLASH_AT49BV640DT = 0x02DB;
const unsigned int FLASH_AT49BV642D = 0x01D6;
const unsigned int FLASH_AT49BV642DT = 0x01D2;

/// Fujitsu devices (0x04)
const unsigned int FLASH_MBM29LV160TE = 0x22C4;
const unsigned int FLASH_MBM29LV160BE = 0x2249;

/// Intel devices (0x89)
const unsigned int FLASH_28F640P30T = 0x8817;
const unsigned int FLASH_28F128P30T = 0x8818;
const unsigned int FLASH_28F256P30T = 0x8919;
const unsigned int FLASH_28F640P30B = 0x881A;
const unsigned int FLASH_28F128P30B = 0x881B;
const unsigned int FLASH_28F256P30B = 0x891C;
const unsigned int FLASH_28F640P33T = 0x881D;
const unsigned int FLASH_28F128P33T = 0x881E;
const unsigned int FLASH_28F256P33T = 0x891F;
const unsigned int FLASH_28F640P33B = 0x8820;
const unsigned int FLASH_28F128P33B = 0x8821;
const unsigned int FLASH_28F256P33B = 0x8922;

/// SST devices (0xBF)
const unsigned int FLASH_SST39LF800 = 0x2781;
const unsigned int FLASH_SST39LF160 = 0x2782;

/// ST devices (0x20)
const unsigned int FLASH_M29W800T = 0x00D7; /* Used in 5600, similar
* to AM29LV800, but no
* unlock bypass
*/
const unsigned int FLASH_M28W640FCT = 0x8848;
const unsigned int FLASH_M28W640FCB = 0x8849;
const unsigned int FLASH_M29W640FT = 0x22ED;
const unsigned int FLASH_M29W640FB = 0x22FD;
const unsigned int FLASH_M29W128GL = 0x7E2100;
const unsigned int FLASH_M29W128GH = 0x7E2101;

/// Toshiba devices (0x98)
const unsigned int FLASH_TC58FVT160 = 0x00C2;
const unsigned int FLASH_TC58FVB160 = 0x0043;
const unsigned int FLASH_TC58FVT800 = 0x004F;

Hans-Christian

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Thanks!!
But, where can I find the above list?