TOC PREV NEXT INDEX DOC LIST MASTER INDEX



Board Support Package (BSP)

The MARK BSPs are almost identical to the equivalent Rational Exec BSPs (referred to in this document as STANDARD). An advisable approach is to construct the STANDARD Rational Exec BSP before working on the MARK version.

The MARK BSPs do not contain TDM. However, the Rational Exec TDM is used for MARK development. Download the version of TDM required for your application development. Then you can download, debug, and execute the MARK application.

Both the kernel configuration krn_conf.ss and the user configuration usr_conf.ss are included in a MARK executable.

The following two sections describe the detailed differences between the STANDARD and MARK subsystems.


Models

Board Model

There is a board level model provided for each of the Rational supplied BSPs. It is in the model.ss view and has a view name that includes the board name along with the .mark extension.

The model contains the correct view initialization information for the Policy/Switches values that identify the linker description file, runtime archives (stub archives), etc. In addition the model has the correct view import set for an application program which includes all of the runtime views.

The full storage_management.ss view (.sm3) and the full exceptions.ss view (.ex1) are selected for this model. The Board Model can be used as the model when creating a new view that will be used to contain the main subprogram for the application that is being constructed.

Board minimal Model

The minimal model has fewer imports than the Board Model. Views from the storage_mangagement.ss and exceptions.ss are not included. After creating a view using this model the desired view from the exceptions.ss and storage_mangagement.ss must be manually imported before the created view will be useful.

Linker Description File

The linker description file is derived from the STANDARD Link.des file for the kernel configuration found in the krn_conf.ss view. No specific references to units in the OBJECTS section is required. This is because all of the units including the kernel configuration in a MARK program will be explicitly "with"ed.

The memory map for the board must be laid out so that the MARK program will not overlap with any other programs or data structures that are on the board. One potential problem is with the network TDM interface block if network TDM is being used. Look at the network TDM v_tdm_main.map file in tdm_conf.ss to see where the TDM_IFACE_BLOCK is located. You might find something that looks like the following in v_tdm_main.map:

In this case, the MARK program Link.des file should indicate an ORIGIN of 070000 and the Policy/Switches value indicating the KERNEL_START address needs to be changed to be the start of the MARK program.

The GUI debugger, apex_debug, the Run dialog, and apex_execute all get the starting address from the KERNEL_START Policy/Switch. After bringing up the debugger, display the $pc register to verify that it is the origin of the MARK program.


Kernel Configuration (krn_conf.ss) Differences

This section discusses the differences between the MARK and STANDARD view contents in krn_conf.ss.

The Linker description file for a MARK application is derived from the STANDARD kernel configuration.

In STANDARD, the kernel configuration is elaborated before the kernel is initialized. When the program begins the program is then elaborated. Ada does not support two different elaboration lists. This means kernel elaboration and program elaboration will be mixed.

Note: For this reason, it is best to verify that the kernel configuration requires no elaboration to work correctly. Since the STANDARD and MARK kernel configurations are normally identical, the STANDARD kernel can be examined for elaboration problems.

If the STANDARD kernel is debugged, the routine __ADA_ELAB can be examined in disassembly mode to get a listing of the elaboration code generated for the kernel configuration. The elaboration entries currently generated for the STANDARD kernel configuration are:

Executing this elaboration code is not required.


User Configuration (usr_conf.ss) Differences

The MARK view of usr_conf.ss contains a copy of the STANDARD implementation of Calendar_Configuration and Real_Time.

A very scaled down version of V_Usr_Conf is provided to supply the unsatisfied references needed to compile and link programs in the MARK environment.


Rational Software Corporation 
http://www.rational.com
support@rational.com
techpubs@rational.com
Copyright © 1993-2001, Rational Software Corporation. All rights reserved.
TOC PREV NEXT INDEX DOC LIST MASTER INDEX TECHNOTES APEX TIPS