Цитата(yuri_t @ Feb 11 2006, 13:08)

По поводу J-Link и CrossWorks...
Я никогда не работал с МТ-Link,а вот с J-Link(производитель -Segger)
приходится иногда работать. И скорости загрузки из CrossWorks у
меня получались практически такими-же, как и у Alex03...
Просто J-Link в CrossWorks работает очень медленно(зато как он
работает с родной утилитой J-Flash - very impressive!)
Спасибо за инфу.
Теперь к DASM-у в этом вопросе вопросов больше нет.
Видимо jlinkarm.dll не оптимально написана, или CW её
не очень корректно пользует.
Цитата(DASM @ Feb 11 2006, 15:13)

Цитата(Alex03 @ Feb 11 2006, 05:22)

Думаю теперь мож во враппере jlinkarm.dll отлавливать JLINKARM_WriteU32 со смежными
адресами и группировать их в один вызов JLINKARM_WriteMem, надеюсь прокатит!

не прокатит. Она (dll) тут же ответа хочет, причем не надуманного.
В первом приближении уже прокатило! Около 25кБ/сек получилось!

Смысл такой:
jlinkarm.dll переименовываем в jlinkarm_orig.dll
Пишем враппер dll - jlinkarm.dll которая экспортирует все функции оригинальной dll.
В этой dll реализуем обёртки вокруг всех функций, вызывая функции оригинальной dll
используя LoadLibrary() и GetProcAddress()
Далее добавляем свою функциональность.
В частности:
в JLINKARM_WriteU32() оригинальную функцию не зовём а сохраняем данные в буфере
и возвращает управление в CW.
Если CW вызывает любую другую функцию, или ту же JLINKARM_WriteU32() но с не
смежным по отношению к данным в буфере адресом или если буфер полон то
вызываем JLINKARM_WriteMem() и передаём в неё данные из буфера.
Т.е. для больших кусков данных записываемых в RAM, тысячи вызовов JLINKARM_WriteU32()
заменяем на один JLINKARM_WriteMem().
Результат налицо! Подробности (файлы) для общественности немного попозже.
Сейчас мне такие недостатки видятся:
- Отложенная реальная запись
- не выдерживаются какиенить таймауты и в том числе неверно может считаться
скорость записи особенно для последнего куска.
- буферезируется не только запись в RAM, но и во всевозможные регистры.
Думаю надо буферезировать только запись в RAM. Но RAM в разных чипах в разных местах.
Сделаю версию для LPC.
P.S. А CW - гады!