

      --------------------------------------------------------
       AMD 802.11 Access Point / Station Firmware 2.0 Release
                               May 1998
      --------------------------------------------------------

         (c) Copyright Advanced Micro Devices, Inc. 1997, 1998


Described by this readme.txt is a description of the firmware build
environment and the structure of the AMD Am79C930 PCnet "TM" -Mobile 802.11
firmware object, source, and build configuration file distribution.  Also
described here is a simple build procedure.  A complete description of this
implementation can be found in the Access Point / Station Firmware
Architecture Specification for IEEE 802.11 PCnet-Mobile which is included as
a part of this distribution.

Owing to the fact that the PCnet-Mobile Am79C930 provides support for either
the PCMCIA or ISA PnP host interface the subdirectory structure of the
firmware distribution is organized along these lines.  Another criterion used
to organize the firmware distribution has to do with the PHY interface.
Since the core firmware has been designed to work with either 802.11
compliant direct sequence or frequency hopping spread spectrum hardware this
is reflected in the distribution as well.

There are two reference platforms used by AMD for building of the firmware.
Both the PCMCIA and ISA PnP platforms use a Harris/Celestica RF design.
A make file is provide for both builds.  The source for the Radio API
is the same.  If one examines they will find that the make file for the ISA
PnP includes the command line definition which enables the condition
compilation of the source for this interface.

The design of the core firmware is to have it unaware of the type of host
interface.  The issues concerning this aspect of the design have been moved
into the PHY API source code so as to give the OEM control over the choice of
host interface.  Currently the binaries are distributed in a PCMCIA
configuration.  That is to say, the ISA build does not contain the PnP
resource record.  In order to create a binary for the ISA PnP adapter an extra
step must be taken when loading the firmware into the adapter.  A PnP resource
record (CIS_PNP.BIN) is provided for the process which is described in detail
in the utility distribution documentation.


Build Environment
=================

This firmware was built on a Microsoft Windows platform using the following
tools:


  Borland International -
    100 Borland Way
    Scotts Valley, CA 96066-3249 USA

        *   C++ Compiler version 4.50
        *   Turbo Assembler version 4.1
        *   Turbo Linker version 7.0
        *   Make Utility version 3.7


  Paradigm Systems -
    3301 Country Club Road
    Suite 2214
    Endwell, NY 13760 USA

        *   Locate version 5.1



File Distribution
=================

At the root there are three subdirectories:  CORE.SRC, CORE.OBJ, and
BUILD.ENV.  There are only files under CORE.SRC and CORE.OBJ subdirectories.
Under the BUILD.ENV subdirectory are the compiler configuration files common
to the building of the firmware as well as three subdirectories:  BUILD.DS,
BUILD.FH, and LOCATE.  There is only a configuration file used by the utility
LOCATE.EXE in the LOCATE subdirectory.  Under BUILD.DS and BUILD.FH are six
subdirectories:  ISAPNP.OBJ, ISAPNP.SRC, ISAPNP.BIN, PCMCIA.OBJ, PCMCIA.SRC,
and PCMCIA.BIN.  There are only files in these subdirectories.


Directory Contents
==================

.\FIRMWARE
--

CORE.OBJ        <DIRECTORY>
CORE.SRC        <DIRECTORY>
BUILD.ENV       <DIRECTORY>
README.TXT


.\FIRMWARE\CORE.OBJ
----------
802.11 core protocol object files required to build firmware.

   bcpp45.obj
   fardata.obj
   pcmciaat.obj
   synthszr.obj
   radioapi.obj
   api_asm.obj
   def_mib.obj
   types.obj
   globals.obj
   crc_tabl.obj
   hop_tabl.obj
   phy.obj
   main_01.obj
   backoff.obj
   queues.obj
   phy_tx.obj
   phy_rx.obj
   phy_mgmt.obj
   init_mib.obj
   host_rx.obj
   cmd_intf.obj
   host_tx.obj
   mac_mgmt.obj
   sys_time.obj
   hardware.obj
   bcpprtl.obj
   banner.obj


.\FIRMWARE\CORE.SRC
----------

RADIO.HPP       Required source files used to build the radio API specific
MIB.HPP         modules of the firmware.  DO NOT MODIFY!
DRIVER.H
REGISTER.HPP
TYPES.HPP


.\FIRMWARE\BUILD.ENV
-----------

LOCATE          <DIRECTORY>
BUILD.DS        <DIRECTORY>
BUILD.FH        <DIRECTORY>

Needs customer customization.

APS_FWP.MAK     PCMCIA MAKE utility configuration file to construct firmware.

APS_FWI.MAK     ISA PnP MAKE utility configuration file to construct firmware.

(Please note:  In order to create a binary for the ISA PnP adapter an extra
step must be taken when loading the firmware into the adapter.  A PnP resource
record file, called CIS_PNP.BIN, is provided for the process which is
described in detail in the utility distribution documentation.)

BCCDOS.CFG      Compiler option file.


.\FIRMWARE\BUILD.ENV\LOCATE
------------------

APS_FW.RT       Configuration file for Paradigm LOCATE utility.


