Updates to enable Yocto parallel build
[keystone-rtos/fault_mgmt.git] / test / README.txt
1 Fault Management Library Example
5 A simple example demonstrating how to use the Fault Management module to send the DSP core dump to the Host processor when a DSP exception occurs.
9 Steps to build the benchmark example:
13 1. Import the CCS faultManagementTestProject from instrumentation\fault_mgmt\test directory. (in CCSv5.1, File->Import... Select Existing CCS/CCE Eclipse Projects)
16 2. Clean the faultManagementTestProject project, delete the Debug and Release directories, and re-build the project.  After the build is complete, faultManagementTestProject.out and faultManagementTestProject.map will be generated under instrumentation\fault_mgmt\test\Debug (or \Release depending on the build configuration) directory.
20 Steps to run faultManagementTestProject in CCSv5.1:
24 1. Be sure to set the boot mode dip switch to no boot/EMIF16 boot mode on the EVM.
27 2. Connect to Core 0.
28 3. Load instrumentation\fault_mgmt\test\Debug\faultManagementTestProject.out on core 0
31 4. Run the project.  A DSP exception should occur.
32 5. Open a new Memory Browser (View->Memory Browser) and type the symbol name "fault_mgmt_data" (minus quotes) into the memory window.  The data collected by the fault management library upon exception is located here.  Alternatively, one can open the faultManagementTestProject.map file and search for the fault_mgmt_data symbol and its associated placement address.  Then type that address into the Memory Browser.
33 6. The output located at the address input in the memory browser should follow the below format for ELF note sections and contain the DSP core dump information (i.e. registers A0/B0 through A31/B31 and NTSR, ITSR, IRP, SSR, AMR, RILC, and ILC should all be in the fault_mgmt_data section:
35 ELF Note Section:
37 byte            +0        +1       +2        +3
38             +--------+--------+---------+--------+
39 namesz | # bytes in name field excluding pad|    Should contain number of bytes in the name field
40             +--------+--------+---------+--------+
41 descsz   | # bytes in desc field excluding pad|     Should contain number of byes in the desc field
42             +--------+--------+---------+--------+
43 type      |      Not Used (should be zero)     |
44             +--------+--------+---------+--------+
45 name    | char 0 | char 1 | char 2  | char 3 |
46             +--------+--------+---------+--------+
47             | char 4 |  ...   | char n  |  pad   |      
48             +--------+--------+---------+--------+
49  desc    |              word 0                |   
50             +--------+--------+---------+--------+
51             |              word 1                |
52             +--------+--------+---------+--------+
54 7. Open a new Memory Browser and input the address of the device's IPCGRH register.  Use the device's Data Manual to find the address for this register.
55 8. The SRCSx bit, where x is the DSP core number that the example project was loaded on, should be set.