реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> Проблема AES бутлодыря от Atmel, не проходит проверка crc с новой прошивкой
Flasher
сообщение May 19 2008, 06:24
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 374
Регистрация: 6-09-05
Из: Тирасполь, Приднестровье
Пользователь №: 8 294



Кто пользовал AES булоадер от Атымела. Мега 128. Обновляемый код стал превышать 6 100 байт. В результате обновление кода происходит загрузчиком нормально, но встроенная проверка крк выдает постоянно ошибку и перегружает его(как в принципе и задумано при ошибке). Пробовал разные прошивки, много раз и 4 платы. Везде одно и то же. Прошлые прошивки чуть меньше этой цифры идут без проблем.
Go to the top of the page
 
+Quote Post
Дон Амброзио
сообщение May 19 2008, 06:57
Сообщение #2


Местный
***

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



Напиши свой бутлодырь и не парься. Работы-то дня на 2. Я всегда только свои пишу, потому что гораздо приятней разбираться в собственных глюках, чем в чужих.


--------------------
После устранения бага в программе она стала работать....хуже
Go to the top of the page
 
+Quote Post
zltigo
сообщение May 19 2008, 07:18
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(Flasher @ May 19 2008, 08:24) *
Кто пользовал AES булоадер от Атымела.

Довольно мрачная штука - ну очень криво писанная. Обработка ошибок вооще неработоспособна. Разбирался в свое время, когда делал совместимый по спецификации порт на ARM. Думал просто портануть sad.gif. Через полчаса на все, кроме собственно AES плюнул и написал с чистого листа. AES писанный в лоб, тоже потом рихтовал.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
Flasher
сообщение May 19 2008, 08:20
Сообщение #4


Местный
***

Группа: Свой
Сообщений: 374
Регистрация: 6-09-05
Из: Тирасполь, Приднестровье
Пользователь №: 8 294



нашел отличие в 14 байт длинной начиная с 0x1700. Что за х-ня с бутлодером?
Go to the top of the page
 
+Quote Post
Дон Амброзио
сообщение May 19 2008, 08:34
Сообщение #5


Местный
***

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



Цитата(Flasher @ May 19 2008, 12:20) *
нашел отличие в 14 байт длинной начиная с 0x1700. Что за х-ня с бутлодером?

Я жъ тебе и говорю: кончай ерундой заниматься мучаясь с чужими глюками. Напиши свою бутлодырь. Быстрей получиться. А так ты тут ещё неделями вопить: помогите


--------------------
После устранения бага в программе она стала работать....хуже
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение May 19 2008, 08:42
Сообщение #6


Гуру
******

Группа: Модераторы
Сообщений: 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)
Go to the top of the page
 
+Quote Post
Flasher
сообщение May 19 2008, 08:54
Сообщение #7


Местный
***

Группа: Свой
Сообщений: 374
Регистрация: 6-09-05
Из: Тирасполь, Приднестровье
Пользователь №: 8 294



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

Уже написал выше, что нашел в программе отличие от записанной программатором в 14 байт. Шью программатором- все работает. В конце области апликайшн находятся 2 байта крк. именно с ними и не совпадает посчитанная крк. Т.е. бутлодырь шьет поврежденный файл. В одном и том же месте. за этими 14 идут еще байты- но там все ок.
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение May 19 2008, 09:11
Сообщение #8


Гуру
******

Группа: Модераторы
Сообщений: 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)
Go to the top of the page
 
+Quote Post
Flasher
сообщение May 19 2008, 09:23
Сообщение #9


Местный
***

Группа: Свой
Сообщений: 374
Регистрация: 6-09-05
Из: Тирасполь, Приднестровье
Пользователь №: 8 294



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

Я ничего не менял кроме скорости USART, и условия входа в загрузчик. Долгое время писал программу и все было нормально. Но теперь размер кода стал немного больше- и вот.... Предыдущие 5 килобайт были записаны же нормально
Go to the top of the page
 
+Quote Post
Flasher
сообщение May 19 2008, 23:01
Сообщение #10


Местный
***

Группа: Свой
Сообщений: 374
Регистрация: 6-09-05
Из: Тирасполь, Приднестровье
Пользователь №: 8 294



Порыл гугль по вопросу- народ также возмущен. Есть косяки где-то в коде загрузчика или генератора шифрованного кода. Увеличил объем прошивки- пока работает. Процесс случаен. Надо копать.
Go to the top of the page
 
+Quote Post
Neutron
сообщение May 22 2008, 04:10
Сообщение #11


Участник
*

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



У меня такое тоже было на 128 меге. При размере кода примерно в районе 0x2219 была ошибка контрольной суммы. Когда размер кода увеличился, всё стало нормально. А потом пошла партия процов в которой бутлодырь на частоте 14 Мгц не работал, пришлось переходить на 7
Go to the top of the page
 
+Quote Post
defunct
сообщение May 23 2008, 23:08
Сообщение #12


кекс
******

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



Цитата(Neutron @ May 22 2008, 07:10) *
А потом пошла партия процов в которой бутлодырь на частоте 14 Мгц не работал, пришлось переходить на 7

Мистика. smile.gif
Партия процов небось с буквой L, которые выше 8-ми mhz не работают?

работоспособность бутлоадера от кварца никак не зависит. Времянок частотнозависимых у SPM нет. Запись selftimed. см даташит.
Go to the top of the page
 
+Quote Post
Flasher
сообщение May 24 2008, 11:48
Сообщение #13


Местный
***

Группа: Свой
Сообщений: 374
Регистрация: 6-09-05
Из: Тирасполь, Приднестровье
Пользователь №: 8 294



Цитата(defunct @ May 24 2008, 02:08) *
Мистика. smile.gif
Партия процов небось с буквой L, которые выше 8-ми mhz не работают?

работоспособность бутлоадера от кварца никак не зависит. Времянок частотнозависимых у SPM нет. Запись selftimed. см даташит.

Вполне может зависить- я пока еще не коврял процедуры записи, но они могли и в них накосячить.
Go to the top of the page
 
+Quote Post
defunct
сообщение May 24 2008, 17:38
Сообщение #14


кекс
******

Группа: Свой
Сообщений: 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.
Go to the top of the page
 
+Quote Post
Neutron
сообщение May 29 2008, 06:06
Сообщение #15


Участник
*

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



Цитата(defunct @ May 24 2008, 20:38) *
btw, я не понимаю как можно вот так вот просто взять и зарезать чип в два раза по производительности, из-за того что на какой-то партии что-то не заработало. [b]


Если резерв по производительности есть почему же не зарезать, жрать меньше будет заодно.

Был у меня такой вопрос
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 18th July 2025 - 04:05
Рейтинг@Mail.ru


Страница сгенерированна за 0.01483 секунд с 7
ELECTRONIX ©2004-2016