This project will involve the development of a software test suite to perform self-diagnostics in a generic embedded computer platform. The tests will include CPU tests, memory tests, storage media, such as flash, and peripherals such as Ethernet and serial ports. Through this project, the student will work with embedded computers running a Real-Time Operating System (RTOS).
To write a standard BIT test suite that can be used to perform detailed BIT of an embedded CPU. This is a partial list of some of the tests:
CPU Tests
- Integer Arithmetic Test
- Integer Rotate/Shift Test
- Integer Load/Store Test
- Integer Load/Store Multiple Test
- Integer Load/Store String Test
- Integer Load/Store Byte-Reverse Test
- Integer Compare and Logical Test
- Floating-Point Arithmetic Test
- Floating-Point Multiply-Add/Subtract Test
- Floating-Point Rounding/Conversion Test
- Floating-Point Load/Store/Move Test
- Condition Register Logical Test
L2 Cache Tests
- L2 Cache Flush, Invalidate, Lock, Pattern, Size, Write-Back, Write-Through Tests
System Memory Controller Tests
- System Memory Controller Test
- System Memory Controller Device Visibility Test
RAM Tests
http://pyropus.ca/software/memtester/
PCI Host Bridge Tests
- PCI Host Bridge Test
- PCI Host Bridge Device Visibility Test
Multiprocessor Tests
Serial EEPROM Tests
- Vital Product Data Verify Test
- Serial Presence Detect Verify Test
- User Configuration Data Read Test
Real Time Clock Tests
- Real Time Clock Battery Test
- Real Time Clock Alarm Test
- Real Time Clock Test
- Real Time Clock Set Test
- Real Time Clock Accuracy Test
- Watchdog Timer Test
UART Tests
- UART Register Test
- UART Baud Rate Test
- UART Internal Loopback Polled Mode Test
- UART Internal Loopback Interrupt Mode Test
- UART Internal Loopback DMA Mode Test
- UART External Loopback with Modem Controls Test
Ethernet Tests
- Serial EEPROM Device Accessibility Test
- Serial EEPROM Device Verify Test
- Register Accessibility Test
- Register Test
- Internal Loopback Test
- External Loopback Test