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

 
 
> Bootloader&application, доступ к общим функциям
KSN
сообщение Jul 6 2009, 08:21
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 404
Регистрация: 3-12-04
Из: Новосибирск
Пользователь №: 1 304



В IAR есть два отдельных проекта: приложение и загрузчик. Оба этих проекта используют несколько одинаковых функций. Из экономии памяти решил, в проекте загрузчика создать сегмент, куда поместить общие функции. А в проекте приложения в xcl файле указал адреса этих функций, чтобы можно было вызывать эти функции. Скомпилировал два проекта по отдельности, объединил прошивки - все работает, но не стабильно. Глючить начинает, когда приложение вызывает общие функции. Проекты компилировались с разными уровнями оптимизации: загрузчик - максимум по размеру, а приложение - среднее по размеру. Есть подозрение, что в этом и дело, надо разбираться, чем и занимаюсь.
Попутно хочу спросить, каким образом люди решают подобные задачи? Применять одинаковые уровни оптимизации обоих проектов; не оптимизировать общие функции; использовать общие функции на ассемблере и т.д.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
KSN
сообщение Jul 6 2009, 08:37
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 404
Регистрация: 3-12-04
Из: Новосибирск
Пользователь №: 1 304



Глюки: перестает работать основной цикл программы после вызова общей функции. Прерывания отрабатываются нормально. У меня есть несколько общих функции, которые вызывает приложение. Также есть еще несколько функции(назовем их дочерними функциями), которые расположены в том же сегменте, что и общие функции и которые вызываются общими функциями. Сейчас установил цепочку "ловушек"(дергание ножками) при вызове одной из общих функций. Результат: подвисание происходить внутри общей функции при вызове дочерних функций, причем, разных дочерних.
Ну, мне все-таки надо попытаться сделать работоспособным приложением, т.к. при компиляции приложения и загрузчика с исходными текстами общих функций я не укладываюсь в размеры памяти кристалла.
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 06:37
Рейтинг@Mail.ru


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