Содержание

SK-AT91SAM9XE512-S3E

 Габариты

Габариты: 126х126мм (чертеж в DFX в приложении).

Подключенная периферия:

Внешняя шина ARM так же подключена к FPGA (16 линий данных, 21 линия). К FPGA подключена статическая RAM объемом 512кБайт.

Система питания

Плата содержит линейные LowDrop стабилизаторы, позволяющие запитывать ее от 5В.

Внимание!!! USB-A разъем (USB-host) подключается непосредственно к входному напряжению питающему плату, в случае использования USB-host, напряжение иточника питания для платы не должено быть более 5.5В.

Программирование/отладка

Доступны 5 типов памяти:

Прошивка флеш-памяти производится удилитой sam-ba (SAM-boot-agent). sam-ba под Linux не работает через J-tag.

К плате можно подключаться тремя способами:

samba-boot

sam-boot можно активировать двумя способами: джампером j16 сбросить содержимое внутренней flash, или при помощи sam-ba, подключившись через jtag, сбросить бит GPNVM3 (выполнить скрипт «Boot from ROM» на вкладке «flash» в sam-ba).

При подключении через COM использовать 115200 и программное управление потоком. Если при подключении появилась строка

RomBOOT                                                                                                                             
> 

значит из ROM загрузилась samba-boot. Если набрать символы «V#», то в консоли отобразится её версия («v1.5 Nov 16 2007 11:50:26»). Подробности в документации к Atmel 91SAM.

Далее к плате можно подключиться по USB или COM, и перепрошить флеш-память при помощи утилиты sam-ba.

Назначение джамперов

источник

J7,J23 предусмотрены для случая когда во внешних флешках лежит рабочий код, при этом SAM-BA не сможет подключиться к плате с вытекающими последствиями невозможности их перепрограммировать. На время сброса (или включения питания) их нужно размыкать, после замкнуть и запустить SAM-BA, предварительно подключив кабель соответствующего интерфейса (USB,UART).

Загрузка

Удобная конфигурация: bootstrap в internal flash, u-boot и резервная копия bootstrap в dataflash; Linux kernel загружается по tftp, либо из файловой системы в Nandflash.

AT91SAM9XE Boot Sequence

К сожалению, at91sam9xeek поддерживает загрузку только из internal flash.
Это не очень удобно, т.к. при вынимании джампера J16 внутренняя flash-память очищается и устройство становится нерабочим.
На всякий пожарный, резервная копия bootloader-а лежит в dataflash.

Bootstrap

Оригинал на сайте Atmel.

Отличия поставляемого с платой bootstrap-1.16 от оригинального bootstrap-1.16:

dataflash/at91sam9260ek.h
#define MASTER_CLOCK		(200000000/2)
#define PLL_LOCK_TIMEOUT	1000000
#define PLLA_SETTINGS	0x2031BF03
#define PLLB_SETTINGS	0x10073F01
/* Switch MCK on PLLA output PCK = PLLA = 2 * MCK */
#define MCKR_SETTINGS	(AT91C_PMC_CSS_PLLA_CLK | AT91C_PMC_PRES_CLK | AT91C_PMC_MDIV_2)
#define AT91C_SPI_CLK 		 33000000
#define DATAFLASH_TCSS		(0x1a << 16)	/* 250ns min (tCSS) <=> 12/48000000 = 250ns */
#define DATAFLASH_TCHS		(0x2 << 24)	/* 250ns min (tCSH) <=> (64*1+SCBR)/(2*48000000) */
#define AT91C_SPI_PCS_DATAFLASH		AT91C_SPI_PCS0_DATAFLASH	/* Boot on SPI NCS0 */
#define IMG_ADDRESS 		0x8000			/* Image Address in DataFlash */
#define	IMG_SIZE		0x30000			/* Image Size in DataFlash    */
#define JUMP_ADDR		0x21D00000		/* Final Jump Address 	      */
main.c
/* ==================== 3rd step:  Process the Image =================== */
	writel(0x00000000, AT91C_SMC_CTRL0);
	writel(0x03020101, AT91C_SMC_PULSE0);
	writel(0x00000000, AT91C_SMC_SETUP0);
include/nand_ids.h
/* Supported NandFlash devices */
static struct SNandInitInfo NandFlash_InitInfo[] = {
	{0xecda, 0x800, 0x20000, 0x800, 0x40, 0x0, "Samsung K9F2G08U0M 256Mb\0"},
	{0x2cca, 0x800, 0x20000, 0x800, 0x40, 0x1, "Micron MT29F2G16AAB 256Mb\0"},	
	{0x2cda, 0x800, 0x20000, 0x800, 0x40, 0x0, "Micron MT29F2G08AAC 256Mb\0"},	
	{0,}
};
include/nandflash.h
	char 	     name[40]		; /* Nand Name */

FPGA

Spartan 3E XC3S500E в корпусе PQ208.

Системные вентили, тыс 500
Логические ячейки 10'476
Число CLB 1,164
Блоки умножения 18×18 20
Блоки ОЗУ, Кбит 360
Распределенная память, Кбит 73K
Блоки синхронизации (DCMs) 4
Дифференциальные пары В/В, max 65 (5 input only)
Несимметричные контакты В/В, max 158 (32 input only)

Спецификации:

FAQ