2020-06-28 18:28:35 +00:00
|
|
|
---
|
|
|
|
title: Troubleshooting
|
|
|
|
has_children: false
|
|
|
|
nav_order: 3
|
|
|
|
---
|
|
|
|
|
|
|
|
## Hardware Verifier Tool
|
2020-06-29 18:44:14 +00:00
|
|
|
A [Hardware verification Arduino sketch](https://github.com/TomNisbet/TommyPROM/tree/master/HardwareVerify)
|
|
|
|
is provided to assist with troubleshooting. Loading this sketch onto the TommyPROM
|
|
|
|
hardware allows access to individual control lines from the Arduino to verify that the
|
2020-06-29 15:48:57 +00:00
|
|
|
hardware was assembled correctly.
|
2020-06-28 18:28:35 +00:00
|
|
|
|
2020-06-29 18:44:14 +00:00
|
|
|
The verifier sketch can be used without a chip installed to scope out address and data
|
|
|
|
lines. It also offers low-level control when the chip is installed.
|
2020-06-28 18:28:35 +00:00
|
|
|
|
2020-06-29 15:48:57 +00:00
|
|
|
THIS TOOL USES DIRECT PORT ACCESS ON THE ARDUINO. CHECK TO MAKE SURE IT IS COMPATIBLE
|
|
|
|
WITH YOUR BOARD BEFORE USING. It will work correctly on the Unu, Nano, and Boarduino. It
|
|
|
|
WILL NOT WORK on the Micro.
|
2020-06-28 18:28:35 +00:00
|
|
|
|
2020-06-29 15:48:57 +00:00
|
|
|
Note that the commands write to the individual 28C control lines with some exceptions to
|
2020-06-29 18:44:14 +00:00
|
|
|
protect the chip and the host Arduino:
|
2020-06-28 18:28:35 +00:00
|
|
|
|
2020-06-29 18:44:14 +00:00
|
|
|
* When the O command is used to enable chip output, the Arduino data bus is set to INPUT
|
|
|
|
* When the D command is used to write data from the Arduino, the chip output is disabled
|
2020-06-28 18:28:35 +00:00
|
|
|
* The R command sets the output enable (OE) on the chip, but not the chip enable (CE)
|
2020-06-29 18:44:14 +00:00
|
|
|
* The L and U commands reset CE, OE, and WE back to disabled on completion and change the
|
|
|
|
data and address
|
2020-06-28 18:28:35 +00:00
|
|
|
|
2020-06-29 15:48:57 +00:00
|
|
|
The session below shows how a write fails to a locked chip and then succeeds once the chip
|
|
|
|
is unlocked.
|
2020-06-28 18:28:35 +00:00
|
|
|
|
|
|
|
```
|
|
|
|
Hardware Verifier - 28C series EEPROM
|
|
|
|
|
|
|
|
Valid commands are:
|
|
|
|
Axxxx - Set address bus to xxxx
|
|
|
|
Dxx - Set Data bus to xx
|
|
|
|
Cs - Set Chip enable to state (e=enable, d=disable)
|
|
|
|
Os - Set Output enable to state (e=enable, d=disable)
|
|
|
|
Ws - Set Write enable to state (e=enable, d=disable)
|
|
|
|
R - Read and print the value on the data bus
|
|
|
|
L - Send Lock sequence to enable device Software Data Protection
|
|
|
|
U - Send Unlock sequence to disable device Software Data Protection
|
|
|
|
|
|
|
|
#l
|
|
|
|
Writing the lock code to enable Software Write Protect mode.
|
|
|
|
|
|
|
|
#a0000
|
|
|
|
|
|
|
|
#ce
|
|
|
|
|
|
|
|
#r
|
|
|
|
22
|
|
|
|
|
|
|
|
#d55
|
|
|
|
|
|
|
|
#we
|
|
|
|
|
|
|
|
#wd
|
|
|
|
|
|
|
|
#r
|
|
|
|
22
|
|
|
|
|
|
|
|
#u
|
|
|
|
Writing the unlock code to disable Software Write Protect mode.
|
|
|
|
|
|
|
|
#d33
|
|
|
|
|
|
|
|
#we
|
|
|
|
|
|
|
|
#wd
|
|
|
|
|
|
|
|
#r
|
|
|
|
33
|
|
|
|
|
|
|
|
#cd
|
|
|
|
|
|
|
|
```
|