Исходные:
Есть маленький проектик в котором используются ассемблерные подпрограммы размещающиеся в сегменте CODE_I.
проблема:
В нужном месте вместо функций при помощи отладчика наблюдал мусор в RAM.
Проблема была устранена когда объявил одну из функций C как __ramfunc
причина:
У иара есть таблица в сегменте INITTAB, в нее записываются перерменные для функции __segment_init. Так вот, если в сишном коде
не определяется ни одной функции в рам значения для сегмента CODE_I прибиваются, несмотря на то что в этом сегменте существуют вызывающиеся в сишном коде ассемблерные функции. Все это видно в map файле линкера.
Либо я что-то недопонимаю либо одно из двух. Проектитк прилагается, кому не влом проверьте на более старших версиях. будет ли проявлятся такое поведение
ЗЫ. Подобное поведение наблюдал в crossworks, но детально пока не изучал.
Yes, there are two paths you can go by But in the long run Theres still time to change the road youre on.