^ Name: | GECKO3TESTER || ^ Maintainer| [[gecko-systems:gecko3tester:orphaned]]|| ^ Revision: | unknown || ^ Development status: | unknown || ^ Compatibility: | GECKO3 || ===== GECKO3TESTER ===== This system was built to test the GECKO3main after production or from time to time. The GECKO3TESTER is divided into two parts: * the GECKO3main tester-hardware and * the Tester-SoC. The tester-hardware contains a power supply, Ethernet and RS232 cable adapters, clock sources for the ''EXTCLK'' inputs, power ''LEDs'' and most important it loops the ''GPIO'' signals on the System-Bus. With this peripheral the GECKO3main is able to run the test itself. To be able to run the automated test, at least the on-board 1.2 V power supply and the ''JTAG'' system must be working since you have to configure the FPGA. If you use the USB connection to configure the FPGA, the whole USB system has to work as well. In doubt use a JTAG programming cable and test the USB connection separately. We provide two different test configurations: * {{::gecko-systems:gecko3_tester:full-hw-test.bit.tar.bz2|}} tests all components and does full memory testing.\\ Use this for production test or if expect bad memory blocks. Runtime: ~ 15 minutes. * FIXME - coming later quick-hw-test.bit tests all components with a short go/no-go test pattern.\\ Runtime: 30 seconds. **Do not apply voltages over 5.2 V to the power supply input! Else you destroy your GECKO3main modules immediately!** ===== Test setup ===== {{ :gecko-systems:gecko3_tester:gecko3main_tester.jpg?300|}} ==== Required material ==== * GECKO3 tester * 5 V power supply with current limit set to 1.2 A * JTAG programming cable or mini USB cable * Zero modem cable * Ethernet cable * Ethernet switch * PC with serial Port (USB serial converter works well) ==== Setup your test environment ==== - Place your GECKO3main on the tester hardware. - Connect the cables with the Ethernet and RS232 interface. - Connect the zero modem cable to the tester and your PC. - Start a terminal program on your PC and open the serial port. \\ Settings: 115.2 kBaud, 8 Data bits, 1 Stop bit, no Handshake. - Connect the Ethernet cable to the tester and the Ethernet switch, you don't have to connect the switch to your real network, we need the switch to check the Ethernet PHY. If it is able to successfully get a link. - Connect the JTAG programming cable or the mini USB cable to the tester and your PC. - Power on the power supply and set the voltage to 5 V and the current limit to 1.2 A. - Plug in the power supply connector. ===== Test procedure ===== - Control the green power LEDs. ''Ubatt'' and ''3.3 V'' must light up. - Control the current consumption on the power supply, unconfigured the current should not exceed 0.3 A. - Press the ''Reset'' button. While you press, the red LED must light up. - Configure the FPGA with the desired hardware test bit file. - Check the terminal program if you receive status messages. - At the beginning of the automated test, the bi-color LEDs are tested, the test program activates one LED after the other. Watch the LEDs on the GECKO3main if all four LEDs light up in green and red. - The next step is to test the three push buttons. Follow the instructions in the terminal program. You have 5 seconds time to press the requested button. - Now the test will run fully automatic. It will test every memory cell on the SPI flash, the NOR Flash and on both DDR SDRAMs. - In the meantime, check if the Ethernet PHY has established a link (Green near the Ethernet connector lights up). Check the status LEDs on the switch if the link is 100 Mbit/s. - The full hardware test needs approximately 15 min to finish the test. Use this time to do other useful things. - When the test is finished successfully you will see these message: ''All Tests finished successfully. Systemtest PASSED'' else check the output messages for more detailed information about the detected errors. - **The last step is to write the new date of the successful hardware test with a pencil down to the product label.** ===== Example of a non-error full-hw-test ===== ---- Running Interrupt Controller Test... ---- Runnning IntcSelfTest... PASSED Intc Interrupt Setup... PASSED ---- Running LEDs Test... ---- LEDs Test PASSED. ---- Running Test for Push_Buttons... ---- Simple Read Test PASSED. The data should be 0xF: Read data:0xE Press button0 Button0 Test PASSED. Press button1 Button1 Test PASSED. Press button2 Button2 Test PASSED. ---- Running Uart Test... ---- Running Uart Selftest for debug_module... PASSED ---- Running Ethernet Test... ---- Running Ethernet_10_100 Selftest... PASSED Running Interrupt Test for Ethernet_10_100... PASSED ---- Running Test for IO Bus... ---- read data = 1 IO Bus Test PASSED ---- Running SPI and SPI Flash Test... ---- Running SpiSelfTest... PASSED Running Spi-Flash Test Initialize SPI Core... SUCCESSFULL Starting spi self test ...SUCCESSFULL Setup interrupt system ...SUCCESSFULL Initialize SPI Flash... SUCCESSFULL Memory Capacity: 4096 kBytes Start flash erase ...SUCCESSFULL SPI Flash SUCCESSFULLY erased *** Starting first Pattern Test *** Start flash erase ...SUCCESSFULL SPI Flash SUCCESSFULLY erased *** Starting second Pattern Test *** Spi-Flash Test PASSED ---- Runnning Memory Test for the DDR Ram... ---- Starting MemoryTest for Micron_DDR_MT46V16M16TG_75_MEM0: Running 32-bit test...PASSED! Running 32-bit Second Pattern Test...PASSED! Running 16-bit test...PASSED! Running 8-bit test...PASSED! Starting MemoryTest for MICRON_DDR_1_MEM0: Running 32-bit test...PASSED! Running 32-bit Second Pattern Test...PASSED! Running 16-bit test...PASSED! Running 8-bit test...PASSED! Memory Test PASSED ---- Flash Memory Test... ---- Querying Flash device size Value should be: 0x180018 Received Value: 0x180018 Found two 128 Mbit devices Testing Flash addresses 38000000 to 39FFFFFF TEST - Testing flash erase Erasing from 0x38000000 to 0x39FFFFFF (inclusive) TEST - Testing Walking 1's across Data bus TEST - Testing Walking 1's across Address bus (tests address bits 24 to 2) Erasing from 0x38000000 to 0x39FFFFFF (inclusive) TEST - Testing writing address into memory locations Erasing from 0x38000000 to 0x39FFFFFF (inclusive) TEST - Testing writing inverse address into memory locations Memory Test PASSED ---- Testsystem for GECKO3main finished ---- All Tests finished successfully. Systemtest PASSED ===== Explanation of the different reported errors ===== **Note:**\\ The GPIO pin numbering used by the test software is different than the normal system bus names. Refer to the [[:gecko-systems:gecko3tester:start]] schematic to know which hardware pin has problems. If a error on the system bus or on a memory chip is detected, most of the time you will get a bunch of errors after that. Always look for the first detected error and try to fix that. Afterwards do another test run. **crossconnection** means thant two pins on the bus have a connection. **shortings** means that one pin is connected to a supply voltage or ground. **stuck at one** means that this pin is always HIGH. This occours on the GECKO3main also when a fpga pin is NOT CONNECTED AT ALL (due to internal pull-ups).