Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Использование в Keil Region-related symbols
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > Cредства разработки для МК > Keil
VadimNic_nt
Здравствуйте Все!

Хотелось бы разобраться с использованием Linker-defined symbols в проекте Keil.
http://www.keil.com/support/man/docs/armli...62065951495.htm

Меня конкретно интересует возможность использования переменной Load$$LR$$load_region_name$$Length
http://www.keil.com/support/man/docs/armli...62065953823.htm

Почему при сборке проекта линковщик выдает ошибку, что символ не определен....
x893
Берете и используете
Код
extern uint32_t * Load$$LR$$LR_IROM1$$Length;
...
{
  uint32_t * r = Load$$LR$$LR_IROM1$$Length;
}


Видимо не те буквы используете, поэтому и не находит.
VadimNic_nt
Спасибо, действительно линкуется без ошибок.
А эти переменные обязательно использовать через указатель?
x893
Лень проверять.
VadimNic_nt
Для проверки использовал следующий код:

/*----------------------------------------------------------------------------
Main Program
*----------------------------------------------------------------------------*/
int main (void) { /* main entry for program */

uint32_t test[4];
extern uint32_t Load$$LR$$LR_IROM1$$Limit;
extern uint32_t Load$$LR$$LR_IROM1$$Base;
extern uint32_t Load$$LR$$LR_IROM1$$Length;

......

test[0] = (uint32_t)&Load$$LR$$LR_IROM1$$Limit;
test[1] = (uint32_t)&Load$$LR$$LR_IROM1$$Base;
test[2] = (uint32_t)&Load$$LR$$LR_IROM1$$Length;

test[3] = test[0] - test[1];

....

}
ViKo
А результат проверки - какой?
Здесь главное extern.
VadimNic_nt
Все работает.

Кроме extern необходимо использовать &

6.3.7 Methods of importing linker-defined symbols in C and C++

You can import linker-defined symbols into your C or C++ source code. They are external symbols and you must take the address of them.
The only case where the & operator is not required is when the array declaration is used, for example extern char symbol_name[];.


http://www.keil.com/support/man/docs/armli...62065956104.htm
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.