01.08.2013, 23:47
|
|
Почётный гражданин KAZUS.RU
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,497
Сказал спасибо: 30
Сказали Спасибо 3,072 раз(а) в 2,013 сообщении(ях)
|
Re: Помогите запрограммировать Altera EPM7064STC100-10N
|
|
|
|
02.08.2013, 17:14
|
|
Частый гость
Регистрация: 14.12.2012
Адрес: Киев. Украина
Сообщений: 19
Сказал спасибо: 6
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: Помогите запрограммировать Altera EPM7064STC100-10N
|
|
|
|
02.08.2013, 19:56
|
|
Почётный гражданин KAZUS.RU
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,497
Сказал спасибо: 30
Сказали Спасибо 3,072 раз(а) в 2,013 сообщении(ях)
|
Re: Помогите запрограммировать Altera EPM7064STC100-10N
Ну дык "чего стоим, кого ждём?" (с)
мой ник на майле.
|
|
|
Сказали "Спасибо" omercury
|
|
|
03.08.2013, 11:48
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.02.2008
Адрес: Днепр. Украина
Сообщений: 3,294
Сказал спасибо: 442
Сказали Спасибо 1,048 раз(а) в 706 сообщении(ях)
|
Re: Помогите запрограммировать Altera EPM7064STC100-10N
Ну что можно сказать. Основная проблема - софт, которым создан файл. Структура файла соответствует стандарту, но название типа используемой ИС - кривое. Кривизна из-за наличия пробела в имени устройства. По этой причине в Квартусе нельзя создать пользовательский тип ИМС и применить его для чтения файла. Самое неприятное - то, что софт Elnec не позволяет задавать название ИМС самостоятельно.
Вручную откорректировать заголовки можно, но нужно сделать правильную контрольную сумму, которая записывается в последние два байта файла. На альтеровском форуме нашел документ описывающий структуру файла,(во вложении) но сгенерировать правильную контрольную сумму мне пока не удалось
__________________
misterdi<@>i.ua
Последний раз редактировалось MisterDi; 03.08.2013 в 11:51.
|
|
|
|
07.08.2013, 12:32
|
|
Частый гость
Регистрация: 14.12.2012
Адрес: Киев. Украина
Сообщений: 19
Сказал спасибо: 6
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: Помогите запрограммировать Altera EPM7064STC100-10N
Сообщение от MisterDi
|
Вручную откорректировать заголовки можно, но нужно сделать правильную контрольную сумму, которая записывается в последние два байта файла. На альтеровском форуме нашел документ описывающий структуру файла,(во вложении) но сгенерировать правильную контрольную сумму мне пока не удалось
|
Кстати - вопрос - а откуда информация о том, что контрольная сумма записана в конце файла в 2 байта?
|
|
|
|
09.08.2013, 10:30
|
|
Прописка
Регистрация: 13.03.2007
Сообщений: 135
Сказал спасибо: 7
Сказали Спасибо 37 раз(а) в 22 сообщении(ях)
|
Re: Помогите запрограммировать Altera EPM7064STC100-10N
Сообщение от MisterDi
|
tele_puz, попробовать добавить в список Квартуса еще один кристалл - такой как записан в файле. Но как это сделать я пока не нашел
|
Я именно об этом. Для другого кристалла требуется полная перекомпиляция исходника!
|
|
|
|
09.08.2013, 10:50
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.02.2008
Адрес: Днепр. Украина
Сообщений: 3,294
Сказал спасибо: 442
Сказали Спасибо 1,048 раз(а) в 706 сообщении(ях)
|
Re: Помогите запрограммировать Altera EPM7064STC100-10N
Цитата:
|
Кстати - вопрос - а откуда информация о том, что контрольная сумма записана в конце файла в 2 байта?
|
На электрониксе было упоминание, и по-моему во вложенном файле то же говорилось.
Цитата:
|
Для другого кристалла требуется полная перекомпиляция исходника!
|
Т.к. исходника нет, то нужно просто подсчитать контрольную сумму. Тут вопросы с какой позиции в файле считать и по какому алгоритму. Сначала компилируем тестовую прошивку в Квартусе, затем пробуем подсчитать КС и сравниваем с той, что записана в файле, при совпадении - проводим аналогичный расчет для откорректированного файла и получаем то, что нужно.
__________________
misterdi<@>i.ua
|
|
|
|
09.08.2013, 12:07
|
|
Частый гость
Регистрация: 14.12.2012
Адрес: Киев. Украина
Сообщений: 19
Сказал спасибо: 6
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: Помогите запрограммировать Altera EPM7064STC100-10N
Сообщение от MisterDi
|
На электрониксе было упоминание, и по-моему во вложенном файле то же говорилось.
Т.к. исходника нет, то нужно просто подсчитать контрольную сумму. Тут вопросы с какой позиции в файле считать и по какому алгоритму. Сначала компилируем тестовую прошивку в Квартусе, затем пробуем подсчитать КС и сравниваем с той, что записана в файле, при совпадении - проводим аналогичный расчет для откорректированного файла и получаем то, что нужно.
|
Контрольная сумма там считается по CRC32.
Кусок, который внутри файла (о котором сообщают программы, где я открываю это файл, и считают контрольную сумму я нашел)
Но есть одно НО!!!! Название микросхемы (в фале) находится ЗА пределами этого куска (микропрограммы для кристалла скорее всего) и при изменении соответственно не влияет на контрльную сумму этого куска. При изменении названия микросхемы меняется контрольная сумма всего фала (но не куска программы).
Мой вывод - контрольная сумма этого куска в фале как-то связана со всем файлом...
При открытии (с измененным названием микросхемы в файле вручную) - Программа от программатора ELNEC - ругается, что неверная CRC файла НО ФАЙЛ ПРИ ЭТОМ ОТКРЫВАЕТСЯ и автоматически меняется название микросхемы НА ИЗНАЧАЛЬНЫЙ
|
|
|
|
09.08.2013, 13:08
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.02.2008
Адрес: Днепр. Украина
Сообщений: 3,294
Сказал спасибо: 442
Сказали Спасибо 1,048 раз(а) в 706 сообщении(ях)
|
Re: Помогите запрограммировать Altera EPM7064STC100-10N
Цитата:
|
Название микросхемы (в фале) находится ЗА пределами этого куска (микропрограммы для кристалла скорее всего) и при изменении соответственно не влияет на контрльную сумму этого куска.
|
Все правильно. То, что показывает квартусовский программатор считается по CRC32 а контрольная сумма по CRC16 но не понятно с какого места. Структура файла:
-4 байта сигнатура + 4байта заголовок + 4 байта количество блоков + блоки данных
Блок данных:
2 байта - тип блока - описаны в файле
4 байта - длина блока
ххх-байт - данные блока
тип блока 01 - идентификатор ПО - обязательный
тип блока 02 - идентификатор ИМС - обязательный
тип блока 03 - комментарии - не обязательный
тип блока 05 - параметры блокировки чтения
тип блока 11 - двоичные данные для записи в ИМС - в документации структура не описана, но именно КС этого блока считает и показывает софт программатора
тип блока 08 - последний блок файла - содержит только контрольную сумму. В выложеном мной файле это id=08 но мне не удалось получить правильную КС для нормального файла Квартуса.
__________________
misterdi<@>i.ua
Последний раз редактировалось MisterDi; 09.08.2013 в 13:55.
|
|
|
|
09.08.2013, 13:13
|
|
Частый гость
Регистрация: 14.12.2012
Адрес: Киев. Украина
Сообщений: 19
Сказал спасибо: 6
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: Помогите запрограммировать Altera EPM7064STC100-10N
Сообщение от MisterDi
|
Все правильно. То, что показывает квартусовский программатор считается по CRC32 а контрольная сумма по CRC16 но не понятно с какого места. Структура файла:
-6 байт сигнатура + блоки данных
Блок данных:
2 байта - тип блока - описаны в файле
4 байта - длина блока
тип блока 00 - заголовок показывает количество блоков в файле - обязательный
тип блока 01 - идентификатор ПО - обязательный
тип блока 02 - идентификатор ИМС - обязательный
тип блока 03 - комментарии - не обязательный
тип блока 05 - параметры блокировки чтения
тип блока 11 - двоичные данные для записи в ИМС - в документации структура не описана, но именно КС этого блока считает и показывает софт программатора
тип блока 08 - последний блок файла - содержит только контрольную сумму.
|
О струтуре файла и длинны блоков - в том фале, что вы выкладывали нет информации о длинах блоков - сдайте пожалуйста источник информации - хочется посмотреть!
Спасибо!
Последний раз редактировалось eact; 09.08.2013 в 13:17.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 05:52.
|
|