Перейти к содержанию
    

Загрузчик (bootloader) по протоколу Xmodem

В стандартной поставке виндовс есть программа HyperTerminal, из которой можно отправить файл по протоколу Xmodem, может, есть у кого наработки с этим протоколом бутлоадера.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В стандартной поставке виндовс есть программа HyperTerminal, из которой можно отправить файл по протоколу Xmodem, может, есть у кого наработки с этим протоколом бутлоадера.

Вот атмел пишет про Xmodem:

http://www.atmel.com/dyn/resources/prod_do...nts/doc1472.pdf

Можешь сам написать, как тебе нужно.

 

А вообще, у меня есть свой загрузчик через Xmodem для меги16.

Загружает прошивку в формате .BIN

Проект в IAR C.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вот атмел пишет про Xmodem:

http://www.atmel.com/dyn/resources/prod_do...nts/doc1472.pdf

Можешь сам написать, как тебе нужно.

 

А вообще, у меня есть свой загрузчик через Xmodem для меги16.

Загружает прошивку в формате .BIN

Проект в IAR C.

 

спасибо посмотрю

http://www.atmel.com/dyn/resources/prod_do...nts/doc1472.pdf

 

не могли бы вы поделится свои исходником

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Тут кое что видел. starter48 если есть возможность, тоже хотел бы взглянуть.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Тут кое что видел. starter48 если есть возможность, тоже хотел бы взглянуть.

По хорошему в бутлоадер не только xmodem нужно вставить, а еще заголовок к бинарнику, в котором к примеру есть такое

//-------------------------------------------------------------------------------------------

typedef struct

{

u8 Name[103];

u32 HW_Version;

u32 SW_Version;

TTimeFull Time;

u8 WH_Update;

u8 Flag;

u32 Length;

u16 CRC_D; // CRC of data

u16 CRC_H; // CRC of header

}THead;

//-------------------------------------------------------------------------------------------

Где CRC_H - CRC хеадера, CRC_D - CRC остальных данных. Сначала считается CRC данных и пишется в хедер, а затем CRC самого хедера. Те 100% гарантия сохранности всего. В версии HW пишиться к примеру число, если в загружаемом бинарнике не совпадают версии HW то бинарник не пишется в флеш. Также пишется дата приготовления бинарника. В общем на выходе имеем исчерпывающую информацию обо всем. Так же стоит написать утилиту, которая делает bin из hex и добавляет хедер с CRC.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

спасибо посмотрю

http://www.atmel.com/dyn/resources/prod_do...nts/doc1472.pdf

 

не могли бы вы поделится свои исходником

Для начала нужно прошить фьюзы BSIZ=0,BRST=0 (progfuse.bat)

Кварц 11059кГц

Скорость 9600 8N1

Компилилось в IAR3.20d

После сброса загрузчик получив управление, проверяет не нажата ли кнопка "программирование", подключенная к PINB_Bit1, а также контр. сумму основной программы по адресам 0-37FFh.

И если сумма ненулевая или кнопка нажата (из PINB_Bit1 читается ноль), то происходит запуск цикла ожидания прошивки по протоколу Xmodem. При этом программа посылает строку

"Start uploading firmware using Xmodem protocol", которую должно быть видно на терминале.

Файл FIRMWARE.BIN содержит пример прошивки которую можно залить с помощью моего загрузчика.

Этот файл получается из файла с раширением .a90 (hex) с помощью программки hex2bin.

В двух последних байтах содержится контр. сумма. Её автоматом может делать IAR:

в настройках проекта, категория XLINK, на закладке Processing:

включить Fill unused memory

Fill pattern: 0xFF

включить Generate checksum

size: 2 bytes

CRC16 (0x11021)

Complement: As is

Bit order: MSB first

xboot.rar

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...