Ладно так как никто ничего не предлагает, пришлось продолжить поиски ответа :(
Эксперимент №1:
Для того что бы симуляторы MPLAB 8.92 b MPLAB X IDE 5.15 были в равных условиях, выбираю одинаковые компиляторы mpasm v5.83 и пишу код задержки равный 3 вложенным циклам.
Результат: MPLAB 8.92 - время обработки 4.5 сек на 16 МГц
Нажмите, чтобы открыть спойлер
Результат: MPLAB X IDE 5.15 - время обработки 14.5 сек на 16 МГц
Нажмите, чтобы открыть спойлер
Далее потыкал, покрутил, получалось что больше 2,2 секунд не показывает и цикл больше 35,4 M не крутит. Стал уменьшать в настройках симулятора частоту Fcyc и понял что частота как будто умножается на 4, так как количество циклов не совпадает.
Эксперимент №2:
Результат: MPLAB 8.92 - время обработки 0.01 сек на 16 МГц
Нажмите, чтобы открыть спойлер
Результат: MPLAB X IDE 5.15 - время обработки 4 сек на 4 МГц
Нажмите, чтобы открыть спойлер
Настройки Симулятора MPLAB X IDE 5.15:
Нажмите, чтобы открыть спойлер
На данном этапе удалось добиться сокращения скорости эмуляции "задержки" и получить идентичные результаты в обоих программах, на языке Ассемблера.
Осталось попробовать на Си покрутить.
Но все равно не понятно, вроде новая программа, должна быстрее работать... или наоборот получается, новая навороченная медленная?
Покрутил на Си __delay_ms(1000) на 16 МГц время эмуляции шага(F8) 45 сек. (мда печаль...) 4000000 циклов, однако если пройти по циклу зеленой кнопкой (F5) то нормально 1.5 секунды. Это понятно что применяются более сложные вычисления, по этому так долго. Но я хотел бы, как то настраивать сложность обработки циклов для увеличения скорости.
Вот еще перевод хелапа по симулятору:
Цитата:
|
"Часто циклы будут использоваться в коде для генерации временных задержек. При использовании симулятора вы можете уменьшить эти временные задержки или условно удалить эти разделы кода с помощью операторов “IFDEF”, чтобы увеличить скорость моделирования."
|
Так хорошо где конкретный пример КАК УДАЛИТЬ?