#!/bin/bash function test_init { request_DUT "atmega32dip40" || return 1 return 0 } function test_run { local args="--bitfile atmega32dip40 -I bin -O bin" # Check signature toprammer $args --read-sig "$tmpfile" compare_file_to_hex "$tmpfile" "1E9502" || die "signature mismatch" toprammer $args --erase # Check progmem toprammer $args --write-prog "$testfile_32k" toprammer $args --read-prog "$tmpfile" compare_files "$testfile_32k" "$tmpfile" || die "progmem mismatch" # Check EEPROM toprammer $args --write-eeprom "$testfile_1k" toprammer $args --read-eeprom "$tmpfile" compare_files "$testfile_1k" "$tmpfile" || die "EEPROM mismatch" # Check fuses testfuses="A4D9" echo "0x0000: $testfuses" | toprammer $args -I hex --write-fuse - toprammer $args --read-fuse "$tmpfile" compare_file_to_hex "$tmpfile" "$testfuses" || die "fuses mismatch" # Check lockbits toprammer $args --read-lock "$tmpfile" compare_file_to_hex "$tmpfile" "FF" || die "fuses mismatch" toprammer $args --write-lock "$tmpfile" }