Language: English | Deutsch | 中国的       Change Country  
 

smx® Real Time Kernel for x86 » smx86

Order Number Distributor Stock    
smx86 Available Directly From Manufacturer QUOTE
 

Support for the x86 Processor Family

smx86 supports the Intel x86 processor family, including compatibles, such as the NEC V series, AMD 18x and Elan series, National Geode, VAutomation Turbo 186, ZF Micro MachZ, and STMicroelectronics ST100.

It has many features to facilitate x86 development and offers support for real-mode and 32-bit protected mode.

Evaluation kits are available for all boards listed above at www.smxRTOS.com/eval

smx86 Features:

80x86 Specialization
Although it now supports many other processor families, smx was originally designed solely for x86 real-mode. It was then extended to 32-bit flat protected mode (32fpm). More recently it was extended to support 24-bit addressing, in real-mode, for the VAutomation Turbo186 core.

Along the way, several x86 support products were added to smx86. These are summarized later in this brochure. smx86 has an x86 heritage and a depth of x86 support, which are unequalled in the industry.

smx Saves Memory
smx is one of the few kernels that supports all memory models in real-mode. "This gave us a 20KB reduction in size over Nucleus" according to Carl McCauley of Checkmate Electronics. smx is the kernel for you if you are trying to shoehorn your application into limited memory. smx also has a unique stack-sharing capability that is helpful for limited-RAM applications.

Stack Flexibility
In addition to the stack flexibility provided by all versions of smx, segmented smx86 allows stacks to be allocated from either the near heap or the far heap on a task-by-task basis. Thus, a task requiring a near stack, so that ss == ds, can get its stack from the near heap. However, since the near heap is very small, this is possible only for small stacks. For other tasks, stacks of up to almost 64KB can be allocated from the far heap. For compact and large memory models, the stack pool is in its own segment, allowing up to 64KB of stack pool space and conserving precious space in near memory. In this case, ss != ds, which is ok for smx (but may not be for all application code).

Coprocessor State Saving
For a task using the x87 coprocessor, smx86 will automatically save the coprocessor registers when the task is suspended and restore coprocessor registers when the task is resumed. The coprocessor´s state is saved only for tasks that use it - and only in sections of the task that use it, if desired. This way, tasks not using the coprocessor are not burdened with this extra overhead (which is significant).

DOS Support
Although smx86 was designed as a ROM´able kernel, the real-mode version will run with DOS. The smx DOS Protosystem provides code to trap DOS calls so that only one task, at a time, may perform a DOS call. If a higher priority task attempts a simultaneous DOS call, it is automatically suspended on the in_dos semaphore until the current task completes its DOS call. The DOS Protosystem also inhibits smx stack checking when in a DOS call because DOS switches stacks. It exits cleanly back to DOS, when the application is terminated.

Hand-tuned Scheduler
The smx86 scheduler is written in x86 assembly language and is hand-tuned for optimal performance, using many advanced x86 techniques.

PC Operation
smx86 includes a Board Support Package (BSP) for operation on standard PCs. This includes most PC-compatible boards (e.g. PC104). The smx86 BSP includes a keyboard handler, direct screen write functions, 16550 UART driver, and tick handler. Normally, the BIOS provides board initialization.

Prices start at $7,500 and include, unless otherwise indicated: Development kit, project development license, royalty free incorporation license for one developed product with up to 50,000 units produced, source code and 90 days of support.

Silicon

x86