The Full Wiki



More info on AJ-100

AJ-100: Wikis


Note: Many of our articles have direct quotes from sources you can cite, within the Wikipedia article! This article doesn't yet, but we're working on it! See more info or our list of citable articles.

The aJ-100 is a single-chip microcontroller by aJile Systems that directly executes Java Virtual Machine bytecodes and real-time Java threading primitives with the goal of providing efficient, real-time performance for low-power embedded applications.

Overview



The native JVM bytecode implementation eliminates the typical interpreter or JIT software layers and provides the most optimal Java performance in both memory requirements and execution time. In addition, Java threading primitives (wait, yield,notify, monitor enter/exit) are implemented as extended bytecodes eliminating the need for a traditional RTOS as well. The result is extremely low executive overhead with thread-to-thread context switch times of less than 1 μsec. The aJ-100 features on-chip memory and all the I/O functions required for use in many real-time networked embedded applications. The powerful combination of direct JVM bytecode execution, direct multithreading support, and fully protected multiple JVM environments is ideal for efficient, safe, and robust execution. The aJ-100 is ideally suited for Java based Smartphones, PDAs, wireless gadgets, and real-time networked industrial controllers and sensors.

Features


  • 32-bit Direct Execution Java Processor Core
  • *Native JVM bytecode execution
  • *Extended bytecodes for memory mapped peripheral access
  • *IEEE-754 floating-point arithmetic
  • *Writeable control store supports custom application specific instructions
  • Native Java language Threading Support
  • *Hard real-time, multi-threading kernel in hardware
  • *Atomic threading operations
  • *Built-in deterministic scheduling queues
  • *Directly supports the Real Time Specification for Java (RTSJ)
  • *Thread to thread yield in less than 1μsec
  • *Eliminates traditional RTOS software layer
  • Multiple JVM Manager (MJM™)
  • *Supports multiple independent JVM’s
  • *Brick wall time and space protection
  • *External memory protection support
  • Internal 48KB RAM
  • *32KB dedicated data memory
  • *16KB microcode memory
  • Memory Controller
  • *8-bit, 16-bit or 32-bit interface
  • *Eight chip selects to support ROM, Flash, SRAM, and peripheral devices
  • Dual 16550 compatible UARTs
  • *128-byte FIFO on Rx and Tx
  • *Support IrDA physical layer protocol
  • Three 16-bit Timers/Counters
  • *Flexible count control and counter I/O
  • *Pulse Width Modulation (PWM)
  • *Waveform measurement
  • Serial Peripheral Interface (SPI)
  • *Master/Slave operation
  • *Four external chip selects
  • *Programmable transfer length
  • Five 8-bit General Purpose I/O Ports
  • *I/O programmable on a per-bit basis
  • *Flexible interrupt generation
  • Phase Locked Loop (PLL) and Power Management
  • *Transparent CPU power down when the “run queue” is empty
  • *Individual peripherals can be deactivated when not in use
  • *Global clock disable with external wake-up pin
  • IEEE 1149.1 (JTAG) Interface
  • *Boundary scan
  • *Low-level debugger interface
  • *JPDA Java Debugger Interface
  • Designed for ultra-low-power operation
  • *Less than 1mW/MHz power consumption
  • *Fully static operation up to 100 MHz
  • *Implemented in 3.3V and 0.25μm CMOS process
  • *Core operates at 2.5V
  • Housed in 176-lead LQFP packages


  • System Development Support


    The aJ-100 processor, bundled with Sun’s J2ME/CLDC or CDC/Foundation Profile runtime system, optimizing application builder, debugging tools and evaluation board provides a complete solution for implementing real-time networked embedded Java technology enabled applications. The aJile Java runtime together with the microprogrammed real-time kernel supports the Java threading model without the need for a separate RTOS. This aJile unique technology significantly reduces memory requirements and lowers system costs. aJile’s Multiple JVM (MJM) technology enables multiple applications to execute concurrently and independently in a deterministic, timesliced schedule. Each JVM employs it’s own threading and memory management policies to enable real-time applications to execute concurrently with networked applications without the threat of GC pauses and other interruptions. The MJM capability takes the Java “sandbox” security model the next level, providing a mechanism to easily isolate applications and allocated resources. aJile’s solution enables real-time applications to run independently and safely co-exist with networked applications.

    Using commercial IDEs for Java technology, application developers can create standalone real-time Java enabled applications totally in the Java language with the performance and memory efficiency of systems programmed in C and assembly. Utilizing aJile’s development systems, application developers can readily explore the features of the aJ-100 and assess the efficiency and performance of a real-time embedded Java platform. The primary components of the development and runtime environments are summarized as follows:

    Optimizing Linker/Application Builder:
  • GUI based application build configuration and control tool—JEM Builder
  • Utilizes standard JVM class files generated by commercial IDEs for Java technology
  • Statically resolves class files and eliminates unused methods and fields
  • Performs bytecode optimizations
  • Performs method substitutions (method invokes replaced by extended bytecodes)
  • Builds boot tables, class initialization code, and assigns interrupt and trap handlers
  • Configures JVM's and memory layout


  • Java technology based Runtime System
  • Run-time environment based on a J2ME/CLDC or CDC/Foundation Profile
  • Includes networking classes, storage classes, and Java communications API
  • Device drivers for integrated peripherals and generic physical device interfacing in Java language


  • Application Debugging Tools
  • Host-target communications via an IEEE 1149 (JTAG) interface
  • Host-based full featured bytecode-level debugger—Charade
  • Host-based JPDA provided to interface to commercial JPDA compliant source-level debuggers



  • References














    Got something to say? Make a comment.
    Your name
    Your email address
    Message
    Please enter the solution to case below
    12+8=