kentawrik Опубликовано 11 августа, 2008 Поделиться Опубликовано 11 августа, 2008 Приобрел QB-MINI2 и сделал сам платку типа таргетбоард на 1146. Плата прилагается Kit.rar встала необходимость просмотреть время выполнения определенной процедуры. void fill() { for( i = 0; i < 3; i++) { for( j = 0; j< 3072;j++) { buffer[j]='2'; } } } инициализация: void init_hard() { // инициализация тактовых частот OSMC = 0x01; // xxxxxxx0 // +---- (FSEL) частота для памяти: 1 - выше 10 МГЦ / 0 - ниже 10 Мгц(экономия питания) OSTS = 0x07; // xxxxx000 // +++---- время стабилизации (OSTS2, OSTS1, OSTS0) // 000 - 2^8/fx // 001 - 2^9/fx // 010 - 2^10/fx // 011 - 2^11/fx // 100 - 2^13/fx // 101 - 2^15/fx // 110 - 2^17/fx // 111 - 2^18/fx CMC = 0x51; // 00x0xxx0 // || | +---- (AMPH) частота: 0 от 2 до 10 МГц / 1 - от 10 до 20 МГц // || +-------- (OSCSELS) XT1,2: 0 - порт, 1 - кристалл // |+---------- (OSCSEL) X1: 0 - порт / 1 вход(ы) генератора // +----------- (EXCLK) генератор 0 - внутренний / 1 - внешний вход CKC = 0x08; // 00001000 // |||||||+----(MDIV0): // ||||||+-----(MDIV1): // |||||+------(MDIV2): // ||||+------- всегда 1 // |||+--------(MCM0) источник для fclk: 0 - fih / 1 - fmx // ||+---------(MCS) (т.чтение) статус fmain: 0 - fih / 1 - fmx // |+----------(CSS) источник для fclk: 0 - зависит от MDIV и MCM0 / 1 - fsub/2 // +-----------(CLS) (т.чтение) статус fclk: 0 - fmain/ 1 - fsub CSC = 0x00; // 00xxxxx0 // || +----(HIOSTOP) fhi внутренний генератор: 0 - запустить / 1 - остановить // |+----------(XTSTOP) fsub: 0 - запустить / 1 - остановить // +-----------(MSTOP) fmx внешний: 0 - запустить / 1 - остановить while(OSTC < 0xFF) // ожидаем пока содержимое регистра достигнет значения в зависимости { // от OSTS (в битах отличается) __no_operation(); } // генераторы запустили и подождали CKC = 0x18; // здесь установили источник для fclk на fmx CSC = 0x01; // остановили внутренний генератор PER0=0x81; // 0x0000x0 // | |||| +---- (TAUEN) подать тактовую частоту на массив таймеров // | |||+------ (SAU0EN) подать тактовую частоту на массив 0 последовательных портов // | ||+------- (SAU1EN) подать тактовую частоту на массив 1 последовательных портов // | |+-------- (IIC0EN) подать тактовую частоту на IIC0 // | +--------- (ADCEN) подать тактовую частоту на АЦП // +----------- (RTCEN) подать тактовую частоту на часы реального времени // частоты проиницализировали и на устройства подали // инициализация портов } запускаю через симулятор - смотрю через Profiling (Code Coverage не работает на qb-mini2 поэтому использую этот плагин) время выполнения заливки чуть больше 433000 тактов запускаю через отладчик - время выполнения 22600000 тактов исходя из ассемблерного кода и размера массива я больше склоняюсь к тому что отладчик брешет, а симулятор говорит правду. А вот как заставить отладчик говорить правду - не пойму... Может неправильно что настроил в IAR? 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
kentawrik Опубликовано 11 августа, 2008 Автор Поделиться Опубликовано 11 августа, 2008 Прошу прощения у модераторов но добавлю отдельным сообщением. Да и еще у меня стоит как описано в даташите (в памяти при просмотре располагается как надо) #pragma location = "OPTBYTE" __root const unsigned char opbytes[4]={0x00,0xFF,0xFF,0x85}; хотя в CoolIt! стоит следующее (78F1166): #pragma location = "OPTBYTE" __root const unsigned char opbytes[3]={0x00,0xFF,0x85}; хотя ведут себя программы одинаково и при таком и при таком расскладе. 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
20% скидка на весь каталог электронных компонентов в ТМ Электроникс!Акция "Лето ближе - цены ниже", успей сделать выгодные покупки!Плюс весь апрель действует скидка 10% по промокоду APREL24 + 15% кэшбэк и бесплатная доставка!Перейти на страницу акции Реклама: ООО ТМ ЭЛЕКТРОНИКС, ИНН: 7806548420, info@tmelectronics.ru, +7(812)4094849
Migray Опубликовано 11 августа, 2008 Поделиться Опубликовано 11 августа, 2008 В режиме отладки, когда идет работа с OCD естественно время выполнения будет больше. Правда не на порядок. Уточним, посмотрим 0 Как советовать, так все чатлане ... Ссылка на комментарий Поделиться на другие сайты Поделиться
Выбираем схему BMS для корректной работы литий-железофосфатных (LiFePO4) аккумуляторов Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ, также как и для других, очень важен контроль процесса заряда и разряда, а специализированных микросхем для этого вида аккумуляторов не так много. Инженеры КОМПЭЛ подготовили список имеющихся микросхем и возможных решений от разных производителей. Подробнее>> Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161
kentawrik Опубликовано 11 августа, 2008 Автор Поделиться Опубликовано 11 августа, 2008 добавлю результаты, более предметно чтобы смотреть было... profile1.txt profile2.txt 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
kentawrik Опубликовано 11 августа, 2008 Автор Поделиться Опубликовано 11 августа, 2008 прошу прощения - панику поднял... в настройках оборудования к отладчику - есть пункт Time Unit. он как раз и задает величины по которым отсчитывается время. так вот для симулятора считаются циклы, а для OCD выводится время в величинах которые мы установили... у меня стояли наносекунды значит время выполнения процедуры fill в тактах 433233, а по времени 22600000 нс или 22,6 мс (миллисекунды). все это даже лучше чем я ожидал... 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
Migray Опубликовано 11 августа, 2008 Поделиться Опубликовано 11 августа, 2008 Вообще следовало ожидать. В этом процессоре есть конвеер, и однозначно сказать что столько-то команд=столько-то тактов не всегда можно. В сложно-запутанной программе с кучей переходов, когда конвеер не работает, что-то подсчитать можно. 0 Как советовать, так все чатлане ... Ссылка на комментарий Поделиться на другие сайты Поделиться
kentawrik Опубликовано 11 августа, 2008 Автор Поделиться Опубликовано 11 августа, 2008 так а как опытный человек что скажите по поводу OPTION? почему такая разница? 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
Migray Опубликовано 11 августа, 2008 Поделиться Опубликовано 11 августа, 2008 Вечером гляну в даташит. Там должно быть побитовое описание. Возможно что различающиеся биты в твоей программе не затрагиваются. 0 Как советовать, так все чатлане ... Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.