По поводу конструкторов и внешней памяти следует добавить. В IAR C++ инициализация памяти и создание глобальных объектов осуществляется внутренней функцией C_startup, которая работает ДО начала работы ЛЮБОГО пользовательского кода. Это значит, что код конфигурирования внешней памяти (после ресета внешняя память не разрешена и не сконфигурирована) надо запустить в функции char __low_level_init() (см. образец в файле \avr\src\lib\low_level_init.c). Лучше сам этот файл включить в проект.
|