Lattice Mico32

From ErikaWiki

Revision as of 11:56, 10 November 2010 by Erikadds (Talk | contribs)
Jump to: navigation, search

Contents

Lattice Mico32 support

ERIKA Enterprise supports Lattice Mico32 XP2 FPGA.
The support for RT-Druid is now available using the nightly build.
Instructions on how to get nightly builds can be found here
The Lattice Mico32 support includes:

  1. support for lm32-elf-gcc compiler.
  2. support for single and multi stack configurations.
  3. ISR interrupt supported.
  4. support for Lattice Debugger.
  • Supported compiler
    • lm32-elf-gcc cross compiler and ELF module generation for debugging.
  • Mode of operation
    • Mono-stack: The Monostack configuration of the ERIKA Kernel models the fact that all tasks and ISRs in the system share the same stack.
    • Multistack HAL: Every thread can have its private stack, or it can share it with other threads.

EEOPTs

__SPACE__
Optimize for space

CPU

  • The CPU currently supported is the following:
    • Lattice Mico32 XP2 FPGA; The LatticeMico32™ is a configurable 32-bit soft processor core for Lattice Field Programmable Gate Array (FPGA) devices. By combining a 32-bit wide instruction set with 32 general-purpose registers, the LatticeMico32 provides the performance and flexibility suitable for a wide variety of markets. Some of the key features of this 32-bit processor include: RISC architecture, 32-bit data path, 32-bit instructions, 32 general-purpose registers, Up to 32 external interrupts, Optional instruction cache, Optional data cache, Dual WISHBONE memory interfaces (instruction and data).

MCU

  • Timer support is enabled with the TIMER option:
    DEVICE = TIMER {
    NAME = "freetimer";
    };
    // Also, interrupts are supported:
    DEVICE = TIMER {
    NAME = "timer";
    OPTIONS = TIMER_IRQ_SUPPORT;
    };
  • Uart support is enabled with the UART option:
    DEVICE = UART {
    NAME = "myuart";
    };
    // Also, interrupts are supported:
    DEVICE = UART {
    NAME = "myuart";
    OPTIONS = UART_IRQ_SUPPORT;
    };
  • SPI support is enabled with the SPI option:
    DEVICE = SPI {
    NAME = "myspi";
    };
  • I2C support is enabled with the SPI option:
    DEVICE = I2C {
    NAME = "myi2c";
    };
  • GPIO support is enabled with the GPIO option:
    DEVICE = GPIO {
    NAME = "mygpio";
    };
    // Also, interrupts are supported:
    DEVICE = GPIO {
    NAME = "mygpio";
    OPTIONS = GPIO_IRQ_SUPPORT;
    };

Boards

Camera board

Item BOARD_DATA = XP2_CAMERA_BOARD of EE in conf.oil. Supported devices:

  • Real-time clock. Option RTCLOCK.
  • Leds. Option LEDS.
  • Power transistors. Option TRANSISTORS.
  • Switches and user button. Option SWITCHES.
  • RS232 serial interface. Option RS232. IRQ for RS232 can be enabled with RS232_IRQ_SUPPORT.
  • HV7131GP Camera. Option CAMERA. IRQ for the camera can be enabled with CAMERA_IRQ_SUPPORT.
  • Real-time clock. Option RTCLOCK. IRQ for the real time clock can be enabled with RTCLOCK_IRQ_SUPPORT.
  • External SPI master interfaces. Option EXTSPI. IRQ for the external SPIs can be enabled with EXTSPI_IRQ_SUPPORT.
  • IEEE 802.15.4 (ZigBee) module. Option ZIGBEE. IRQ for the ZigBee module can be enabled with ZIGBEE_IRQ_SUPPORT. Please note that ZigBee and Ethernet are mutually exclusive.
  • ENC28J60 Ethernet interface. Option ETHERNET. IRQ for the Ethernet can be enabled with ETHERNET_IRQ_SUPPORT. Please note that ZigBee and Ethernet are mutually exclusive.
  • Everything, included the ZigBee (Ethernet is excluded). Option ALL_ZIGBEE.
  • Everything, included the Ethernet (ZigBee is excluded). Option ALL_ETHERNET.

Lattice Standard XP2 Evaluation board

  • Leds. Option LEDS.
  • RS232 serial interface. Option RS232. IRQ for RS232 can be enabled with RS232_IRQ_SUPPORT.
  • HV7131GP Camera. Option CAMERA. IRQ for the camera can be enabled with CAMERA_IRQ_SUPPORT.

Lattice Mico32 OIL example

Go to Lattice Mico32 OIL example page

Personal tools