[previous] [next] [contents]    JTAGer: A Windows BS test controller application

JTAGer is a Windows 2K/ME/XP application that interfaces two BST chains from a PC parallel port. This application was developed by a (former) student called Tiago José Espinha de Mendonça Gasiba, as part of the 2001 / 02 edition of a design for test course delivered at FEUP. The JTAGer entry on the menu (left) provides instructions for downloading and installing this application. 

JTAGer's main window looks as illustrated in figure 1 below. When first launched, the program should produce a blank file and a "Driver successfully started" status message. The small squares on the left of each code line enable the user to suspend test program execution by inserting breakpoints, as shown below for code line 5.

Fig. 1: JTAGer start up window.

JTAGer provides the following alternatives to support hands-on sessions with 1149.1 boards (containing one or two BS chains):

  • Test program execution from the main JTAGer window: The sequence of test actions may be coded into a test program file, using a low-level assembly-like language compatible with the BS test controller model that was presented in the previous chapter. JTAGer provides four execution modes for this test program, as follows: 
    • Event-by-Event decomposes each instruction into the corresponding elementary test action and executes them one by one.
    • Step-by-Step executes one instruction at a time.
    • Execute runs the whole test program, stopping when a breakpoint is found, a "halt" instruction is found, or a Run: Pause command is issued. Test program execution in this mode takes place under control of a timer that launches a new event every millisecond (each instruction corresponds to a specific number of events, meaning that test program execution rate will never exceed a few hundred instructions per second in this mode) 
    • Speed Run provides the fastest execution method, since a new instruction is launched as soon as possible (depending only on CPU performance). However, and since JTAGer does not respond to menu or control bar commands in this mode, the program will lock if a cycle is found.
  • Interactive interface with the two TAPs through an utility called Bitstream shifter: Specific bit streams may be shifted in directly while the corresponding output bit streams are displayed. This mode supports direct interaction with the BS chains, and does not require a previous specification of the sequence of test actions (in the form of a test program) that will be carried out.
  • Direct access to the TAP pins through an utility called Parallel Port: Low-level test actions, such as setting TMS to 1, applying a single pulse in TCK, etc., may also be carried out, if required for debugging or demonstration purposes.

Each of these operating modes will be described ahead in further detail, following the presentation of the set up information for this application.