|
|
  |
Проблема AES бутлодыря от Atmel, не проходит проверка crc с новой прошивкой |
|
|
|
May 19 2008, 08:34
|

Местный
  
Группа: Участник*
Сообщений: 323
Регистрация: 11-02-08
Пользователь №: 34 947

|
Цитата(Flasher @ May 19 2008, 12:20)  нашел отличие в 14 байт длинной начиная с 0x1700. Что за х-ня с бутлодером? Я жъ тебе и говорю: кончай ерундой заниматься мучаясь с чужими глюками. Напиши свою бутлодырь. Быстрей получиться. А так ты тут ещё неделями вопить: помогите
--------------------
После устранения бага в программе она стала работать....хуже
|
|
|
|
|
May 19 2008, 08:42
|

Гуру
     
Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095

|
Цитата(Flasher @ May 19 2008, 09:24)  В результате обновление кода происходит загрузчиком нормально, но встроенная проверка крк выдает постоянно ошибку и перегружает его Для начала разберитесь, кто виноват - загрузка или подсчет crc. Считайте программатором кристалл после прошивки закгрузчиком, прошейте ту же программу программатором, тоже считайте, сравните. Цитата(Дон Амброзио @ May 19 2008, 11:34)  Я жъ тебе и говорю: кончай ерундой заниматься мучаясь с чужими глюками. Доктор, ну и сколько ты еще будешь ерундой заниматься, сколько ТЫ будешь мучаться с чужими глюками? Ты супернадежный компилятор обещал еще 3 года назад. Где он?
--------------------
На любой вопрос даю любой ответ"Write code that is guaranteed to work, not code that doesn’t seem to break" ( C++ FAQ)
|
|
|
|
|
May 19 2008, 08:54
|
Местный
  
Группа: Свой
Сообщений: 374
Регистрация: 6-09-05
Из: Тирасполь, Приднестровье
Пользователь №: 8 294

|
Цитата(Сергей Борщ @ May 19 2008, 11:42)  Для начала разберитесь, кто виноват - загрузка или подсчет crc. Считайте программатором кристалл после прошивки закгрузчиком, прошейте ту же программу программатором, тоже считайте, сравните. Доктор, ну и сколько ты еще будешь ерундой заниматься, сколько ТЫ будешь мучаться с чужими глюками? Ты супернадежный компилятор обещал еще 3 года назад. Где он? Уже написал выше, что нашел в программе отличие от записанной программатором в 14 байт. Шью программатором- все работает. В конце области апликайшн находятся 2 байта крк. именно с ними и не совпадает посчитанная крк. Т.е. бутлодырь шьет поврежденный файл. В одном и том же месте. за этими 14 идут еще байты- но там все ок.
|
|
|
|
|
May 19 2008, 09:11
|

Гуру
     
Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095

|
Цитата(Flasher @ May 19 2008, 11:54)  В конце области апликайшн находятся 2 байта крк. именно с ними и не совпадает посчитанная крк. Т.е. бутлодырь шьет поврежденный файл. В одном и том же месте. за этими 14 идут еще байты- но там все ок. 14 байт - меньше размера страницы. Может копать в эту сторону? В ReadAndProcessFrame() в switch() после первого case нет break. Его там и не должно быть. Вы случайно его туда не дописали? Поскольку дальше все прописывается тоже правильно - декодирование работает, ChainedBlock принимает нужные значения, и надо смотреть именно обработку раскодированных пакетов.
--------------------
На любой вопрос даю любой ответ"Write code that is guaranteed to work, not code that doesn’t seem to break" ( C++ FAQ)
|
|
|
|
|
May 19 2008, 09:23
|
Местный
  
Группа: Свой
Сообщений: 374
Регистрация: 6-09-05
Из: Тирасполь, Приднестровье
Пользователь №: 8 294

|
Цитата(Сергей Борщ @ May 19 2008, 12:11)  14 байт - меньше размера страницы. Может копать в эту сторону? В ReadAndProcessFrame() в switch() после первого case нет break. Его там и не должно быть. Вы случайно его туда не дописали? Поскольку дальше все прописывается тоже правильно - декодирование работает, ChainedBlock принимает нужные значения, и надо смотреть именно обработку раскодированных пакетов. Я ничего не менял кроме скорости USART, и условия входа в загрузчик. Долгое время писал программу и все было нормально. Но теперь размер кода стал немного больше- и вот.... Предыдущие 5 килобайт были записаны же нормально
|
|
|
|
|
May 22 2008, 04:10
|
Участник

Группа: Участник
Сообщений: 16
Регистрация: 1-10-07
Пользователь №: 30 960

|
У меня такое тоже было на 128 меге. При размере кода примерно в районе 0x2219 была ошибка контрольной суммы. Когда размер кода увеличился, всё стало нормально. А потом пошла партия процов в которой бутлодырь на частоте 14 Мгц не работал, пришлось переходить на 7
|
|
|
|
|
May 24 2008, 11:48
|
Местный
  
Группа: Свой
Сообщений: 374
Регистрация: 6-09-05
Из: Тирасполь, Приднестровье
Пользователь №: 8 294

|
Цитата(defunct @ May 24 2008, 02:08)  Мистика.  Партия процов небось с буквой L, которые выше 8-ми mhz не работают? работоспособность бутлоадера от кварца никак не зависит. Времянок частотнозависимых у SPM нет. Запись selftimed. см даташит. Вполне может зависить- я пока еще не коврял процедуры записи, но они могли и в них накосячить.
|
|
|
|
|
May 24 2008, 17:38
|

кекс
     
Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326

|
Цитата(Flasher @ May 24 2008, 14:48)  Вполне может зависить- я пока еще не коврял процедуры записи, но они могли и в них накосячить. Не может зависеть, а если кажется - креститься надо. Операции page erase/page write асинхронные, длятся ровно столько времени сколько требуется. Цитаты из даташита: Цитата During page erase and page write, the SPMEN bit remains high until the operation is completed.
• The CPU is halted during the Page Erase operation. • The CPU is halted during the Page Write operation. btw, я не понимаю как можно вот так вот просто взять и зарезать чип в два раза по производительности, из-за того что на какой-то партии что-то не заработало. При этом даже не попытаться разобраться в чем же собственно обстоит дело. Как можно жить с бутлоадером в котором есть ошибка, и даже не попытаться ее исправить?! LMD.
|
|
|
|
|
May 29 2008, 06:06
|
Участник

Группа: Участник
Сообщений: 16
Регистрация: 1-10-07
Пользователь №: 30 960

|
Цитата(defunct @ May 24 2008, 20:38)  btw, я не понимаю как можно вот так вот просто взять и зарезать чип в два раза по производительности, из-за того что на какой-то партии что-то не заработало. [b] Если резерв по производительности есть почему же не зарезать, жрать меньше будет заодно. Был у меня такой вопрос
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|