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

 
 
> Глюк линкера в ewarm 4.31A (код в рам)
SpiritDance
сообщение Jul 3 2007, 06:30
Сообщение #1


Дух погибшего транзистора
****

Группа: Свой
Сообщений: 877
Регистрация: 6-09-05
Из: Москва
Пользователь №: 8 288



Исходные:
Есть маленький проектик в котором используются ассемблерные подпрограммы размещающиеся в сегменте CODE_I.
проблема:
В нужном месте вместо функций при помощи отладчика наблюдал мусор в RAM.
Проблема была устранена когда объявил одну из функций C как __ramfunc
причина:
У иара есть таблица в сегменте INITTAB, в нее записываются перерменные для функции __segment_init. Так вот, если в сишном коде не определяется ни одной функции в рам значения для сегмента CODE_I прибиваются, несмотря на то что в этом сегменте существуют вызывающиеся в сишном коде ассемблерные функции. Все это видно в map файле линкера.

Либо я что-то недопонимаю либо одно из двух. Проектитк прилагается, кому не влом проверьте на более старших версиях. будет ли проявлятся такое поведение

ЗЫ. Подобное поведение наблюдал в crossworks, но детально пока не изучал.
Прикрепленные файлы
Прикрепленный файл  blink_with_bootrom_iar.rar ( 89.89 килобайт ) Кол-во скачиваний: 36
 


--------------------
Yes, there are two paths you can go by But in the long run Theres still time to change the road youre on.
Go to the top of the page
 
+Quote Post



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

 


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


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