Перейти к содержанию
    

Олимекс+Кроссворкс

В теме "uCOS-II LPC 2124 port, Порт для 2124 (из 2129)" писали:

А мне не удалось нормально использовать сочетание Олимекс+Вигглер+ИАР. Поэтому, не меняя железо, пришлось перейти на КроссВоркс, работает без проблем. Вообще замечено, что Олимекс лучше живет с КроссВорксом. Если не ошибаюсь, то эта среда единственная, которая содержит примеры и "знает" что-то про Олимекс.

Вот и возник вопрос:

Плата Olimex LPC-H2214. Не получается залить код во внутреннюю flash. Кросворк пишет:

Executing reset script FLASHReset()
Loading target script file C:\Program Files\CrossWorks for ARM 1.3\targets\Philips_LPC210X\Philips_LPC210X_Target.js
Downloading Loader.exe to Macraigor Wiggler (20 Pin)
 Programming completed in 282 ms — 13,163 bytes/sec
   Programming 3.6 KB of  at 0x40000000
Download complete
Downloading test2.elf to Macraigor Wiggler (20 Pin)
 Erasing entire FLASH memory completed in 2.6 s
 Programming completed in 484 ms — 10,818 bytes/sec
   Programming 4.6 KB of  at 0x0
   Programming 512 bytes of  at 0x1274
Download complete
Verifying test2.elf on Macraigor Wiggler (20 Pin)
 Verifying completed in 78 ms — 67,128 bytes/sec
   verifying section : size 0x1274, addr 0x0
Verify failed
Executing reset script FLASHReset()
Loading target script file C:\Program Files\CrossWorks for ARM 1.3\targets\Philips_LPC210X\Philips_LPC210X_Target.js

Может кто подскажет...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

С этим кристаллом не работал, но с ходу настораживает 0-ой адрес - там вектора обработки прерываний, и по включению после remap-а это обычно область ОЗУ, флеш в другом месте.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Тоже долго мучался, пытаясь прошить флэш у AT91RM9200. Оказалось - лоадер был для версии СW1.2 а я пользовался CW1.3. Но тут что-то другое. Пробовал ли смотреть, где несоответствие после прошивки? Если совсем не шьет, может настройки задержек на шине увеличить. Хотя, тоже про этот кристалл ничего не знаю.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

С этим кристаллом не работал, но с ходу настораживает 0-ой адрес - там вектора обработки прерываний, и по включению после remap-а это обычно область ОЗУ, флеш в другом месте.

Здесь все вроде нормально у lpc2214 идут вектора а затем флеш, т.е. без ремапа все ОК.

Пробовал ли смотреть, где несоответствие после прошивки? Если совсем не шьет, может настройки задержек на шине увеличить.

Такое ощущение, что кроссворкс совсем не стирает флеш. По крайней мере если через утилиту от филипса все стереть, то кросворк зашивает нормально.

Что подразумевается под задержками шины? В кроссворк нашел только одну настройку: JTAG clock divider. Влияет на скорость, но не влияет на прошиваемость.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

С такой проблемой не сталкивался, но добавлю до кучи по теме, правда для 2106:

-при переносе старого проекта с другой машинки на АРМ+Кроссворкс 1.2, пришлось заменять int на short. После замены проект работал неустойчиво, часто вылетал по ДатаАборт. Возврат интов восстанавливал устойчивость работы, но не функционала :) . Это просто поразило, так как проект использовал инты как 16-битные слова, за эти рамки не вылезал точно. До сих пор не пойму, с чем было связано

-периодически не стартует проект, загруженный как в ОЗУ, так и во Флэшь

 

Оба глюка отношу на счет версии 1.2, как возможно глючной, либо я что-то намудрил.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Мы переделывали лоадер от еволюшна EB40А, под процессор At91RM9200. Соответственно, пришлось в лоадере переделывать инициализацию CPU, настроек и задержек памяти. Кроме того, у нас использовалась другая флэш, поэтому пришлось поправить информацию о размерах и расположениях секторов, управляющие коды стирания/программирования. Потом скомпилировать лоадер и уже подсунуть кроссворксу.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

one_man_show

При переходе с int на short может возникнуть проблема выравнивания.

В среде IAR для решения этой проблемы есть соответствующая #pragma. Компилятор при этом выдаёт немного более медленный код, зато есть существенная экономия памяти.

Может и в Кроссворкс 1.2 есть подобные средства.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

one_man_show

При переходе с int на short может возникнуть проблема выравнивания.

В среде IAR для решения этой проблемы есть соответствующая #pragma. Компилятор при этом выдаёт немного более медленный код, зато есть существенная экономия памяти.

Может и в Кроссворкс 1.2 есть подобные средства.

К счастью в проекте нет зависимости от выравнивания, но это к сожалению не объясняет глюки :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...