.\FIRMWARE\BUILD.ENV\BUILD.DS
--------------------

ISAPNP.BIN      <DIRECTORY>
ISAPNP.OBJ      <DIRECTORY>
ISAPNP.SRC      <DIRECTORY>
PCMCIA.BIN      <DIRECTORY>
PCMCIA.OBJ      <DIRECTORY>
PCMCIA.SRC      <DIRECTORY>


.\FIRMWARE\BUILD.ENV\BUILD.DS\ISAPNP.BIN
-------------------------------

CIS_PNP.BIN     Binary image of the Plug and Play Resource Record.
DSISA.BIN       Binary image of the DS ISA build
                (NOT including PNP resource record).
DSISA.ZIP       Archive of DS ISA binary image.


.\FIRMWARE\BUILD.ENV\BUILD.DS\ISAPNP.OBJ
-------------------------------

RADIOAPI.OBJ    Object files generated from the compiler/assembler used to
SYNTHSZR.OBJ    build the DS ISA binary image.
DEF_MIB.OBJ
API_ASM.OBJ


.\FIRMWARE\BUILD.ENV\BUILD.DS\ISAPNP.SRC
-------------------------------

SYNTHSZR.CPP    Developer modifiable ISA DS source implementing PHY API.
DEF_MIB.CPP     Please refer to the Access Point/Station Firmware
RADIOAPI.CPP    Architecture Specification for IEEE 802.11 PCnet-Mobile for
RADIOAPI.HPP    details.
API_ASM.ASM


.\FIRMWARE\BUILD.ENV\BUILD.DS\PCMCIA.BIN
-------------------------------

DSPCMCIA.BIN    Binary image of the DS PCMCIA build.
DSPCMCIA.ZIP    Archive of DS PCMCIA binary image.


.\FIRMWARE\BUILD.ENV\BUILD.DS\PCMCIA.OBJ
-------------------------------

API_ASM.OBJ     Object files generated from the compiler/assembler used to
DEF_MIB.OBJ     build the DS PCMCIA binary image.
RADIOAPI.OBJ
SYNTHSZR.OBJ


.\FIRMWARE\BUILD.ENV\BUILD.DS\PCMCIA.SRC
-------------------------------

API_ASM.ASM     Developer modifiable PCMCIA DS source implementing PHY API.
DEF_MIB.CPP     Please refer to the Access Point/Station Firmware
RADIOAPI.CPP    Architecture Specification for IEEE 802.11 PCnet-Mobile for
RADIOAPI.HPP    details.
SYNTHSZR.CPP


.\FIRMWARE\BUILD.ENV\BUILD.FH
--------------------

ISAPNP.BIN      <DIRECTORY>
ISAPNP.OBJ      <DIRECTORY>
ISAPNP.SRC      <DIRECTORY>
PCMCIA.BIN      <DIRECTORY>
PCMCIA.OBJ      <DIRECTORY>
PCMCIA.SRC      <DIRECTORY>

.\FIRMWARE\BUILD.ENV\BUILD.FH\ISAPNP.BIN
.\FIRMWARE\BUILD.ENV\BUILD.FH\ISAPNP.OBJ
.\FIRMWARE\BUILD.ENV\BUILD.FH\ISAPNP.SRC
.\FIRMWARE\BUILD.ENV\BUILD.FH\PCMCIA.BIN
.\FIRMWARE\BUILD.ENV\BUILD.FH\PCMCIA.OBJ
.\FIRMWARE\BUILD.ENV\BUILD.FH\PCMCIA.SRC


Paradigm Locate
===============

A necessary prerequisite to building this firmware is creating the ROMable
libraries using the process explained by Paradigm Systems.  One should choose
the Borland C++ 4.5 support option.  Since the firmware is built using the
MEDIUM model one should make sure the libraries created are for the MEDIUM
model.  One other file necessary for the build process is FARDATA.CFG which
is included as a part of the Paradigm Systems distribution.


Simple Build
============

In order to build an 802.11 station firmware image (APS_FWx.BIN where x is
eeither an i for ISA PnP or p for PCMCIA) place the files from the following
directories in an empty 'project' subdirectory on the develpement system:
CORE.SRC, CORE.OBJ, BUILD.ENV, and LOCATE.  In addition, depending on the
physical interface, the source files from that PHY API source subdirectory
should be copied into the project subdirectory.  Lastly, copy the Paradigm
Systems configuration file FARDATA.CFG into the project subdirectory.

Assuming all the tools have been installed simply run the MAKE utility (which
is distributed with the compiler) with the enclosed make file (APS_FWx.MAK).
It may be necessary to be edit the make file in order for it to work on a
given system.  The necessary editing is limited to identifying the paths
where the tools and libraries used to build the firmware are located.

From the project directory, the command line is:

        MAKE -f APS_FWx <enter>


The resultant firmware image is APS_FWx.BIN. This image can be loaded
into the FLASH ROM of the PCnet-Mobile adapter using the utility
LOADCARD.EXE.  Please refer to the utility documentation for a complete
description of the options.


