Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: GlasgowEmbedded/glasgow
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: 4203783bbf7c
Choose a base ref
...
head repository: GlasgowEmbedded/glasgow
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: 9c7e9f5db3c4
Choose a head ref
  • 1 commit
  • 2 files changed
  • 1 contributor

Commits on Jul 24, 2020

  1. Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
    Copy the full SHA
    9c7e9f5 View commit details
Showing with 6 additions and 3 deletions.
  1. +2 −0 README.md
  2. +4 −3 software/glasgow/applet/memory/prom/__init__.py
2 changes: 2 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -26,6 +26,8 @@ Some of the tasks Glasgow can do well are:
* determine memory parameters via SFDP,
* read and write ONFI-compatible Flash memories,
* determine memory parameters via ONFI parameter page,
* read parallel 27/28/29-series EPROMs, EEPROMs and Flash memories,
* determine the extent of floating gate charge decay and rescue data,
* program and verify AVR microcontrollers with SPI interface,
* automatically determine unknown JTAG pinout,
* play back JTAG SVF files,
7 changes: 4 additions & 3 deletions software/glasgow/applet/memory/prom/__init__.py
Original file line number Diff line number Diff line change
@@ -277,7 +277,7 @@ async def read_shuffled(self, address, count):

class MemoryPROMApplet(GlasgowApplet, name="memory-prom"):
logger = logging.getLogger(__name__)
help = "read parallel (E)EPROM memories"
help = "read and rescue parallel EPROMs, EEPROMs, and Flash memories"
description = """
Read parallel memories compatible with 27/28/29-series read-only memory, such as Microchip
27C512, Atmel AT28C64B, Atmel AT29C010A, or hundreds of other memories that typically have
@@ -286,7 +286,8 @@ class MemoryPROMApplet(GlasgowApplet, name="memory-prom"):
Floating gate based memories (27x EPROM, 28x EEPROM, 29x Flash) retain data for decades, but
not indefinitely, since the stored charge slowly decays. This applet can identify memories at
risk of data loss and estimate the level of decay. See `health --help` for details.
risk of data loss, estimate the level of decay, and suggest conditions under which the memory
may still be read reliably. See `health --help` for details.
To handle the large amount of address lines used by parallel memories, this applet supports
two kinds of addressing: direct and indirect. The full address word (specified with
@@ -381,7 +382,7 @@ def length(arg):
help="read from file using given endianness")

p_health = p_operation.add_parser(
"health", help="detect and quantify floating gate charge decay")
"health", help="manage floating gate charge decay")

p_health_mode = p_health.add_subparsers(dest="mode", metavar="MODE", required=True)