Dashboard Introduction

SYSBLD automates kernel configuration. The user is prompted for system information, which is used to create an ASCII source file. This file is then assembled to produce an object file, which is linked with the kernel and application software to become part of the target system.

Purpose of the Utility

The system configuration utility has two purposes. One is as a method of binding the kernel to the application at run-time, and the other is to provide fault detection early in the implementation phase.

The file created by SYSBLD describes the hardware relevant to the kernel, application resource needs, and the tasks and their attributes. The kernel uses this information at initialization, and for some special conditions, to configure the hardware, kernel, and application, thus binding the kernel to the application.

SYSBLD is an automated mechanism for creating a source file. Part of the automation process is to check data consistency and resource availability.

As configuration information is provided, SYSBLD correlates the data and tests against limits. If SYSBLD is used to create the configuration file, the probability of a resource-related fault occurring at run-time is greatly reduced.

Assembling and Modifying the Output File

The following pages show the assembly language source file created by SYSBLD; standard directives and syntax are used.

The file may be created manually with a text editor or the output of SYSBLD may be edited, although this defeats the fault protection advantage of SYSBLD.

If the file is created manually, the only requirement is that PUBLIC data must be declared exactly as shown. All other parts of the file may be changed to suit the development environment and application.

    NAME CONFIG_STT
    P68H11
    RSEG SDATA
$..\INC\IF_L.INC          REQUIRED INCLUDE FILES
$..\INC\IF_K_L.INC
$..\INC\TNAME.INC
****************************************
* PUBLIC DECLARATIONS
    PUBLIC eram_loc
    PUBLIC apdata,usrstk,osdata,sysstk
    PUBLIC tsk_cfg
    PUBLIC hw_init_ep,sw_init_ep,erom_bk_ep,fault_handler
    PUBLIC r_que_cnt,r_sem_cnt,r_msg_cnt
    PUBLIC u68_tmsk2,u68_init,u68_hprio,u68_option
****************************************
* EXTERNAL DECLARATIONS
    EXTERN epage_chg DEFINED TASKS AND
    EXTERN hw_init   OTHER ENTRY POINTS
    EXTERN io_init
    EXTERN task_0
    EXTERN task_1
****************************************
* PHYSICAL MEMORY DECLARATIONS
eram_loc:
    FDB $4000        DYNAMIC MEMORY LOCATION
    FDB $4000        DYNAMIC MEMORY SIZE
    FDB INV_ADDR     MEMORY DESCRIPTOR TERMINATOR
****************************************
* LOGICAL MEMORY DECLARATIONS
apdata:
    FDB $5000        APPLICATION MEMORY PARTITION
    FDB $1000        APPLICATION PARTITION SIZE
usrstk:
    FDB $6000        TASK STACK PARTITION
    FDB $1000        TASK STACK PARTITION SIZE
osdata:
    FDB $7000        KERNEL DATA PARTITION
    FDB $0f00        KERNEL DATA PARTITION SIZE
sysstk:
    FDB $7f00        SUPERVISOR STACK LOCATION
    FDB $0100        SUPERVISOR STACK SIZE
****************************************
* TASK SPECIFICATIONS
tsk_cfg:
    FDB task_0       ENTRY POINT
    FCB BANK_0       RESIDENT BANK
    FCB TASK_0       NAME
    FDB STKSIZ_S     STACK SIZE OPTION
    FDB NOT_USED     MEMORY SIZE OPTION
    FCB PRI_HIGH     PRIORITY OPTION
    FCB NOT_USED
    FDB task_1
    FCB BANK_0
    FCB TASK_1
    FDB STKSIZ_S
    FDB NOT_USED
    FCB PRI_NORM
    FCB NOT_USED
    FDB INV_ADDR     TASK DESCRIPTOR TERMINATOR
****************************************
* SPECIAL PURPOSE PROCS & TASKS
erom_bk_ep:
    FDB epage_chg    BANK SWITCH PROCEDURE ENTRY POINT
hw_init_ep:
    FDB hw_init      H/W INITIALIZATION PROC ENTRY PT
sw_init_ep:
    FDB sw_init      S/W INITIALIZATION PROC ENTRY PT
fault_handler:
    FCB TASK_0       FAULT HANDLER TASK NAME
****************************************
* RESOURCE SPECIFICATIONS
r_que_cnt:
    FDB 2            NUMBER OF QUEUES
r_sem_cnt:
    FDB 2            NUMBER OF SEMAPHORES
r_msg_cnt:
    FDB 4            NUMBER OF MESSAGES
****************************************
* PROCESSOR STARTUP CONFIGURATION
u68_tmsk2:
    FCB $03          INTERNAL REGISTERS:  TMSK2
u68_init:
    FCB $01                               INIT
u68_hprio:
    FCB $07                               HPRIO
u68_option:
    FCB $03                               OPTION
    END