On Time RTOS-32 Documentation
Welcome
RTTarget-32
RTTarget-32 Programming Manual
Introduction
Running Win32 Programs without Win32
The i386 Microprocessor
RTLoc: Locating a Program
Running a Program on the Target
Cross Debugging
Using an IDE
The RTTarget-32 API
Demo Programs
Advanced Topics
Choosing a Locate Method
Running with or without Paging
Running at CPL 0 or 3
Installing Hardware Interrupt Handlers
Catching NULL Pointer Assignments
Catching Stack Overflows
Running without Run-Time System
Avoid Repeated Downloads
Configuration for Debug and Release Builds
Using Data Compression
Using DLLs through RTLoc
Loading DLLs through a File System
Utility MakeDLM
RAM File System
Installable File System
Multithread Applications
Using the MetaWINDOW Graphics Library
Using the 387 Emulator
Using Non-Volatile Memory
APIC Mode
Multiprocessor Applications
Custom MP Floating Pointer Structure
RTVmf-32
RTRth-32
Performance Optimizations
Compiling and Linking with On Time RTOS-32
Redistributable Components of RTTarget-32
RTLoc Error Messages
RTTarget-32 Reference Manual
RTKernel-32
RTFiles-32
RTIP-32
RTPEG-32
RTUSB-32
|
Utility MakeDLM
Command line utility MakeDLM can convert a standard Win32 DLL to a DLM. Its command line syntax is:
MakeDLM [Options] DLLName
The following options are available:
-c[+|-] | Compression, default is on. This option controls whether the DLM should be compressed. Typically, compression reduces the file size by a factor of 2. |
-q[+|-] | Quiet, default is off. Controls whether compression statistics should be displayed. |
-g[+|-] | Debug symbol conversion, default is off. Controls whether MakeDLM should prepare debug symbol tables for RTD32. Symbol table conversion is only required for Microsoft compilers and if RTD32 is to be used. |
Parameter DLLName must be the name of the DLL to process. If no filename extension is given, .DLL is assumed. The file is first searched in the default directory, then in the directory MakeDLM is loaded from. The resulting DLM file will reside in the same directory as the original DLL with filename extension .DLM.
Please note that program MakeDLM is not redistributable. It may only be used by RTTarget-32 license owners. For information on distributing MakeDLM with your applications to your customers, please contact On Time.
The use of compression for DLMs entails a tradeoff between disk space efficiency, load time, and memory requirement at run-time. Obviously, compressed DLMs will always need much less disk space. Compressed DLMs must be decompressed at run time. For fast disks and/or slow CPUs, compression will slow down DLM load time. However, for slow disks (e.g., diskettes) and/or fast CPUs, compressed DLMs will load faster. Another issue is that LoadLibrary will need some temporary storage to expand the DLM. Depending on the installed memory management options, this temporary storage may not be available for subsequent allocations of the program. Please refer to the following table.
|
Fixed Memory Manager |
Virtual Memory Manager |
Run-Time System Heap Manager |
The temporary storage is returned to the Win32 default heap and is not available to allocations through malloc or new. It is available for allocations through HeapAlloc only. |
The temporary storage is decommitted and deallocated and can be reused by any allocation method. |
RTTHeap |
The temporary storage is returned to the Win32 default Heap and is available to allocations through malloc, new, and HeapAlloc. |
The temporary storage is decommitted and deallocated and can be reused by any allocation method. |
The rows and columns specify RTTarget-32's memory managers and heap manager used by your program at run time.
Loading DLLs through a File System
|