реклама на сайте
подробности

 
 
> IAR XLINK
jorikdima
сообщение Jan 21 2011, 06:08
Сообщение #1


тут может быть ваша реклама
*****

Группа: Свой
Сообщений: 1 164
Регистрация: 15-03-06
Из: Санкт-Петербург/CA
Пользователь №: 15 280



Приветствую.
Несколько вопросов по линкеру ИАРа, в документации либо не нашел, либо плохо искал. Вообще речь про МСП430 если это значимо.
1. Есть ли дириктивы условной линковки, типа #ifdef ? Хочу по-разному линковать в зависимости от определения дефайнов. Ну либо как в ИАРе в зависимости от дефайна в свойствах проекта подключать разные xcl файлы?
2. Хочу маппировать вектора прерывания на область альтернативных векторов в ОЗУ. Соответственно есть область во флешь где располагаются вектора и она заключена в секцию INTVECT. Можно ли ее АВТОМАТИЧЕСКИ скопировать в ОЗУ на нужные адреса, то есть в стартапе, подшаманив линкерный файл. Как ручками это сделать я знаю.
3. Есть несколько секций, которые по архитектурным соображениям должны лежать в нижних 64к адресного пространства. Описываются они так:
Код
-Z(CODE)CSTART,ISR_CODE
-Z(CONST)DIFUNCT,CHECKSUM
-Z(CONST)DATA16_C,DATA16_ID

Я этот блок флеша для своих нужд стираю, соответственно надо значала скопировать в ОЗУ, потом стереть, потом записать обратно. Как сделать какое-то объединение этих секций в одну, чтоб я не писал 6 раз что-то типа:
Код
void* const ram_start = __sfb("INTVEC"); /* start of RAMCODE */
    const void* const ram_end = __sfe("INTVEC"); /* end of RAMCODE */
    const void* const rom_start = __sfb("INTVECROM"); /* start of ROMCODE */
    
    /* compute the number of bytes to copy */
    UINT32 size = (UINT8*)(ram_end) - (UINT8*)(ram_start);
    /* copy the contents of ROMCODE to RAMCODE */
    memcpy(ram_start, rom_start, size );

для каждой из 6 секций. Сделать бы своего рода union чтоб он покрывал всю область памяти, занимаемую несколькими секциями. Так можно?
Спасибо.
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 27th July 2025 - 20:46
Рейтинг@Mail.ru


Страница сгенерированна за 0.02179 секунд с 7
ELECTRONIX ©2004-2016