[an error occurred while processing this directive] [an error occurred while processing this directive]
Ответ:
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)
[an error occurred while processing this directive] [an error occurred while processing this directive]

Отправлено Аскольд 12 апреля 2002 г. 13:14
В ответ на: Ну вот такой пример:... отправлено Fanta 12 апреля 2002 г. 11:38

Ну так я же и не утверждал, что работа по прерываниям не бывает нужна. Просто я думаю, что IAR поступил правильно, не использовав эту возможность по-умолчанию. А тому, кто знает, что делает, никто не мешает переписать библиотечные функции так, как ему надо.

Что касается апгрейдов софта - проблема действительно имеет место и решения для "общего случая" у меня нет. К счастью сам по себе линкер ничего никуда не перемещает, если не менять описаний сохраняемых переменных. А уж переписывать инициализаторы в eeprom поверх старых значений или нет зависит от программатора. Кстати, я уже очень долго пытаюсь убедить программиста Sterh-а, что надо предусмотреть такую опцию, но пока безуспешно. Однако при значительных изменениях софта сохранить адреса достаточно геморройно.

Острой необходимости в сохранении данных при апгрейде у меня пока нет, однако в связи с планируемым переходом на mega128 зреет у меня идейка сделать собственный загрузчик через COM-порт и предусмотреть в программе для него считывание из eeprom данных и перемещение их на нужные места в новой прошивке на основе MAP-файлов, генерируемых компилятором. Но это только идея, а осуществлять ее мне пока недосуг.

Составить ответ  |||  Конференция  |||  Архив

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru