-
Notifications
You must be signed in to change notification settings - Fork 2
Firmware for functional-level tests of BitSafe development boards
License
someone42/bitsafe-tester
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Firmware for functional-level testing of completed BitSafe (a hardware Bitcoin wallet) development boards. Expected outcomes: USB connection: the DUT should power up and enumerate as a USB HID device when plugged into a USB host. RGB LEDs: should flash in a RGB sequence when the DUT is powered up. Each LED should be on for about 0.25 s. The sequence will speed up whenever there is USB activity. Pushbuttons: the pushbuttons can be used to cycle through the tests. The button on the right will advance to the next test, while the button on the left will go back to the previous test. If the DUT does not respond to pushbutton presses, then it is likely that there is an issue with one of the pushbuttons. SSD1306-based OLED display: should display something. Since the hardware interface is write-only, the only indication of failure is nothing appearing on the display. External memory (SST25VF080B): the JEDEC ID of the chip will be queried. For the SST25VF080B, this should be bf258e (according to the datasheet). The firmware will also perform an erase-program-read cycle on the first 4K sector of the external memory, and should report "pass" if everything went as expected. Erase and program failures are indicated by "erase failed" and "verify failed" respectively. Atmel CryptoAuthentication (ATSHA204): should wake up (indicated by "Wake test: pass") and display the first 12 bytes of the output of a sample of the internal hardware random number generator. Note that if the ATSHA204 is in an unlocked state, then as per its datasheet, the random number generator will return ffff0000ffff0000ffff0000. If "Wake test: fail" or "Random: error" appears, there is probably some sort of communication error (likely related to timing). Hardware noise source: should display the mean and RMS amplitude of the noise source. The mean should be near 1650 mV. The RMS amplitude depends on the noise source used. For thermal noise, this should be near 135 mV. If the RMS amplitude is huge (> 1000 mV) or tiny (< 10 mV), then something is definitely wrong with the noise source.
About
Firmware for functional-level tests of BitSafe development boards
Resources
License
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published