Привет Alexey!
12 Feb 04 13:40, Alexey Boyko писал Alex Mogilnikov:
AM>> У меня 11-кбайтный загрузчик прошивается в ПЗУ минут 5 (ПЗУ AM>> 8-битное).
AB> Hифига себе. ;O
AB> У меня 24-х килобайтная программа зашивается в at29c512 примерно AB> полминуты.
Хм. Я догадывался, что это уж очень долго, но чтоб настолько...
Можешь примерно описать последовательность операций? Я сейчас посмотрел исходник, там запись байта в память выполняется следующим образом:
- выбор scan chain 1
- загрузка инструкции intest
- загрузка данных: ldm r0,{r0,r1} nop nop address data nop nop nop strb r1,[r0]
- загрузка инструкции restart
- загрузка инструкции intest
Hа каждый байт записываемых данных вся вышеописанная последовательность повторяется 4 раза. Hе представляю, за счет чего можно шить в 20 раз быстрее... Да, ПЗУ у меня 29LV040 от AMD.
AB> Кстати, программа имеет режим загрузчика, последующие AB> загрузки я могу делать через COM-порт.
У меня то же самое - через JTAG ПЗУ шьется один раз в жизни, когда оно еще совсем пустое.
AB> Еще там влезло юзер интерфейс, AB> загрузка данных из устройства через СОМ, менеджер флеш памяти, печать AB> отчетов (самая большая часть).
AB> У тебя загрузчик что - через TCP/IP работает?
Hет, xmodem. По TCP/IP работает уже полная прошивка.
AB> AT29C512 можно записывать только страницами. Так что мне пришлось AB> сделать небольшой программатор (полтора десятка команд), который AB> записываю вместе с 128-ю байтами данных во внутреннее ОЗУ и запускаю.
Я правильно понял, что те самые 28 кбайт за пол минуты ты зашиваешь, помещая страницу данных сначала во внутреннее ОЗУ, а затем запуская на выполнение в нем же тот самый небольшой программатор? Тогда верю, что у тебя в
20 раз быстрее получается...
Всего наилучшего, [Team PCAD 2000] Алексей М. ... Программисты знают, что на каждую улицу Пушкина должна быть улица Попкина.