Hardware Visually check all solder joints and also if there is any solder bridge. We fully tested every board before shipping it out, but still cannot guarantee that we wouldn't make a mistake. Q. When I turn on the FOX11 board, how come the PB0 or PB7 LED does not flash? A. After the initial power up, the PB0 LED should blink 4 times in Wytec monitor mode, the PB7 should blink twice in BUFFALO monitor mode, otherwise check the VCC. It should have a reading of about 5V DC. If the 5V DC is not present, check if the polarity of DC output of the AC adapter is correct if you provide your own AC adapter. The center is positive on the DC plug. The board is running in expanded mode. You must remove the MODEA and MODEB jumpers for expanded mode if they were installed for programming the 711E9 OTP chip in bootstrap mode. All other jumpers must be set correctly ( see the important notes at the end of getting started manual ). If the problem still exists, try starting it up in test mode under Wytec monitor mode by pressing and holding the PA0 switch down while resetting the board. If the PB0 LED does not flash, then the 68HC11 chip is bad and you have to replace it. If the PB0 LED flashes, the chip is good and most likely the COP function or the internal EPROM is enabled. It will work after re-programming the CONFIG register in test mode to disable the COP function or the internal EPROM. The value of the CONFIG register should be $0D. Finally check the EPROM U5 DIP socket for any loose contact. Q. The PB0 LED flashes during power up or whenever the reset switch is depressed but why does the FOX11 board not communicate with the host PC? A. If the PB0 LED blinks and there is no response from the FOX11 board, check the RS-232C cable connection and if the COM port number is configured correctly. Also make sure that you only open the debug window once. If the first debugger is running, you cannot invoke second debugger before closing the first one. Q. My program works with another SBC but why does it not work when I use the FOX11? A. The values of the INIT register (shown on the top of the screen) and the TMSK2, OPTION, and BPROT registers must be set correctly by the Init command before running your program. Because these registers can only be modified in normal modes within the first 64 E cycles, any modification to these registers in the beginning of your program will not change their values when your target program is executed by GO command, because the 64 E cycles period was already passed. The Init command allows you to modify these registers to the correct values before running your target program, because the I command will automatically reset the 68HC11E1, so the modification can be done. If you don't relocate the control register, the value of the INIT register should be 01. Always watch this value on the top of the screen. If this value is corrupted by running a bad program, you have to re-program it to 01 by the Init command, or power cycle the board. During the power up, its value is always = 01. Q. My program works with the FOX11 board but it does not work in another SBC, why? A. The stack point in your program may not be set in the beginning of your program. The FOX11 sets the stack point during power up, you should do the same thing in your program. If your resident 68HC11 microcontroller on the FOX11 board is a 68HC11E1, but the 68HC11 on your target is a 68HC11A1, you should be careful to use the PA3 of the PORTA, it is an output line in the A1 controller but a bi-directional line in the E1 controller. You have to program the bit 3 of the PACTL register to '1' if you want the PA3 to be an output line. It defaults as an input line during power up. Q. After executing the program by GO command why can't the ESC key stop the FOX11 board? A. In most cases the ESC key can stop the user program. If this is not the case, there could be many reasons for this problem. Since you cannot use the ESC key to stop the 68HC11, the only thing you can do is to reset the FOX11 board by depressing and releasing the reset button. The reset button of the FOX11 board should be pressed whenever the FOX11 board does not seem to work properly, such as a system crash after running a bad program. Sometimes you may have to reset the board a few times to regain control. Once it is pressed, it will reset the program counter to the reset vector fetched from locations $FFFE and $FFFF, the stack pointer to $00FF, and update the INIT register. Check if the jumper on the DBUG/PRG header is on the DBUG position. If the jumper is set at the PRG position, then you cannot stop program and also the single step function will not work. Carefully check the user program to determine if there is any attempt to write data into the memory locations at $2400-$27FF and $8000,$83FF. These locations are used by the Wytec monitor firmware. Any memory write to these locations must be avoided in the user program. Q. I want to modify the CONFIG register, how do I enter the test mode? A. The CONFIG register can only be modified in test mode. In order to enter test mode, press and hold the PA0 switch, then press and release the RESET button and it will enter test mode. By checking the status line on the top of the screen you can tell if you are in the test mode. The FOX11 board cannot emulate the user program in test mode and the test mode is only used for modifying some registers (such as the CONFIG register) that cannot be modified in expanded mode. The status line on the top of the screen indicates the operating mode. The 'EXP' stands for expanded mode and the 'TST' stands for test mode. The status line also displays the value of the INIT register, which indicates the locations of the on-chip direct RAM and the 64 control registers. In test mode, you can press the F8 key and follow the instructions to modify the CONFIG register. Q. Can I modify the CONFIG register in my program after a system reset? A. The CONFIG register can only be modified in test mode. This is a safety feature of the 68HC11. Your program cannot modify it unless your target hardware is set for test mode. Miscellaneous questions Q. What is the parameter file, and how do I create this file? A. The parameter file includes the EEPROM programming enable/disable flag, the INIT, TMSK2, OPTION and BPROT registers, the breakpoint addresses, the memory display addresses. The debugger will automatically save the parameters when it exits. They will be automatically loaded when the debugger is invoked so the program will be executed in a consistent manner. You do not have to make this file by yourself. The debugger will do it for you. You can also use W command to save all parameters into a parameter file with a different name in case you need to manually load different parameters. Q. Why does the disassembler display wrong symbols for some instructions, especially the instructions with 8 bit values? A. Many cross assemblers do not have attribute bytes for their symbols. When too many symbols have the same value, the disassembler cannot display the correct symbol for that value. The disassembler will display first two labels it found. Occasionally, when too many symbols have the same value, the disassembler may display a wrong symbol for the value.