LINUX.ORG.RU
ФорумTalks

Решил тут потестить uISP vs buspirate для пошива spi флеша.

 , ,


0

2

В общем buspirate тормоз, хоть и из коробки поддерживается flashrom. Со старой прошивкой все было совсем печально, обновился - теперь вычитка 2 мегабайт spi флешки занимает 3 минуты 49 секунд. Не быстро.

Взял я свой uISP, насадил на него адаптер для SPI флеша и решил, как говорят гусары, достать и померяться.

Собственно, лулз в том, что на buspirate спользуется ft232 интерфейсная мсх + microchip'овский камень, так что в теории при должном росте рук разработчиков оно должно уделывавать uISP. Последний состоит из атмеги8 и софтового usb через vusb.

Сначала сделал serprog совместимую прошивку для uISP (uISP прикидывается /dev/ttyACM0 портом) и получил время чтения 2х мегабайтовой spi флешки - 4 минуты 41 секунда. Неплохо для атмеги на 12 мегагерцах без аппаратного USB, но баспирату таки сливаю. Почесал голову и собрал еще один uISP, но уже с кварцем на 20Mhz. И получил те же самые 4 минут с гаком.

Вспомнил то, как работает USB, осознал что interrupt out на low-speed устройствах сильно тормозной, ограничен стандартом, выше не получить. В итоге сделал еще одну прошивочку, которая полностью все делает control transfer'ами, и прибил ее к flashrom'у... Итогом стало 2 минуты 13 секунд на чтение 2х мегабайтовой флешки. 8 минут 48 секунд на чтение 8-мегабайтовой. Т.е. на ~40% быстрее баспирата. У которого аппаратный фактически USB.

А теперь внимание ворос, телезрители: Каким местом надо было писать прошивку для устройства стоимостью 30 баксов, что устройство со стоимостью BOM'а в 5 баксов его уделывает?

XVilka, патч на flashrom для поддержки uisp_spi присылать? Насколько критично наличие возможности выставлять скорость работы SPI из флешрома?

Сырцы: Реализация serprog'a: https://github.com/nekromant/uisp-app-serprog

Реализация flashprog и патч на flashrom: https://github.com/uISP/uisp-app-flashprog

★★★★★

Последнее исправление: ncrmnt (всего исправлений: 2)

Ответ: Копро экономика и «всем все равно», внутрь не полезут или будут давится и кушать что есть

DR_SL ★★★★★
()
Ответ на: комментарий от XVilka

Патч лови в списке рассылки флешрома. Я протокол сделал тупым, аки пробка, так что его можно легко реализовать на каком-нить stm32 и получить очень годную производительность. В вики инструкции закину на недельке этой, не успел.

ncrmnt ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.