 |
System Builder
|
AMX is delivered ready for development on a PC with
Windows® 9x, NT, 2000 or XP.
Initial releases of AMX were coded in assembler for compactness
and speed. Today, AMX is coded in C, taking advantage of improvements
in compiler technology on specific target processors.
Source code of all AMX modules is provided with AMX
to permit AMX to be ported to any development platform.
A sample program is provided to illustrate the proper use of many
of the AMX services.
AMX is compatible with many popular C compilers, assemblers
and linkers. AMX modules are provided in library object format
suitable for use with different tool sets. A Tool Guide is included
with AMX for each supported tool set. The AMX Porting Guide describes
how to port AMX for use with other tool sets.
 |
Configuration Builder
|
Construction of an AMX system involves several steps, the most
difficult of which is defining the manner in which the application
can be broken down into a set of cooperating tasks, Timer Procedures
and Interrupt Service Procedures.
These application components are programmed as single software
functions (procedures), usually in C. Modularity is under the
developer's control.
An AMX system definition module must be provided to define the
characteristics of the system. This module is called the System
Configuration Module. It defines the maximum number of tasks,
interval timers, message envelopes, semaphores, event groups,
mailboxes, message exchanges, buffer pools and memory pools which
AMX has to support. RAM memory, in quantities dictated by AMX
according to the options selected, must be provided.
The System Configuration Module can be used to predefine
any or all of these AMX objects which you will need in your
application. Although AMX permits these entities to be dynamically
created at run time, the ability to predefine them can reduce
system development time and target code size.
For software development on a PC or compatible, KADAK provides
a Configuration Builder to simplify construction of the System
Configuration Module. This utility program provides a full screen
interactive method of preparing and editing an AMX system definition
module. The Builder produces a C source file describing the AMX system.
The file has all of the components necessary to support the AMX options
selected for use. Only those options which are required in the user
system are included by the Builder.
Using the Configuration Builder helps to reduce the total
system implementation time by automating the generation of the
system definition module.
The Configuration Builder uses a generator utility to create the
AMX System Configuration Module from a text file in which the
application parameters are recorded. The generator, coded in C,
can be readily ported to non-PC development environments.
 |
AMX Linked and ROMed Systems
|
AMX is linked with your application code modules and the
AMX System Configuration Module to form an AMX system load module.
Only the subset of AMX modules which are actually used in your
application are included in the linked system. All AMX services are
accessed by direct procedure calls resolved by the linker.
Linked systems offer minimal size and fastest execution.
AMX and its managers are ROMable. The linked modules are located
in memory according to your target system's ROM and RAM memory
configuration. The final load module is then burned into ROM for
installation in the target hardware.
|