@@ -29,6 +29,11 @@ extern print_func_t print_mx3;
29
29
extern print_func_t print_mz ;
30
30
extern print_func_t print_xlp ;
31
31
32
+ extern word_mask_func_t word_mask_mx1 ;
33
+ extern word_mask_func_t word_mask_mx3 ;
34
+ extern word_mask_func_t word_mask_xlp ;
35
+ extern word_mask_func_t word_mask_mz ;
36
+
32
37
extern unsigned long open_retries ;
33
38
34
39
/*
@@ -37,16 +42,16 @@ extern unsigned long open_retries;
37
42
/*-Boot-Devcfg--Row---Print------Code--------Nwords-Version-*/
38
43
static const
39
44
family_t family_mx1 = { "mx1" ,
40
- 3 , 0x0bf0 , 128 , print_mx1 , pic32_pemx1 , 422 , 0x0301 };
45
+ 3 , 0x0bf0 , 128 , print_mx1 , word_mask_mx1 , pic32_pemx1 , 422 , 0x0301 };
41
46
static const
42
47
family_t family_xlp = { "xlp" ,
43
- 12 , 0x2ff0 , 512 , print_xlp , pic32_pemx3 , 1044 , 0x0201 };
48
+ 12 , 0x2ff0 , 512 , print_xlp , word_mask_xlp , pic32_pemx3 , 1044 , 0x0201 };
44
49
static const
45
50
family_t family_mx3 = { "mx3" ,
46
- 12 , 0x2ff0 , 512 , print_mx3 , pic32_pemx3 , 1044 , 0x0201 };
51
+ 12 , 0x2ff0 , 512 , print_mx3 , word_mask_mx3 , pic32_pemx3 , 1044 , 0x0201 };
47
52
static const
48
53
family_t family_mz = { "mz" ,
49
- 80 , 0xffc0 , 2048 , print_mz , pic32_pemz , 1052 , 0x0502 };
54
+ 80 , 0xffc0 , 2048 , print_mz , word_mask_mz , pic32_pemz , 1052 , 0x0502 };
50
55
/*
51
56
* This one is a special one for the bootloader. We have no idea what we're
52
57
* programming, so set the values to the maximum out of all the others.
@@ -773,6 +778,7 @@ void target_verify_block(target_t *t, unsigned addr,
773
778
t -> adapter -> read_data (t -> adapter , addr , nwords , block );
774
779
for (i = 0 ; i < nwords ; i ++ ) {
775
780
expected = data [i ];
781
+ expected = t -> family -> word_mask (addr + (i <<2 ), expected );
776
782
word = block [i ];
777
783
if (word != expected ) {
778
784
conprintf (_ ("\nerror at address %08X: file=%08X, mem=%08X\n" ),
0 commit comments