BX-24 Troubleshooting -Notes on Download Errors

Download errors can plague a project a frustrate any developer. There are several factors that could be causing your chip to download ranging from a simple lack of power to the chip to an unfortunate dead chip. Before tossing out your chip take the time to undergo some 'controlled' troubleshooting to try to isolate the problem

Controlled Troubleshooting
A controlled test environment is one in which a series of 'unknowns' are measured against a series of 'knowns'. This is to say that in the case of troubleshooting the BX-24, it's best to have a second, working chip on a simple power and ground only breadboard, and a cable that you know to work. Most download problems are the result of an improper or broken (loose connections) circuit, but the breadboard, cable, CPU, or the chip itself could be at fault, so it helps tremendously to have a control circuit (the one you know to work) during your troubleshooting. From here, it's a matter of testing one variable at a time to isolate the problem.

It Just Worked a Second Ago!
If, while programming, your chip stops accepting downloads, and you've made no changes to your board, disconnect the power and DB-9 cable from the board. Check your circuit to make sure no wires have come loose, then re-power and connect your board for another try. If it doesn't work, try to download to your control chip. If your control chip accepts the download, then place your questionable chip on the control board and attempt a download. If the questionable chip doesn't work on the control board, your problem is likely in the chip itself. See the Reset and Rescue notes below.

Can't Get Started
If you're just starting a development session, then there are a few more variables to consider. First, make sure your chip is receiving 5 volts to the correct pins and is properly grounded. Make sure your download cable is connected to the CPU and to your board, and that the correct COM port is selected for both the Download and Monitor Port options. You may also want to double check the baud rate and corresponding settings. If you can, use a control circuit and chip to help isolate the problem as above. If even your control board fails, disconnect power and cable, then restart the computer and begin again. You may want to borrow another cable to isolate it as the cause. Below are more general troubleshooting actions to consider.

Power
Always disconnect power before making any changes to your circuit!
With a steady hand, use a multimeter to insure that 5v is getting to your chip. It's best to use a power supply and regulator, when troubleshooting to ensure enough voltage. Your battery may be dead! Sudden loss of power while downloading can also damage a chip.
Sometimes simply disconnecting the power, then reconnecting it is enough to reset a locked chip.

Circuit
Always disconnect power before making any changes to your circuit! Make sure your chip has power and voltage going to the correct pins before powering up!
While your power may be correctly connected, there may be something else wrong with your circuit that prevents the BX-24 from functioning properly. Troubleshoot the chip by stripping your circuit down to a power source, a 5v regulator, and the chip. If you can, do this by placing your dead chip on your control board and not vice versa. If you place a working chip on a circuit that may be problematic, you risk damaging the control chip as well.
If your dead chip comes alive on your stripped down board, you likely had a problem with your circuit.

Cable
Gender changers are not recommended for converting the DB-9 cable. Use a cable with the correct gender on both ends and make sure your pin connectors are properly soldered to the correct pins. If you cannot download to your control board, borrow a working cable to eliminate it as the problem.

Com Ports
Some CPU's don't have their COM ports identified, so you'll may have to do some work to make sure you've identified them correctly. It will help to use your control circuit for this purpose. In the BX environment, closing both ports, then reopening them often helps. You may even want to choose a different port. Make sure that another program like Hyperterm isn't currently using the port.

Breadboard
Breadboards can short out. Eliminate the breadboard as the problem by using a new or control board with your questionable chip. If you think your board is indeed the problem, toss it out. It's not work risking your chip.

Reset Button
Momentarily pushing the reset button (pin22) causes the BX-24 to halt and restart its stored program from the beginning.

Rescue Function
Not as promising as it would sound, but the rescue function will sometimes save the day. Select "rescue" from the "Download port" menu, then ground the reset pin (pin22). Wait at least 10 seconds then try downloading again.

Bubble Wrap!
Rumors have it that wrapping your dead BX-24 in bubblewrap and leaving it overnight can resurrect a dead chip. While I don't know the logic to this mystical event, I do know that removing the chip from the breadboard, and letting it sit untouched for at least 15 minutes has actually worked! Use this method as a last resort.

See Also:
Tom Igoe's BX-24 Troubleshooting notes
Josh Nimoy's advice