Встала проблема.
ISP работает так.
1 осуществляется синхронизация
2 затем идет стирание секторов
3 затем идет запись блоков с контролем контрольной суммы в RAM и перезапись из RAM во FLASH
4
5 верификация путем чтения блоков по 512 байт
Вот вызывает вопрос 4 пункт. Происходит запись 16 байт, затем выполнение команды Go. Что это за данные? Без эаписи этих данных прошивка не стартует. Смею предположить, это сигнатура валидности программного кода? Причем аналогичные дополнительные действия делаются при верификации 0 и 1 блока, последующие блоки просто читаются и все.
Вот что можно увидеть монитором COM - порта.
CODE
Written data
57 20 32 36 38 34 33 35 39 36 38 20 31 36 0d W 268435968 16.
Read data
57 20 32 36 38 34 33 35 39 36 38 20 31 36 0d 30 W 268435968 16.0
0d 0a ..
Written data
30 60 44 41 2f 5c 60 24 21 60 36 21 50 31 50 60 0`DA/\`$!`6!P1P`
60 30 2c 60 2f 30 24 56 5c 0d `0,`/0$V\.
Read data
30 60 44 41 2f 5c 60 24 21 60 36 21 50 31 50 60 0`DA/\`$!`6!P1P`
60 30 2c 60 2f 30 24 56 5c 0d `0,`/0$V\.
Written data
31 30 31 30 0d 1010.
Read data
31 30 31 30 0d 4f 4b 0d 0a 1010.OK..
Written data
55 20 32 33 31 33 30 0d U 23130.
Read data
55 20 32 33 31 33 30 0d 30 0d 0a U 23130.0..
Written data
47 20 32 36 38 34 33 35 39 36 38 20 54 0d G 268435968 T.
Read data
47 20 32 36 38 34 33 35 39 36 38 20 54 0d G 268435968 T.
Written data
52 20 30 20 35 31 32 0d R 0 512.
Read data
52 20 30 20 35 31 32 0d 30 0d 0a 4d 36 23 34 60 R 0 512.0..M6#4`
24 2e 24 60 60 60 23 45 60 60 60 60 59 50 60 60 $.$```#E````YP``
60 2e 44 60 60 60 23 4b 60 60 60 60 5b 30 60 60 `.D```#K````[0``
60 23 4b 25 5f 5e 5c 60 60 60 60 60 60 60 60 60 `#K%_^\`````````
60 60 60 60 60 60 23 4f 0d 0a 4d 60 60 60 60 5c ``````#O..M````\
30 60 60 60 60 60 60 60 60 23 53 60 60 60 60 43 0````````#S````C
ТУТ КУСОК БЛОКА ДО КОНЦА ОТРЕЗАН, ЧТО БЫ МЕСТА НЕ ЗАНИМАТЬ
Written data
4f 4b 0d OK.
Read data
4f 4b 0d OK.
Дальше следующий блок
Written data
57 20 32 36 38 34 33 35 39 36 38 20 31 36 0d W 268435968 16.
Read data
57 20 32 36 38 34 33 35 39 36 38 20 31 36 0d 30 W 268435968 16.0
0d 0a ..
Written data
30 60 44 41 2f 5c 60 60 21 60 36 21 50 31 50 60 0`DA/\``!`6!P1P`
60 30 2c 60 2f 30 25 33 58 0d `0,`/0%3X.
Read data
30 60 44 41 2f 5c 60 60 21 60 36 21 50 31 50 60 0`DA/\``!`6!P1P`
60 30 2c 60 2f 30 25 33 58 0d `0,`/0%3X.
Written data
31 30 30 39 0d 1009.
Read data
31 30 30 39 0d 4f 4b 0d 0a 1009.OK..
Written data
55 20 32 33 31 33 30 0d U 23130.
Read data
55 20 32 33 31 33 30 0d 30 0d 0a U 23130.0..
Written data
47 20 32 36 38 34 33 35 39 36 38 20 54 0d G 268435968 T.
Read data
47 20 32 36 38 34 33 35 39 36 38 20 54 0d G 268435968 T.
Written data
52 20 35 31 32 20 35 31 32 0d R 512 512.
Read data
52 20 35 31 32 20 35 31 32 0d 30 0d 0a 4d 60 3e R 512 512.0..M`>
60 21 5c 28 21 21 22 3b 24 21 28 21 22 5d 60 22 `!\(!!";$!(!"]`"
23 5c 59 50 25 26 32 26 41 50 31 50 29 26 22 54 #\YP%&2&AP1P)&"T
39 31 3a 21 2e 51 60 3f 60 60 30 30 27 40 60 3f 91:!.Q`?``00'@`?
22 60 30 30 46 51 60 32 21 50 0d 0a 4d 31 50 60 "`00FQ`2!P..M1P`
40 5f 2e 3c 60 60 21 21 60 60 54 60 60 4f 5f 5b @_.<``!!``T``O_[
47 24 2b 34 24 31 40 24 41 22 60 30 60 5c 2f 37 G$+4$1@$A"`0`\/7
59 33 5f 23 5f 2c 22 21 40 60 22 21 40 38 60 50 Y3_#_,"!@`"!@8`P
40 28 27 28 60 28 2e 21 40 0d 0a 4d 24 2b 54 30 @('(`(.!@..M$+T0
Снова блок обрезан для экономии места
Written data
4f 4b 0d OK.
Read data
4f 4b 0d
57 20 32 36 38 34 33 35 39 36 38 20 31 36 0d W 268435968 16.
Read data
57 20 32 36 38 34 33 35 39 36 38 20 31 36 0d 30 W 268435968 16.0
0d 0a ..
Written data
30 60 44 41 2f 5c 60 24 21 60 36 21 50 31 50 60 0`DA/\`$!`6!P1P`
60 30 2c 60 2f 30 24 56 5c 0d `0,`/0$V\.
Read data
30 60 44 41 2f 5c 60 24 21 60 36 21 50 31 50 60 0`DA/\`$!`6!P1P`
60 30 2c 60 2f 30 24 56 5c 0d `0,`/0$V\.
Written data
31 30 31 30 0d 1010.
Read data
31 30 31 30 0d 4f 4b 0d 0a 1010.OK..
Written data
55 20 32 33 31 33 30 0d U 23130.
Read data
55 20 32 33 31 33 30 0d 30 0d 0a U 23130.0..
Written data
47 20 32 36 38 34 33 35 39 36 38 20 54 0d G 268435968 T.
Read data
47 20 32 36 38 34 33 35 39 36 38 20 54 0d G 268435968 T.
Written data
52 20 30 20 35 31 32 0d R 0 512.
Read data
52 20 30 20 35 31 32 0d 30 0d 0a 4d 36 23 34 60 R 0 512.0..M6#4`
24 2e 24 60 60 60 23 45 60 60 60 60 59 50 60 60 $.$```#E````YP``
60 2e 44 60 60 60 23 4b 60 60 60 60 5b 30 60 60 `.D```#K````[0``
60 23 4b 25 5f 5e 5c 60 60 60 60 60 60 60 60 60 `#K%_^\`````````
60 60 60 60 60 60 23 4f 0d 0a 4d 60 60 60 60 5c ``````#O..M````\
30 60 60 60 60 60 60 60 60 23 53 60 60 60 60 43 0````````#S````C
ТУТ КУСОК БЛОКА ДО КОНЦА ОТРЕЗАН, ЧТО БЫ МЕСТА НЕ ЗАНИМАТЬ
Written data
4f 4b 0d OK.
Read data
4f 4b 0d OK.
Дальше следующий блок
Written data
57 20 32 36 38 34 33 35 39 36 38 20 31 36 0d W 268435968 16.
Read data
57 20 32 36 38 34 33 35 39 36 38 20 31 36 0d 30 W 268435968 16.0
0d 0a ..
Written data
30 60 44 41 2f 5c 60 60 21 60 36 21 50 31 50 60 0`DA/\``!`6!P1P`
60 30 2c 60 2f 30 25 33 58 0d `0,`/0%3X.
Read data
30 60 44 41 2f 5c 60 60 21 60 36 21 50 31 50 60 0`DA/\``!`6!P1P`
60 30 2c 60 2f 30 25 33 58 0d `0,`/0%3X.
Written data
31 30 30 39 0d 1009.
Read data
31 30 30 39 0d 4f 4b 0d 0a 1009.OK..
Written data
55 20 32 33 31 33 30 0d U 23130.
Read data
55 20 32 33 31 33 30 0d 30 0d 0a U 23130.0..
Written data
47 20 32 36 38 34 33 35 39 36 38 20 54 0d G 268435968 T.
Read data
47 20 32 36 38 34 33 35 39 36 38 20 54 0d G 268435968 T.
Written data
52 20 35 31 32 20 35 31 32 0d R 512 512.
Read data
52 20 35 31 32 20 35 31 32 0d 30 0d 0a 4d 60 3e R 512 512.0..M`>
60 21 5c 28 21 21 22 3b 24 21 28 21 22 5d 60 22 `!\(!!";$!(!"]`"
23 5c 59 50 25 26 32 26 41 50 31 50 29 26 22 54 #\YP%&2&AP1P)&"T
39 31 3a 21 2e 51 60 3f 60 60 30 30 27 40 60 3f 91:!.Q`?``00'@`?
22 60 30 30 46 51 60 32 21 50 0d 0a 4d 31 50 60 "`00FQ`2!P..M1P`
40 5f 2e 3c 60 60 21 21 60 60 54 60 60 4f 5f 5b @_.<``!!``T``O_[
47 24 2b 34 24 31 40 24 41 22 60 30 60 5c 2f 37 G$+4$1@$A"`0`\/7
59 33 5f 23 5f 2c 22 21 40 60 22 21 40 38 60 50 Y3_#_,"!@`"!@8`P
40 28 27 28 60 28 2e 21 40 0d 0a 4d 24 2b 54 30 @('(`(.!@..M$+T0
Снова блок обрезан для экономии места
Written data
4f 4b 0d OK.
Read data
4f 4b 0d
Дальше чтение идет без доп. команд
Код
Written data
52 20 31 30 32 34 20 35 31 32 0d R 1024 512.
Read data
52 20 31 30 32 34 20 35 31 32 0d 30 0d 0a 4d 36 R 1024 512.0..M6
24 44 60 5e 50 27 50 32 24 47 31 5e 28 40 30 50 $D`^P'P2$G1^(@0P
3f 2c 27 30 30 27 51 60 30 26 50 5e 5f 27 51 30 ?,'00'Q`0&P^_'Q0
52 20 31 30 32 34 20 35 31 32 0d R 1024 512.
Read data
52 20 31 30 32 34 20 35 31 32 0d 30 0d 0a 4d 36 R 1024 512.0..M6
24 44 60 5e 50 27 50 32 24 47 31 5e 28 40 30 50 $D`^P'P2$G1^(@0P
3f 2c 27 30 30 27 51 60 30 26 50 5e 5f 27 51 30 ?,'00'Q`0&P^_'Q0
Может кто-то подсказать, как это поворить?
Инет глюканул в момент добавления топика и получилось две одинаковые темы. Просьба к админу или модератору - убейте ненужный дубль.