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

 
 
> загрузчик по USB для at91sam7s256
romez777
сообщение Apr 3 2008, 11:53
Сообщение #1


Местный
***

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



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

Разбираюсь с at91, пишу простой бутлоадер по USB (без криптографии и пр.). Драйвер для USB - CDC, пример с сайта работает вполне исправно, слегка подточил для себя.

Атмеловскую доку почитал, но пока пребываю в конфузии smile.gif

1) Нужно написать простое приложение со стороны хоста (Windows) для загрузки образа на флеш - не совсем понимаю, как правильно порезать образ на равные блоки (вроде документация советует всегда записывать страницами?)
2) со стороны бутлоадера как определить, что текущий блок последний (с тем чтобы после его записи передать управление на залитое во флеш приложение). Нужно ли каждый блок предварять каким-то хедером?

Заранее благодарю за советы и замечания.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
KAlex
сообщение Apr 3 2008, 12:20
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 387
Регистрация: 20-12-06
Из: Obninsk
Пользователь №: 23 719



Цитата(romez777 @ Apr 3 2008, 14:53) *
1) Нужно написать простое приложение со стороны хоста (Windows) для загрузки образа на флеш - не совсем понимаю, как правильно порезать образ на равные блоки (вроде документация советует всегда записывать страницами?)

Из PC лучше слать блоками по 64. Бут собирает два блока и заливает страницу.

Цитата(romez777 @ Apr 3 2008, 14:53) *
2) со стороны бутлоадера как определить, что текущий блок последний (с тем чтобы после его записи передать управление на залитое во флеш приложение). Нужно ли каждый блок предварять каким-то хедером?

Перед началом в бут передается размер прошивки.
Хедер не обязательно, а вот CRC было бы неплохо.
Go to the top of the page
 
+Quote Post
romez777
сообщение Apr 4 2008, 00:05
Сообщение #3


Местный
***

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



Цитата(KAlex @ Apr 3 2008, 15:20) *
Из PC лучше слать блоками по 64. Бут собирает два блока и заливает страницу.


По 64 байта? А почему не сразу страницей, т.е. 256 байт, чем такой подход лучше?

Цитата
Перед началом в бут передается размер прошивки.
Хедер не обязательно, а вот CRC было бы неплохо.


Но размер всей прошивки не позволит выяснить окончание передачи всего образа?
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Apr 4 2008, 06:11
Сообщение #4


Гуру
******

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



Цитата(romez777 @ Apr 4 2008, 04:05) *
По 64 байта? А почему не сразу страницей, т.е. 256 байт, чем такой подход лучше?

Для RS232 такой подход был бы лучше, для USB CDC я бы рекомендовал использовать большие пакеты (1-2 страницы).

Цитата(romez777 @ Apr 4 2008, 04:05) *
Но размер всей прошивки не позволит выяснить окончание передачи всего образа?

То есть как? Вычитаем из общего размера длину каждого полученного пакета, если 0 - конец передачи.

А вообще лучше сделать простенький командный интерфейс, чтобы PC говорил устройству, что делать: грузить/читать данные, запустить приложение и т.п.
Go to the top of the page
 
+Quote Post
romez777
сообщение Apr 4 2008, 07:37
Сообщение #5


Местный
***

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



Цитата(aaarrr @ Apr 4 2008, 09:11) *
То есть как? Вычитаем из общего размера длину каждого полученного пакета, если 0 - конец передачи.


что-то я все равно не догоняю sad.gif
Предположим размер образа 5088 байт. Пилим его на куски по 256 байт (это размер страницы для at91sam7s256), получаем 19 частей по 256 байт и 1 кусок размером 224 байта.

Как здесь может помочь Ваш подход?

Цитата
А вообще лучше сделать простенький командный интерфейс, чтобы PC говорил устройству, что делать: грузить/читать данные, запустить приложение и т.п.


для начала реализую что-то простое, чтобы просто работало, а потом буду добавлять фичи.
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Apr 4 2008, 07:43
Сообщение #6


Гуру
******

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



Цитата(romez777 @ Apr 4 2008, 11:37) *
что-то я все равно не догоняю sad.gif
Предположим размер образа 5088 байт. Пилим его на куски по 256 байт (это размер страницы для at91sam7s256), получаем 19 частей по 256 байт и 1 кусок размером 224 байта.

1. Говорим загрузчику на кристалле: размер образа L=5088 байт.
2. Передаем 19 пакетов по 256 байт. Загрузчик вычитает размер пакета из размера образа (L=5088, L=4832, L=4576...L=224)
3. Передаем последний пакет 224 байта. В этот момент L=0, передача закончена.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- romez777   загрузчик по USB для at91sam7s256   Apr 3 2008, 11:53
|- - romez777   Цитата(aaarrr @ Apr 4 2008, 10:43) 1. Гов...   Apr 4 2008, 11:18
- - aaarrr   Размер и так будет известен, но лучше снабдить каж...   Apr 4 2008, 11:22
|- - romez777   Ага, таки хедер нужен - туда же можно и CRC помест...   Apr 4 2008, 13:28
|- - romez777   Еще такой вопрос: приложение, которое будет загруж...   Apr 5 2008, 04:06
- - aaarrr   Приложение должно быть собрано и слинковано: 1. Дл...   Apr 5 2008, 09:39
|- - romez777   ЦитатаПриложение должно быть собрано и слинковано:...   Apr 5 2008, 12:20
- - aaarrr   С таблицей векторов в случае SAM7 все достаточно п...   Apr 5 2008, 12:38
- - romez777   Цитата(aaarrr @ Apr 5 2008, 15:38) В само...   Apr 5 2008, 13:10
|- - aaarrr   Цитата(romez777 @ Apr 5 2008, 17:10) А в ...   Apr 5 2008, 13:17
||- - romez777   Цитата(aaarrr @ Apr 5 2008, 16:17) Да. В...   Apr 6 2008, 08:30
|- - KAlex   Цитата(romez777 @ Apr 5 2008, 16:10) А с ...   Apr 7 2008, 07:57
|- - romez777   Цитата(KAlex @ Apr 7 2008, 10:57) Ну на м...   Apr 7 2008, 23:25
|- - aaarrr   Цитата(KAlex @ Apr 7 2008, 11:57) Ну на м...   Apr 8 2008, 07:56
- - romez777   Здравствуйте, Цитата(aaarrr @ Apr 5 2008, 15...   Apr 7 2008, 01:12
- - aaarrr   Цитата(romez777 @ Apr 7 2008, 05:12) ... ...   Apr 7 2008, 05:18
- - romez777   Цитата(aaarrr @ Apr 7 2008, 08:18) А в ис...   Apr 7 2008, 06:09
- - aaarrr   Цитата(romez777 @ Apr 7 2008, 10:09) О ка...   Apr 7 2008, 06:36


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

 


RSS Текстовая версия Сейчас: 23rd June 2025 - 07:12
Рейтинг@Mail.ru


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