[an error occurred while processing this directive]
|
удалось мне открутить вижуал линкер и прикрутить нормальный, но
обнаружилась проблема -
все глобальные переменные валятся в секцию far (причем без разбору как инициализированые, так и 0), вообще как-то .data и .bss используются малопонятным образом (например - странно что можно использовать ROM для .data)
то есть - вопрос с заданием своей секции (#pragma DATA_SECTION) и положением в нее явно указанных переменных с использованием невижуал линкера - не вопрос
но все глобальные переменные и массивы (объявленные с extern?) которых очень много (не мой проект и исправить это сейчас невозможно) попадают в этот far, которая никуда не лезет (кроме SDRAM, с чем и борюсь).
так же секции для run-time инициализации (.cinit) какие-то немеряные (ну нет там столько ненулевых переменных)
можно конечно отпарсить rcp от вижуал линкера (как я понимаю, это заботливо сохранненый лог о том куда-что мышкой двигалось), и разложить секцию far так как она раскладывалась до того как проект попал мне, но так как я считаю, что глюки лезут именно из-за неправильного разложения переменных по памятям - это не метод
можно ли чего-нибудь посоветовать "вобщем" и какую модель памяти (62хх) рекомендуют опытные товарищи (и ее влияние на .far)?
хочется - чтобы данные попали в .bss и .data (far только какие-нибудь библиотеки и т.п)
чтобы те данные, которые попадают в data не инициализировались в run-time (ну а bss имхо - должна просто обнуляться)
можно конечно принудительно (#pragma) разложить глобальные переменные по секциям - но не хочется...
-------------------
про линкер - понимает ли он несколько файлов (то есть дополнительные section в отдельном файле)
и про тип памяти RWXI - буковки (которые я не нашел как менять в DSPBIOS) - мне подозрительна I - чего она означает?
-------------------
спасибо за внимание :)
E-mail: info@telesys.ru