Symptom | Possible Cause | Troubleshooting Action |
No Response From Board |
No Power | Check 5 volt power |
PC Serial Port Problem |
Serial Port Loopback Test |
Software Config (eg, wrong serial port) |
Defective Serial Cable |
Wrong Cable Type | Do not use "null modem" cable |
CPU Not Running | Check Reset & Crystal |
Not Receiving Serial Data | Check Receiver Circuitry |
Not Transmitting Serial Data | Check Transmitter Circuitry |
Unresponsive Code in Flash ROM | Erase Flash ROM using FLASH ERASE Jumper
(Understanding Startup Sequence) |
Damaged Chips | Remove: RAM, Flash, HC373, HC20, 82C55
Replace: 87C52, MAX232, HC00, HC02, HC08 |
Corrupted / Garbage Communication |
Wrong Baud Rate | Erase Flash, Power Off 15 Seconds, Reboot to Auto-Detect Baud Rate (more info) |
Power Problem | Check Input Voltage is not AC |
PC to Board Ground Problem | Check Serial Cable Ground (more info) |
Only 115200 Works | Check CR/LF Software Setting (more info) |
Errors Detected During Download |
Target Area In Flash Not Erased | Erase Flash Before Downloading Code Compiled for Flash Memory (0x8000 to 0xF7FF) |
LCD Interfering With Data Bus | Remove LCD, Check Pins Are Aligned Correctly |
Bus or Memory Damaged | Test Memory With Editor |
Reboot or Crash When Running LED Blink Example |
Not Enough Power | Check 5 volt power This is usually due to AC voltage input, where the board can just barely run until the LEDs consume more power. Input must be 8 to 15 volts DC. |
Interrupts Not Working | Interrupt Code not at 0x20XX |
Compile code for RAM, location 0x2000. |
Write LJMPs into RAM before enabling interrupts. See pm2_interrupt_remap() in paulmon2.c, LED Blink Example. |
Compile code for Flash, 0x8000, allow Auto-Start Code to write LJMPs into RAM before running your program |