MINI6935 CPU Core Board Atmel AT91SAM9X35 Powered CPU Core Module BY Product Overview Version 1.0 Dated: 3rd December 2013 Revision History: Version Date Description 1.0 03/12/2013 Original Version Table of Contents 1 Product Overview .................................................. 1 1.1 Introduction .............................................................1 1.2 Kit Contents .............................................................1 1.3 Board Interfaces .......................................................2 1.4 System Block Diagram ...............................................3 1.5 Physical Dimensions (mm) .........................................4 2 Hardware Features ................................................ 5 2.1 Processor .................................................................5 2.1.1 Core...................................................................5 2.1.2 Memory ..............................................................5 2.1.3 Peripherals..........................................................5 2.1.4 Other .................................................................6 2.2 On-Board Memory .....................................................6 2.3 On-Board Interfaces ..................................................6 2.4 Operational Parameters..............................................7 3 Hardware Interfaces .............................................. 8 3.1 U63 Interface ...........................................................8 3.2 U64 Interface ...........................................................9 3.3 NAND Flash Interface (U43) ..................................... 10 3.4 SPI Flash Interface (MN7) ........................................ 11 3.5 EEPROM Interfaces (MN8) ........................................ 11 4 Software Features ............................................... 12 4.1 System Features ..................................................... 12 4.2 BSP Packages ......................................................... 12 4.3 Development Environment ....................................... 13 4.4 Kernel Customization ............................................... 14 4.5 Filesystem Customization ......................................... 15 1 Product Overview 1.1 Introduction The MINI6935 is compact yet powerful embedded core module built on the Atmel AT91SAM9X35, a 32bit ARM 926EJ-STM microcontroller. By utilising a compatible expansion board users can quickly add extra functionality allowing dramatically reduced design time. Despite the MINI6935's small size it manages to squeeze in 128MB of DDR2 SDRAM, 256MB of NAND Flash and 4MB of DataFlash, as well as abundant interfaces which may be further expanded with a compatible expansion board. The MINI6359 also features: Support for the Linux2.6.39 operating system Support for custom GUI's created via Linux QT Support for multiple file systems such as ROM, CRAM, EXT2, EXT3, FAT, NFS, JFFS2, YAFFS2, UBIFS 1.2 Kit Contents MINI6935 Core Boardx1 CD-ROMx1 Optional Expansion Board (EDM6070-01 or EDM6070R-01) Page | 1 1.3 Board Interfaces Figure 1: MINI6935 CPU Module Interfaces Page | 2 1.4 System Block Diagram Figure 2: System Block Diagram Page | 3 1.5 Physical Dimensions (mm) Figure 3: Expansion Board Dimensions Page | 4 2 Hardware Features 2.1 Processor 2.1.1 Core Atmel AT91SAM9X35 32 bit processor running at up to 400MHz 16KB data cache, 16KB instruction cache, memory management unit 2.1.2 Memory 64KB internal ROM and 32KB internal SRAM High bandwidth multi-port DDR2 controller 32 bit external bus interface supporting 8-bank DDR2 memory and static memory MLC/SLC NAND controller, with up to 24-bit Programmable Multi-bit Error Correcting Code (PMECC) 2.1.3 Peripherals LCD controller supporting resolution of up to 800x600 High speed USB device & host Full speed USB host with dedicated on-chip transceiver 10/100 Mbps Ethernet MAC controller Watchdog Two high speed memory card hosts Two CAN controllers Two SPI interfaces Page | 5 6 channel 32 bit timers/counters SSC controller (I2S) 4 channel 16-bit PWM controller Three I2C interfaces Three USARTs, two UARTs 12 channel 10 bit ADC (for touchscreen) Software modem 2.1.4 Other I/O: Four 32-bit GPIOs, of which 105 programmable I/O lines are multiplexed with up to three peripheral I/Os Package: Surface-mount, 217 ball BGA with 0.8mm pitch 2.2 On-Board Memory 256MB NAND Flash 128MB SDRAM 4Kb EEPROM 4MB SPI Flash 2.3 On-Board Interfaces U63 Interface U64 Interface NAND Flash Interface (U43) SPI Flash Interface (MN7) EEPROM Interfaces (MN8) Page | 6 2.4 Operational Parameters Operating Temperature: -10 C ~ 70 C Operating Humidity: 0% ~ 90% (Non-condensing) Power Supply: 3.3V, 1.25A Electrical Standards: CE, FCC and CCC PCB Layers: 6 Product Dimensions: 64mmx45mm Page | 7 3 Hardware Interfaces 3.1 U63 Interface Pins Names 1 GND 3 PB11 5 PB13 7 PB15 9 PB17 11 Functions Pins Names 2 GND GND 4 PB12 Touch Screen X- 6 PB14 Touch Screen Y- 8 PB16 USB VBUS BUZZER 10 PB18 GPIO for blue led GND GND 12 GND GND 13 PC0 LCD B0 14 PC1 LCD B1 15 PC2 LCD B2 16 PC3 LCD B3 17 PC4 LCD B4 18 PC5 LCD B5 19 PC7 LCD B7 20 PC6 LCD B6 21 PC9 LCD G1 22 PC8 LCD G0 23 PC11 LCD G3 24 PC10 LCD G2 25 PC12 LCD G4 26 PC13 LCD G5 27 PC14 LCD G6 28 PC15 LCD G7 29 PC17 LCD R1 30 PC16 LCD R0 31 PC19 LCD R3 32 PC18 LCD R2 33 PC21 LCD R5 34 PC20 LCD R4 35 PC22 LCD R6 36 PC23 LCD R7 37 PC24 LCDDISP 38 PC25 PWR_EN 39 PC26 LCDPWM 40 PC27 VSYNC 41 PC29 LCDDEN 42 PC28 HSYNC 43 PC31 Audio XTI/MCLK 44 PC30 LCDPCK 45 GND GND 46 GND GND 47 PA0 TXD0 48 PA1 RXD0 49 PA2 RTS0 50 PA3 NULL 51 PA4 SW1 USER1 52 PA6 CANRX1 53 PA5 CANTX1 54 PA7 TXD2 55 PA8 RXD2 56 PA9 DRXD 57 PA10 DTXD 58 PA11 SPI0_MISO 59 PB0 ERX0 60 PA13 SPI0_SPCK 61 PB2 ERXER 62 PA14 SPI0_NPCS0 63 PB4 ETXCK 64 PA12 SPI0_MOSI 65 PB6 EMDC 66 PB1 ERX1 67 PB8 EMDINTR 68 PB3 ERXDV GND Touch Screen X+ Touch Screen Y+ Isolate ISO_INPUT1 Functions Page | 8 Pins Names 69 PB9 71 GND 73 ETH0_TX- 75 ETH0_TX+ 77 ETH0_RX- 79 ETH0_RX+ Functions Pins Names ETX0 70 PB5 EMDIO GND 72 PB7 ETXEN 74 PB10 76 AVDDT 78 ACT DM9161 ACT 80 ACT->LINK DM9161 LINK Pins Names 2 GND DM9161 ETH0_TXDM9161 ETH0_TX+ DM9161 ETH0_RXDM9161 ETH0_RX+ Functions ETX1 DM9161 output voltage 1.8V 3.2 U64 Interface Pins Names 1 GND Functions GND Functions GND 3 4 5 6 7 8 VDDBU 9 10 JTAGSEL NULL 11 12 WKUP NULL 13 14 SHDN NULL 15 PD14 17 PD16 19 PD18 21 PD20 SD WP Active Isolate VDDBU 16 Isolate 18 PD17 Isolate IO_OUT1 20 PD19 Isolate IO_OUT2 Isolate IO_OUT3 22 PD21 Isolate IO_OUT4 24 GND GND GND 26 GND GND ISO_INPUT2 23 ISO_INPUT3 25 GND 27 HHSDMA HHSDMA 28 HHSDMB HHSDMB 29 HHSDPA HHSDPA 30 HHSDPM HHSDPM 31 GND GND 32 GND GND 33 GND GND 34 GND GND 35 DIBN NULL 36 HHSDPC NULL 37 DIBP NULL 38 HHSDMC NULL 39 GND GND 40 GND GND 41 GND GND 42 NRST NRST 43 TMS NULL 44 NTRST NULL 45 TDO NULL 46 TDI NULL 47 RTCK NULL 48 TCK NULL GND GND 49 51 50 GND GND 52 Page | 9 Pins Names 53 PA21 55 PA22 57 PA25 59 Functions Pins Names 54 PA23 NULL(SPI1_MOSI) 56 PA24 AUDIO BCLK AUDIO DACLRC 58 PA26 AUDIO DACDAT PA27 AUDIO ADCDAT 60 PA28 AUDIO BCLK 61 PA29 AUDIO ADCLRC 62 PA30 AUDIO SDIN 63 PA31 AUDIO SCLK 64 GND GND 65 GND GND 66 PA15 SD TF_DAT0 67 PA16 SD DCMD 68 PA17 SD CLK 69 PA18 SD TF_DAT1 70 PA19 SD TF_DAT2 71 PA20 SD CD/DAT3 72 PD15 SD Detect Active 73 GND GND 74 GND GND 75 GND GND 76 GND GND 77 VDD33_IN VDD33V input 78 VDD33_IN VDD33V input 79 VDD33_IN VDD33V input 80 VDD33_IN VDD33V input NULL (SPI1_MISO) NULL (SPI1_SPCK) Functions 3.3 NAND Flash Interface (U43) Pins Names Functions 7 PD5 RD/BY 8 PD0 RE 9 PD4 CE 12 VDD33V 13 GND GND 16 PD3 CLE 17 PD2 ALE 18 PD1 WE 29 NADN_D0 D0 30 NADN_D1 D1 31 NADN_D2 D2 32 NADN_D3 D3 36 GND 37 VDD33V 38 GND 41 NADN_D4 D4 42 NADN_D5 D5 43 NADN_D6 D6 44 NADN_D7 D7 +3.3V power GND +3.3V power GND Page | 10 3.4 SPI Flash Interface (MN7) Pins Names Functions 1 PA14 Slave Select for SSP0 2 PA11 Master In Slave Out for SSP0 3 VDDIOP0 4 GND GND 5 PA12 Master Out Slave In for SSP0 6 PA13 Serial clock for SSP0 7 VDDIOP0 +3.3V power 8 VDDIOP0 +3.3V power +3.3V power 3.5 EEPROM Interfaces (MN8) Pins Names Functions 1 VDDIOP0 2 GND GND 3 GND GND 4 GND GND 5 PA30 SDA 6 PA31 SCL 7 GND GND 8 VDDIOP0 +3.3V power +3.3V power Page | 11 4 Software Features 4.1 System Features Supports Linux 6.39 Supports Linux QT GUI Supports multiple file systems including: ROM, CRAM, EXT2, EXT3, FAT, NFS, JFFS2, YAFFS2, and UBIFS This chapter will briefly introduce the BSP package on the included CD-ROM. 4.2 BSP Packages Types BIOS Names Descriptions Bootstrap Serial Flash Serial Flash U-Boot Supports kernel and file system programming through SAM-BA or USB flash drive (USB flash drive is recommended) Kernel Linux-2.6.39 ROM/CRAM/EXT2/EXT3/FAT/NFS/JFFS2/YAFFS2/UBIFS file systems RTC Internal RTC of AT91SAM9X35 Ethernet 10/100M Ethernet driver Flash NAND Flash and DataFlash driver LCD LCD driver, 800x480 resolution Touch Screen Touchscreen controller on CPU Device USB Host USB Host driver Drivers Watchdog Built-in watchdog driver SD Card SD card driver CAN Bus 1 CAN bus LED 1 system status LED Button 1 custom user button driver GPIO GPIO driver, 3 input channels, 4 output channels Root File System UBIFS Readable and writeable file system, supporting compression storage Page | 12 4.3 Development Environment The CD provided with the board contains an ARM Linux cross compiler: "arm-2007q1-10-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz 2" under \02 Linux2.6 kit\02 tools\. Please follow the steps below to install the cross compiler 1 The Ubuntu system should automatically mount the CD under /media/cdrom. Please execute the following commands to begin installation: mkdir /usr/local/arm tar -jxvf arm-2007q1-10-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2 -C/usr/local/arm 2 Execute the following instructions to add an environment variable which specifies the path to the cross-compiler in the system and check if it has been added successfully; export PATH=/usr/local/arm/arm-2007q1/bin/:$PATH arm-none-linux-gnueabi-gcc -v The system prints feedback as shown below; Using built-in specs. Target: arm-none-linux-gnueabi ... gcc version 4.2.0 20070413 (prerelease) (CodeSourcery Sourcery G++ Lite 2007q1-10) If the version information contained in the last line is consistent, this indicates the installation has been completed successfully. Note: The instruction adding environment variables can be put into the file .bashrc under user directory to allow the system load the variable automatically each time on boot up. Page | 13 4.4 Kernel Customization By default, the kernel source code provides a configuration file "at91sam9x5ek_defconfig" saved under arch/arm/configs/. Please execute the following instructions to enter the configuration menu and then select the drivers you need according to the entries shown in the table below. root@LINUXSERVER:~/embest/linux-2.6.30# make at91sam9x5ek_defconfig root@LINUXSERVER:~/embest/linux-2.6.30# make menuconfig Drivers Paths Serial Device drivers > Character devices > Serial drivers > AT91 / AT32 on-chip Interface serial port support Buttons Device drivers > Input device support > Keyboards > GPIO Buttons GPIO Device drivers > Misc devices > Device driver for Atmel GPIO devices LED SD/MMC Device drivers > LED Support > LED Class Support > LED Support for GPIO connected LEDs Device drivers > MMC/SD/SDIO card support > MMC block device driver > Atmel SD/MMC Driver (Atmel Multimedia Card Interface support) Device drivers > USB support > Support for Host-side USB > EHCI HCD USB (USB 2.0) support > OHCI HCD support > USB Mass Storage supportHCD support > USB Mass Storage support RTC Device drivers > Real Time Clock > AT91RM9200 or some AT91SAM9 RTC Watchdog Device drivers > Watchdog Timer Support > AT91SAM9 watchdog CAN Bus MACB Graphics Touch-Screen Networking support > CAN bus subsystem support > CAN Device Drivers > Atmel AT91 onchip CAN controller Device drivers > Network device support > Ethernet(10 or 100Mbit) > Atmel MACB support Device drivers > Graphics support > Support for frame buffer devices > AT91/AT32 LCD Controller support Input device support > Touchscreens > Atmel Touchscreen Interface Save the changes and execute the instruction below to compile the customized kernel Page | 14 root@LINUXSERVER:~/embest/linux-2.6.24# make uImage 4.5 File System Customization Configuration List Paths Notes Driver Modules /lib/modules/2.6.39/ Store driver module ko Driver Module Mounting /etc/init.d/S50modules Network Address /etc/network/interfaces.eth0 Command Line Prompt Name /etc/hostname User Program Auto Running /etc/init.d/S60evnset Environment Variables /etc/profile Touch-Screen Coordinate Files Add it to the end of file /etc/pointercal udev Rules /etc/udev LCD Backlight Brightness /etc/bl_adjust.conf User Testing Applications /home/app Page | 15