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

 
 
> Автономный программатор, программатор для серийной прошивки без компьютера
shemmer
сообщение Feb 7 2008, 17:36
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 49
Регистрация: 23-09-07
Из: Томск
Пользователь №: 30 759



Приветствую всех

В общем возникла необходимость в сборке автономного программатора
который прошивает однотипные контроллеры attiny26L
Я с алгоритмом SPI вроде разобрался, есть алгоритм считывания из флеш-памяти
(программа-прошивки должна распологаться во влеш-памяти контроллера-программатора)
А вот как разместить прошивку во Flash программатора не знаю.
Если вставить ее со свободного адреса в текстовом редакторе
то при загрузке программа пишет invalid data in flash. Может есть какой-нибудь способ размещения прошивки?
Работаю в CVAVR.
Помогите пожалуйста
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
ArtemKAD
сообщение Feb 15 2008, 10:16
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 508
Регистрация: 26-06-06
Из: Киев
Пользователь №: 18 364



Принимаешь, что программа которую надо зашить будет лежать с фиксированного адреса (скажем - 400h). Пишешь "прошивальщик" который по объему меньше 1кБ и располагаешь его в начале памяти. Прошивальщик компилируешь в Intel-hex. Программу которую надо прошить компилируешь в Intel-hex.
Ну а далее воспользуйся парой программ hex2bin и bin2hex и обычным копированием с добавлением.
У меня в частности .BAT-файл для записи двух программ (тестовой и основной) выглядит так:

--------summ_hex.bat---------------------
rem берет три hex-файла (загрузчик, программа и тест) и совмещает в одном hex-е
rem размер загрузчика - до 1кБ, программа пишется со смещением 1024 байт (1кБ), тест пишется со смещением 5120 байт (5кБ)
rem Служебные файлы - end.* (end.bin end.hex)

rem Создание пустого end.hex
del end.*
HEX2BIN.EXE end.hex
BIN2HEX.EXE END.BIN

rem Собственно совмещение
HEX2BIN.EXE /p255 /L8192 end.hex
HEX2BIN.EXE /M %1 end.bin
HEX2BIN.EXE /M /O1024 %2 end.bin
HEX2BIN.EXE /M /O5120 %3 end.bin
BIN2HEX.EXE END.BIN
--------summ_hex.bat---------------------

Набор комманд может отличаться для разных конвертеров...
В крайнем случае можно конвертировать два бинарника (прошивальщик размером 1кБ) и тупо сложить коммандой
COPY load.bin /B +prg.bin /B end.BIN /B

Сообщение отредактировал ArtemKAD - Feb 15 2008, 10:21
Go to the top of the page
 
+Quote Post



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

 


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


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