ARM Technical Support Knowledge Articles

How do I diagnose my faulty board?

Applies to: Development Boards


Simple board diagnosis steps:

  1. State of 'FPGA_OK' or 'DONE' LEDs

    If the board has DIP switches to select FPGA images, check that they are set to load a valid image. Some boards have an FPGA_IMAGE LED to indicate which will be loaded (refer to user guide). The FPGA image (in flash memory) may need re-programming with the progcards utilities. Sometimes these can become corrupted. If you have written your own progcards .brd file, check that the flash address is correct (refer to user guide / example progcards .brd files).

  2. Bent Integrator header pins

    The high-density header connectors used on the Integrator range of boards are easily damaged if considerable care is not taken when boards are connected together or separated. Carefully separate all boards and check that all plug pins are straight and that the mating socket holes are free from obstructions.

    If a pin is bent, it may be possible to rectify the problem by carefully straightening the pin with a suitable implement, e.g., a pair of thin, long-nosed pliers, or by sandwiching the pin between two very small flat-head screwdrivers. Obviously, the board should not be powered whilst attempting this operation. Socket holes can sometimes be cleared with the tip of a very fine steel pin.

    If it is not possible to straighten a pin, if the pin has already been broken, or the pin breaks in an attempt to straighten it, then the board should be returned to its place of purchase for repair. It is most likely that a repair fee will be charged, since this type of failure is not covered by the product's warranty. Customers should not attempt solder repairs on Integrator boards, since further damage may result. If the broken pin is a power or GND pin, then so long as it has broken off 'cleanly' and should not cause further damage and therefore can generally be ignored due to the fact that there are multiple power/GND pins present on the headers.

  3. Tiles not plugged together correctly or contaminated header contacts

    When connecting a tile, for example a logic tile, to an Integrator/IM-LT, you need to push it down firmly to ensure that all the signals of the stacking headers make good contact.

    If the tile is not connected correctly, progcards will report an error such as "Failure to identify flash interface ".

    If the tile has not been connected correctly, check that the tile connectors are clean and free from debris before re-attaching.

    We have seen occasional cases where header connections have failed to make a good electrical contact due to minor contamination on the gold surfaces of the headers.  A suitable switch cleaner solution (or isopropyl alcohol) applied with a suitable small brush can often resolve this issue.

  4. Overclocking

    Are you sure that you are not overclocking one or more of the clock domains in your system?

    Integrator development boards are not guaranteed to run at any particular clock frequency. Maximum clock speeds can only be determined experimentally. If the fault symptoms are that the ARM core cannot reliably access memory or peripherals, then this may be the cause.

    Please check the Integrator Performance FAQ document  for typical maximums for your board.

    The typical maximum speed of Versatile baseboards is stated in the user guide. This doesn't include peripherals synthesized in Logic Tiles and connected to the development chip on the baseboard.

    Even if you have not knowingly changed clock oscillator settings in your system, the software that you are running may have. Operating System boot loaders are prime examples of such software.

  5. 'Process of elimination'

    It may be possible to determine which board in your system is faulty by a 'process of elimination'. Example: if the fault appears to be on the motherboard, baseboard or Core Module:

    1. Remove any Logic Module(s), Logic Tiles(s) and any other custom hardware from the system...
    2. Is the fault still present? If the fault appears to be on the Core Module, baseboard or motherboard:

      1. Power up the Integrator Core Module or Versatile baseboard 'standalone'.
      2. Can you auto-configure your JTAG interface and connect a debugger to it?
      3. If yes, can you run some simple code using the debugger? (Suitable code is the Dhrystone benchmark example from your ARM development tools examples directory.) If you cannot run code successfully, your Core Module or Versatile baseboard may not be working correctly.
    3. If the fault appears to be on the Logic Module (LM) or Logic Tile (LT), depending on the severity of the fault, it may be possible to test the LM/LT as a standalone unit, or on a motherboard. It is useful to test basic functionality of the LM/LT:

      1. To perform a basic test which does not rely on any AMBA connectivity, you can reprogram the LM with the its 'Example1' FPGA image. The LT has an equivalent example FPGA image that can be found in application note 128.  These examples simply flash LEDs driven by an on-board clock oscillator. You cannot connect a debugger to these examples - they are purely for basic board functionality testing.
      2. To perform a further test that uses the AMBA buses and provides some testing of the header connectors, you can reprogram the LM with its 'Example2' FPGA image. The LT has an approximately equivalent example FPGA image that can be found in Application note 119. These designs contain a simple AMBA system with example software which can be accessed with a debugger (AXD or RVD).

  6. Attempt reprogramming of FPGA configuration flash

    A simple procedure to attempt to get your board(s) working again is to re-program the FPGA configuration flash on the suspected faulty board(s). This operation is performed with the progcards utility. A zip file containing progcards and the latest builds of FPGA configurations for all Integrator and Versatile boards can be downloaded from within the Downloads pages of the ARM website. Instructions are included in the zip file. Historical versions of the FPGA configurations are also included, so you can revert to your original configuration if necessary.

    It is possible to re-program a Core Module or Logic Module as a standalone unit. You can also re-program a standalone Logic Tile on top of an Integrator/IM-LT1. Doing this is useful to identify problems with the JTAG circuits on a particular board.

Additional information is provided in the Integrator and Versatile FAQs:

Article last edited on: 2009-06-03 09:39:43

Rate this article

Disagree? Move your mouse over the bar and click

Did you find this article helpful? Yes No

How can we improve this article?

Link to this article
Copyright © 2011 ARM Limited. All rights reserved. External (Open), Non-Confidential