Цитата(zltigo @ Jun 26 2007, 13:37)


Сначала
стабильно работающую программу напишите, потом уже рассуждайте о качестве кода компиляторов.
А с чего вы взяли, что она не
стабильно работающая?
Цитата(VslavX @ Jun 26 2007, 14:10)

Это беспредметный разговор - версии GCC и IAR какие?...
IAR 4.41A. Режим ARM. Оптимизация отключена.
Цитата(AlexandrY @ Jun 26 2007, 13:41)

Абсурд.
Скорее всего GCC неправильно выполняет какие-то операции и вылетает из процедур...
Да нет, вроде ничего не вылетает - корректное TCP соединение, корректные пакеты (смотрим снифером). Пингуется без ошибок. Только ГЦЦшная 0.19мс, а ИАРовская 0.3мс.
Цитата(Paramedic @ Jun 26 2007, 13:14)

Простите за любопытство, просто тоже сейчас борюсь с производлительностью AT91RM9200, но на компилятор грешить даже мысли не было (теперь есть). А Вы под отладчиком работаете или нет?
Работаем в IAR, отлаживаемся в нем же через JLink. Может и не надо грешить на компиллеры - возможно ошибка в нашем коде.
Есть подозрение, что дата кэш не включился, тк прироста в скорости не обнаружил. Включаю так:
asm("MRC p15, 0, r0, c1, c0, 0");
asm("ORR r0, r0, #0x00000004");
asm("MCR p15, 0, r0, c1, c0, 0");
Еще используем разные memcpy. Та, которая в ИАРовской библиотеке довольно медленная. Переписал свою на асме, но там траблы с выравниванием... Может кто поможет со быстрой стабильной memcpy и memset?