M1 Diagnostic Utilities

m1test
m1nile
m1pagetest
m1scan
m1init
m1probe
m1malloctest
These programs (located in ${CHEOPS_BASE}/local/src/diag/m1/) were written for testing the operation of the Cheops M1 Memory module.


m1test

This is the principal M1 test program. It's main function is to test the operation of the core memory, but unless otherwise directed it also performs a quick check of the global bus interface and page table first.

Usage:

       m1test [ -specific < quad_num>   < num_bytes> ] # test region of mem.
              [ -module < module_no>   ]  # which M1 module ?
              [ -bank < bank_num>   ]     # test a bank [0,7] of memory
              [ -all ]         # test all the memory
              [ -quick ]       # test all the memory quickly (DEFAULT)
              [ -type (b|s|l|q) ]      # word size to use in transfer
              [ -passes < number_of_tests>   ]  # number of times to repeat
              [ -errors < maximum_number_before_exiting>   ]
              [ -large ]       # use 256 page entries
              [ -flash ]       # test the flash memory
              [ -option ]      # don't do basic testing  - caution !
              [ -nice ]        # print no error messages - caution !
              [ -debug ]       # turn on flood lib debugging

NOTE: After running m1test, the state of the M1 memory card is thoroughly trashed. m1format must be run before using other M1 applications (even other diagnostics such as m1nile.)


m1nile

This program tests the operation of the Nile interface on an M1 card. m1init and
m1format must be run first.

Usage:

       m1nile [< module_number>]        # id of module to test
              [ -m1 (src|dst) ] ]      # source or sink data in transfer
              [ -pattern < patt_name> ] # pattern to use: see below
              [ -nile (white|blue) ]   # which nile bus to test
              [ -loc < nile_bank> ]     # which P2 nile bank to use
              [ -size < x_samples> < y_lines> ]  # size of transfer
              [ -repeat < repeat_times> ]  # num. times to repeat
              [ -debug ]               # toggle debugging messages
              [ -verbose ]             # toggle all message
              [ -errors < max_errors> ] # number of errors before quitting
              [ -369 ]                 # ignore bug no. 369

	(options may be specified by their first letter)

The -pattern option allows different parts of the hardware to be tested. Here is a brief description of each test :

ones
zeroes
toggle
Tests for stuck data bits, using a pattern of 0xFFFFFFFF, 0, or 0x5A5AA5A5, respectively.
align
alignment
address
Three names for the same test - one which places a relatively unique datum in each address being tested - looking for data ordering problems.
random
A more comprehensive tests for addressing problems, using random data.
word
Tests for data dependent timing problems in the nile bus side of the transfer.
quad
Tests for data dependent timing problems in the memory core of the M1 module.


m1pagetest

This program is used to test the page table of the Cheops M1 memory card. The page table is the mapping hardware that allows the large amount of memory on a card to be accessed through a 64 MB window in the global bus address space. This test is also done (in abbreviated form) by m1test.


m1scan

Reports the status of all the SIMMs. It's functionality has been incorporated into both m1test and m1format.

Usage:

	m1scan [ < module_no> ]


m1init

This command initializes an M1 card. This consists of resetting and disabling the nile interface, and setting the control registers and page table memory to a default state.

Usage:

   m1init [ < module> ] [ < mode> ]

NOTE: If using Magic7 v6.23 or greater, this program is automatically run during system boot for all M1 cards found in the system.


m1probe

Allows serious debugging of an M1 card - recompiled per case, and intended for use in conjunction with test equipment.

Usage:

           m1probe [ < module_no> ]


m1malloctest

This is a suite of routines for testing the m1malloc library.


Return to
Software Index
Return to Cheops Homepage
cheops-web@media.mit.edu
This is a "fix it yourself" page, located at ${CHEOPS_BASE}/WWW/software/diagm1.html