[an error occurred while processing this directive]
[an error occurred while processing this directive]
|
Ну так я же и не утверждал, что работа по прерываниям не бывает нужна. Просто я думаю, что IAR поступил правильно, не использовав эту возможность по-умолчанию. А тому, кто знает, что делает, никто не мешает переписать библиотечные функции так, как ему надо.
Что касается апгрейдов софта - проблема действительно имеет место и решения для "общего случая" у меня нет. К счастью сам по себе линкер ничего никуда не перемещает, если не менять описаний сохраняемых переменных. А уж переписывать инициализаторы в eeprom поверх старых значений или нет зависит от программатора. Кстати, я уже очень долго пытаюсь убедить программиста Sterh-а, что надо предусмотреть такую опцию, но пока безуспешно. Однако при значительных изменениях софта сохранить адреса достаточно геморройно.
Острой необходимости в сохранении данных при апгрейде у меня пока нет, однако в связи с планируемым переходом на mega128 зреет у меня идейка сделать собственный загрузчик через COM-порт и предусмотреть в программе для него считывание из eeprom данных и перемещение их на нужные места в новой прошивке на основе MAP-файлов, генерируемых компилятором. Но это только идея, а осуществлять ее мне пока недосуг.
E-mail: info@telesys.ru