Миландр

Ключевым подразделением нашей компании является Центр Проектирования интегральных микросхем
Текущее время: 2018-июн-20 18:31

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ 1 сообщение ] 
Автор Сообщение
СообщениеДобавлено: 2016-июн-06 14:14 
Не в сети

Зарегистрирован: 2014-ноя-17 08:47
Сообщения: 103
Приветствую всех

приступил к изучению статических библиотек в uVision, и что-то пошло не так...

взял проект, в котором UART настраивается на эхо, скомпилировал в hex все работает,
потом создал из проекта библиотеку .lib,
создал параллельный проект, в котором включил .asm и .lib в проект (только они)
пути к .h прописал как и в начальном проекте, создал .hex, и не работает...

может кто-нибудь сталкивался с такой проблемой?!...
причем у них даже размер хекса разный думаю в этом и проблема...

проект подключил; нужно выбирать мультипроект, ну а там выбирать активный


в общем экспериментировал --- сделал только 1 файл библиотечным и вроде как заработало (hardware_init.c)

не совсем то, что мне нужно... но работает...
а вообще хотелось чтобы библиотека была настраиваемой, например есть код основного цикла спрятанный в библиотеке и есть некоторые функции, которые используются в библиотеке, но в состав ее не входят, то есть захотел, изменил 1 файл и программа уже работает по другому ... могут ли такое данные библиотеки... хз...


посидел, по испытывал, в общем получается почти все что я хотел, единственное, прерывания если добавлять в библиотеку, девайс перестает работать, видимо потому как нужно по определенным адресам привязывать, а линкер распихивает как придется, если кто сталкивался с этой проблемой и решил ее напишите...

ну вот все встало на свои места:
1) можно запихнуть прерывания в статическую библиотеку, для этого нужно включить функции прерываний в файлы, где есть функции проходящий через main(), если использовать отдельный файлик по прерываниям, он обрезается при компиляции и линковке проекта
2) также столкнулся с проблемой использования функций выполняющихся из оперативки, при установке галочки "one ELF section per function", работает не всегда корректно, например, на 1986ВЕ1Т проект здорово тупил, и контроллер (по диззасемблеру в отладчике) обращался в центр функции по ее завершения... , на 1986ВЕ91 все было нормально, но для себя решил не ставить эту галочку на функции, выполняемые из флеши


Вложения:
lib_project[2].rar [694.05 КБ]
Скачиваний: 122
lib_project[1].rar [251.32 КБ]
Скачиваний: 118
Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ 1 сообщение ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB