Home |
Frequently Asked Questions about On Time RTOS-32How are On Time RTOS-32 applications developed?You can use any one of the supported Win32 compilers (MS Visual C++, Borland C/C++, Borland Delphi) exactly as you would use it to generate a Windows program. Once the compiler and linker have produced an .EXE file, the file is processed by the On Time RTOS-32 locator to produce the program's binary image. If you use an IDE such as Microsoft Visual Studio, the locator can be executed automatically when the project is built. When you decide to debug the program (either using the Visual Studio integrated debugger or Borland's TD32), the program is downloaded to the target automatically and the debugger will behave exactly as it does for local debugging. The respective compiler's IDE and command-line tools are both fully supported. What's the learning curve? How long will I need to be productive with On Time RTOS-32?Typically, you will only need a few minutes. If you know how to use your compiler, simply copy one of the 60 example projects included with On Time RTOS-32 and plug in your own source code. If you don't believe us, try it. Download and install the On Time RTOS-32 Evaluation Kit. You will be creating your own programs within minutes. I found no training or support contracts on your price list. Is any training, consulting, or support available from On Time?Training and consulting is available for application-specific problems and is performed by senior members of the On Time software development team. However, since On Time RTOS-32 is easy to use, comes with clear and complete documentation and many programming examples, most users do not need individual training to get started. It is recommended to get familiar with the free On Time RTOS-32 Evaluation Kit before ordering training courses. Please note that On Time offers free technical support by email with typical turnaround times of 1 to 4 hours, and that you can communicate with the On Time RTOS-32 user community through the On Time RTOS-32 Support Mailing List. With our free support facilities, you will not need paid support contracts. What customization of On Time RTOS-32 is required to get it up and running on my hardware?If your target hardware has a BIOS: none. For BIOS-less systems, the chipset initialization of the boot code must be customized in a configuration file. The chipset initialization is a table of I/O port addresses and associated values to be written to those ports immediately after power-on or reset. The chipset initialization merely needs to put the hardware in a working state (e.g. initialize all required chip selects, waitstates, refresh cycles, configure port/pin mappings, etc). It contains no On Time RTOS-32 specific code. Hardware vendors usually supply a working chipset initialization with their board's documentation. Examples for the Intel 386EX, AMD Élan SC400/410, Élan SC520 and for the National Semiconductor NS486SXF are included. Please contact On Time for information about and availability of other examples. What Board Support Packages (BSPs) are included with On Time RTOS-32?Board Support Packages are called configuration files with On Time RTOS-32. All 32-bit and 64-bit x86 targets with a BIOS (e.g. Industrial PC, PC/104, standard PC boards, etc) run without a custom configuration file. For BIOS-less custom boards, please see to the previous question. How long does it take to boot On Time RTOS-32?On BIOS-less systems, boot times of less than 1 second are typical. With a BIOS, the boot time depends primarily on the BIOS. On Time RTOS-32 usually adds less than 1 second to the BIOS boot time. Here is a summary of the various boot phases and their typical time requirements:
Your documentation lists the CPUs you support. I have a different 32-bit or 64-bit CPU. Is it also supported by On Time RTOS-32?If your CPU is capable of running in 386 32-bit protected mode (any 32-bit or 64-bit x86 CPUs), the answer is yes. On Time RTOS-32 also supports 16-bit real mode during the boot process (e.g. for most Intel CPUs), but this is not required. For example, National Semiconductor's NS486SXF starts up in protected mode and is supported. On Time RTOS-32 is for 32/64-bit x86 only. Do you plan to port it to other CPUs?At On Time, we are specialized on the x86 family of CPUs. Rather than settling for the lowest common denominator of many different CPUs, we prefer to concentrate on one and take advantage of all of its unique features. Nevertheless, On Time RTOS-32 components RTKernel-32, RTFiles-32, and RTUSB-32 are designed to be portable and are written in 100% ANSI C. Each has a system abstraction layer with only a few system dependent functions which need to be customized for a new CPU or OS. Ports of RTIP-32 and RTPEG-32 for various CPUs are available from EBSnet, Inc and Swell Software, respectively. RTFiles-32 and RTUSB-32 have been ported by many individual customers to various 16-bit and 32-bit systems. If On Time RTOS-32 supports 32-bit embedded systems, can I also use it to develop programs which can run on standard PCs?Yes. On Time RTOS-32 applications only need a 386 compatible or higher CPU and a few kilobytes of RAM. Standard PCs will always meet and exceed these requirements. I want to develop ROMable and self-booting programs for a 32-bit embedded system using On Time RTOS-32. What software do I need?You need a Win32 compiler (Borland or Microsoft), RTTarget-32, and, if you want to boot from ROM or FLASH rather than from disk, an EPROM burner with software that supports Intel HEX or BIN files. If you need multitasking, RTKernel-32 is also required. If you need access to mass storage devices such as diskettes, hard disks, flash disks, SRAM cards, or CDs/DVDs, RTFiles-32 is also required. For network access, the TCP/IP stack RTIP-32 and RTKernel-32 are necessary. If you need a graphical user interface instead of the text mode console I/O functions provided by RTTarget-32, you will also need RTPEG-32. To use USB devices attached to the embedded system, RTUSB-32 is required. Can On Time RTOS-32 programs run under Windows?They can run under 32/64-bit Windows if you only use the Win32 API subset supported by On Time RTOS-32 (about 400 functions). The demo programs DLLDemo and W32Bench included with On Time RTOS-32 demonstrate this. Both programs run without recompiling or relinking under On Time RTOS-32 and Windows. Programs which use On Time RTOS-32 features not supported by Windows (e.g. installing hardware interrupt handlers in user applications) cannot execute under Windows. I see you support multiprocessor systems. What about Hyperthreading, dual-core, multi-cores, or a combination thereof?Any type of shared memory multiprocessor system is supported, including Hyperthreading, multi-cores, and multiple CPUs. RTKernel-32 has an option to disable Hyperthreading if you want to limit execution to physical cores. Doesn't the multiprocessor and OpenMP support add a lot of overhead to the scheduler even if I do not need this stuff? My target has just one CPU.Two different schedulers are shipped with RTKernel-32, and you can select at link time which scheduler will be included in the application. The single-processor scheduler contains no code associated with multiprocessor or OpenMP support. The multiprocessor kernel also supports single CPU operation. Can I access a diskette or hard disk drive from an On Time RTOS-32 program?On Time RTOS-32 supports loading a program from a diskette, hard disk, USB disk, or CD/DVD at boot time if the target has a BIOS supporting the respective disk device. RTTarget-32's RAM (or ROM) files can be used with an emulated file system in RAM/ROM. In order to read and write DOS/Windows compatible files at run-time, you will need RTFiles-32. Does On Time RTOS-32 support DLLs?Yes. The RTTarget-32 locator can process one .EXE file and up to 63 DLLs to build a binary program image. DLLs can be statically referenced through import libraries or loaded dynamically (from the program image in memory or from disk using RTFiles-32) at run-time using LoadLibrary and GetProcAddress. I have a Microsoft Windows driver for a piece of hardware. Can I use this driver with On Time RTOS-32?No, On Time RTOS-32 does not support Windows drivers. How can I access physical devices under On Time RTOS-32 (e.g., I/O ports, memory mapped registers, physical memory, DMA buffers, etc)?On Time RTOS-32 offers functions to read from and write to I/O ports. All the compiler's port I/O functions are supported (e.g., inportb(), inp(), etc). None of the restrictions of Windows apply. Your application has full control over the hardware. The same is true for the address space. Since physical and logical addresses are identical, you can load absolute values into pointers to directly access memory mapped devices, DMA buffers, etc. Such memory regions can be defined in the locate process to allow access even when paging is enabled. Programming the hardware under On Time RTOS-32 is very simple. RTPEG-32 comes with drivers for VGA and VESA graphics cards, but I have different video hardware. How do I get a driver?If you have a VESA driver for your card, you can boot DOS, load the VESA driver, and then boot into the RTTarget-32 application. For BIOS-less embedded systems with custom video hardware, please contact On Time for additional information. Other drivers may be available free of charge. All screen drivers supplied with RTPEG-32 come with complete source code. They can be used as templates for custom screen driver development. Can I use third-party libraries in On Time RTOS-32 programs?The answer depends on the characteristics of the specific library. If the library only uses the Win32 API functions supported by On Time RTOS-32, then it will be compatible with On Time RTOS-32. All Win32 functions supported by On Time RTOS-32 are included in the Evaluation Kit available for download from this Web site. Thus, you can test-link a program with the third-party library in question and the RTTarget-32 Evaluation Kit to check for unresolved API calls. RTTarget-32 supports C/C++ and Delphi, but all the other components only C/C++. Is there a way to use these components with Delphi?RTKernel-32, RTFiles-32, and RTUSB-32 can be used with Delphi, but ironically, a C/C++ compiler is required to do this. The RTKernel-32, RTFiles-32, and RTUSB-32 libraries can be linked as a DLL which can then be used by Delphi programs. You do not have to write a single line of C/C++ code, but you need a C/C++ compiler/linker and the C/C++ run-time system libraries to link the DLL. Pascal import units for the complete APIs of RTKernel-32, RTFiles-32, and RTUSB-32 are included. Examples for using RTKernel-32, RTFiles-32, and RTUSB-32 with Delphi programs are included in the full product and the Evaluation Kit. RTIP-32 can be used by Pascal programs by building custom import units based on the application's needs. RTPEG-32 only has a C++ class interface and thus cannot be used directly by Pascal programs. However, On Time RTOS-32 supports applications built with several programming languages, so the GUI part of an application could be written in C++, while other parts are implemented in Pascal, C, or Assembler. So On Time RTOS-32 supports C++, C, and Pascal. What about Ada?On Time RTOS-32's Win32 API emulation is comprehensive enough to execute Ada programs compiled with the Windows version of Aonix ObjectAda. At least components RTTarget-32 and RTKernel-32 are required. Source level debugging is possible using the Microsoft Visual Studio debugger. A sample "Hello World" type of Ada project is available from On Time's technical support upon request. The source code of each On Time RTOS-32 component is offered as an optional add-on. What benefits do I get when I buy it?The On Time RTOS-32 components are provided as linkable libraries (.LIB files). The source code add-ons allow you to completely rebuild these libraries. For most applications, there is no need to ever do this. Benefits are the ability to change compile-time options. For example, the number of priorities supported by RTKernel-32 is preconfigured to 256, but can be changed to any other value if you recompile the kernel. RTIP-32 and RTPEG-32 can be customized to exclude unused features and reduce code size or to add features not included in the precompiled version (e.g., RTPEG-32's functions for Bezier curves which require floating point calculations or RTIP-32's RIP protocol support). The minimal memory footprint of On Time RTOS-32 is only 16k RAM/ROM. What are the typical memory requirements of the various On Time RTOS-32 components?On Time RTOS-32 is self-scaling. All components are provided as libraries to be linked into the application. As a consequence, only the specific components and features that are referenced and used will be linked. Unused code is not included. The table below lists typical memory requirements of all On Time RTOS-32 components and of other code a program needs. Please note that the actual requirements can vary significantly from program to program.
For cross debugging, you support serial port, parallel ports, and Ethernet to connect host and target. Isn't downloading applications aggravatingly slow?Donwloading programs is much faster than most users would expect. Downloaded data is compressed and only those parts of an application actually required on the target (or which have changed since the last test run) are transferred. The table below summarizes the download times for a small and a typical application built with Microsoft Visual Studio 6.0, Debug Configuration.
I want to run real-time programs in parallel with Windows or some other OS. What do I need to do that?You need at least On Time RTOS-32 components RTTarget-32, RTVmf-32 or RTRth-32, and RTOS32Win from acontis technologies or the Real-Time Hypervisor from Real-Time Systems. RTOS32Win is a virtual machine framework which can execute On Time RTOS-32 programs parallel to Window under real-time conditions. Windows and On Time RTOS-32 can either run on the same CPU/core, or CPUs/cores can be explicitly assigned to Windows and On Time RTOS-32. The Real-Time Hypervisor always runs different operating system instances on different cores. How does On Time RTOS-32 compare to Embedded or Real-Time Linux?Many issues must be considered when comparing On Time RTOS-32 with Linux. Some of them are discussed in our white paper On Time RTOS-32 Versus Linux for Real-Time Embedded Systems. What are the run-time royalties for your products?There are none! Linked applications can be distributed as binary images in any quantity without the need for reporting or paying anything to On Time. This FAQ contains many questions and answers, but I still have questions for which I found no answers. How can I ask more questions?Just call or send an email to one of the On Time offices. If you have purely technical questions, you should contact On Time's technical support at Email address at On Time. To get in touch with other On Time RTOS-32 users, you can also subscribe to the On Time RTOS-32 Support Mailing List. Instructions for using the list are given on the On Time RTOS-32 support page.
|