Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Проблема с RTX Kernal !
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
Dениs
Вообщем, проблема в следующем: при созданиии тестового проекта для RTX Kernal появляется следующая ошибка

Error: L6200E: Symbol os_tmr multiply defined (by rt_timer.o and rtx_conf_cm.o).

Проект создавал в Keil 5.1, библиотеки подтянул следующим образом при создании проекта:





Вроде бы все сделал правильно, но не могу понять где выскакивает двойное описание переменной ? Мучаюсь уже очень долго ... (
Dениs
Кажись выяснил причину ... Она кроется в os_tmr_create макроопределении функции в RTL.h ... Когда закоментируешь эту строку ошибка исчезает, но раскоментировав опять появляется ... Как же тогда использовать эту функцию, может МАКРОС надо добавить какой-то ?

Так же есть совпадение переменной в файле RT_Timer.c и в RTX_CM_lib.h ... переменная os_tmr которую определена и там и там, но вот вопрос я же не вызываю и не подтягиваю нигде в проекте библиотеку RT_Timer.c откуда она лезет ?
VAI
Я у себя в проектах использую CMSIS_RTX в исходниках, а не как библиотеку и в самом начале столкнулся с подобным сообщением. Оно вылазит по тому, что в файле "RTX_CM_lib.h" есть определение вида
Код
uint32_t       os_tmr = 0;

А в исходниках, в файле "rt_Timer.c" есть строка
Код
struct OS_XTMR os_tmr;

т.е. двойное определение os_tmr.
В файле "RTX_CM_lib.h" я закоментировал определение os_tmr, т.к. везде в исходниках os_tmr используется как структура.
Dениs
Цитата(VAI @ Oct 31 2014, 08:05) *
Я у себя в проектах использую CMSIS_RTX в исходниках, а не как библиотеку и в самом начале столкнулся с подобным сообщением. Оно вылазит по тому, что в файле "RTX_CM_lib.h" есть определение вида
Код
uint32_t       os_tmr = 0;

А в исходниках, в файле "rt_Timer.c" есть строка
Код
struct OS_XTMR os_tmr;

т.е. двойное определение os_tmr.
В файле "RTX_CM_lib.h" я закоментировал определение os_tmr, т.к. везде в исходниках os_tmr используется как структура.


Да я так и понял, но проблема в том что "RTX_CM_lib.h" в проекте после подстановки в Keil не радактируемый, как его изменить ... зачем тогда Keil его подставляет в проект и делает нерадактируемым ? Смысл тогда использования подтягиваемых библиотек с Keil для создония проекта если их можно тогда скопировать в папку проекта и потом подставить в проект и он будет редактируемым, может это можно через define как-то обойти ?
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.