54 lines
2.0 KiB
Plaintext
54 lines
2.0 KiB
Plaintext
|
Name:
|
||
|
=====
|
||
|
flash_selftest
|
||
|
|
||
|
|
||
|
Description:
|
||
|
============
|
||
|
An example to test all onboard flash.
|
||
|
|
||
|
|
||
|
Purpose:
|
||
|
This example runs a series of test patterns on all instances of the device
|
||
|
flash. It performs many of the same tests that the hardware BIST (built
|
||
|
in self test) uses at production test.
|
||
|
|
||
|
Results are saved in coded form to a defined data word (g_result) which
|
||
|
tracks any failure. Further, g_result can be given an absolute address
|
||
|
location so that an outside system will know where to find the results.
|
||
|
|
||
|
Results output is also configurable such that the simplified results
|
||
|
(pass/fail, done, etc.) can be output to GPIO bits.
|
||
|
|
||
|
The test must be loaded and executed in SRAM. Therefore a J-Link Commander
|
||
|
batch file is provided here to assist with that.
|
||
|
Alternatively the program can be loaded with a debugger and run from there.
|
||
|
|
||
|
Printing takes place over the ITM at 1M Baud.
|
||
|
|
||
|
Additional Information:
|
||
|
=======================
|
||
|
Using the J-Link Commander batch file on an Apollo3 Blue EVB:
|
||
|
- The Commander script file is one of either selftest_commander_gcc.jlink,
|
||
|
selftest_commander_iar.jlink, or selftest_commander_keil.jlink.
|
||
|
- Requires Segger J-Link v6.60 or later.
|
||
|
- As shipped in the SDK, the J-Link Commander scripts should be correctly
|
||
|
configured to run the given binary. If the test is modified, the commander
|
||
|
script may need an update of the SP and PC. The first two word values in
|
||
|
the vector table of your compiled binary determine the required values.
|
||
|
- Use the following command line at a DOS prompt.
|
||
|
jlink -CommanderScript selftest_commander_xxx.jlink
|
||
|
- The flash self test stores results to address 0x10030000.
|
||
|
0xFAE00000 = Pass, the flash tested good.
|
||
|
0xFAE0xxxx = Fail, where xxxx is a failure code.
|
||
|
- If USE_TIMER is enabled, the run time of the selftest is stored in two
|
||
|
words at 0x10030004 and 0x1003008. The first word is the whole number
|
||
|
of seconds, the second is the fractional part to 3 decimals. Therefore
|
||
|
the two values show the total run time in the form: ss.fff
|
||
|
|
||
|
|
||
|
|
||
|
******************************************************************************
|
||
|
|
||
|
|