В IAR есть два отдельных проекта: приложение и загрузчик. Оба этих проекта используют несколько одинаковых функций. Из экономии памяти решил, в проекте загрузчика создать сегмент, куда поместить общие функции. А в проекте приложения в xcl файле указал адреса этих функций, чтобы можно было вызывать эти функции. Скомпилировал два проекта по отдельности, объединил прошивки - все работает, но не стабильно. Глючить начинает, когда приложение вызывает общие функции. Проекты компилировались с разными уровнями оптимизации: загрузчик - максимум по размеру, а приложение - среднее по размеру. Есть подозрение, что в этом и дело, надо разбираться, чем и занимаюсь. Попутно хочу спросить, каким образом люди решают подобные задачи? Применять одинаковые уровни оптимизации обоих проектов; не оптимизировать общие функции; использовать общие функции на ассемблере и т.д.
|