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

 
 
> Загрузчик (bootloader) по протоколу Xmodem
_Алекс
сообщение Sep 24 2007, 16:03
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 252
Регистрация: 14-09-06
Пользователь №: 20 377



В стандартной поставке виндовс есть программа HyperTerminal, из которой можно отправить файл по протоколу Xmodem, может, есть у кого наработки с этим протоколом бутлоадера.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 5)
starter48
сообщение Sep 25 2007, 01:29
Сообщение #2


Частый гость
**

Группа: Свой
Сообщений: 112
Регистрация: 15-10-05
Из: Томск
Пользователь №: 9 680



Цитата(_Алекс @ Sep 24 2007, 22:03) *
В стандартной поставке виндовс есть программа HyperTerminal, из которой можно отправить файл по протоколу Xmodem, может, есть у кого наработки с этим протоколом бутлоадера.

Вот атмел пишет про Xmodem:
http://www.atmel.com/dyn/resources/prod_do...nts/doc1472.pdf
Можешь сам написать, как тебе нужно.

А вообще, у меня есть свой загрузчик через Xmodem для меги16.
Загружает прошивку в формате .BIN
Проект в IAR C.
Go to the top of the page
 
+Quote Post
_Алекс
сообщение Sep 25 2007, 04:11
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 252
Регистрация: 14-09-06
Пользователь №: 20 377



Цитата(starter48 @ Sep 25 2007, 04:29) *
Вот атмел пишет про 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

не могли бы вы поделится свои исходником
Go to the top of the page
 
+Quote Post
vesago
сообщение Sep 25 2007, 06:01
Сообщение #4


Тутэйшы
****

Группа: Свой
Сообщений: 708
Регистрация: 30-11-04
Пользователь №: 1 263



Тут кое что видел. starter48 если есть возможность, тоже хотел бы взглянуть.
Go to the top of the page
 
+Quote Post
Peter Pavlov
сообщение Sep 25 2007, 20:37
Сообщение #5


Участник
*

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



Цитата(vesago @ Sep 25 2007, 09:01) *
Тут кое что видел. 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.
Go to the top of the page
 
+Quote Post
starter48
сообщение Sep 27 2007, 09:54
Сообщение #6


Частый гость
**

Группа: Свой
Сообщений: 112
Регистрация: 15-10-05
Из: Томск
Пользователь №: 9 680



Цитата(_Алекс @ Sep 25 2007, 10:11) *
спасибо посмотрю
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 ( 14.86 килобайт ) Кол-во скачиваний: 120
 
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 06:15
Рейтинг@Mail.ru


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