Jump to content
kentawrik

Target Board 78f1146 И Qb-mini2

Recommended Posts

Приобрел QB-MINI2 и сделал сам платку типа таргетбоард на 1146. Плата прилагается

post-45024-1218429386_thumb.jpg

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?

Share this post


Link to post
Share on other sites

Прошу прощения у модераторов но добавлю отдельным сообщением.

Да и еще у меня стоит как описано в даташите (в памяти при просмотре располагается как надо)

#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};

хотя ведут себя программы одинаково и при таком и при таком расскладе.

Share this post


Link to post
Share on other sites

В режиме отладки, когда идет работа с OCD естественно время выполнения будет больше.

Правда не на порядок.

Уточним, посмотрим

Share this post


Link to post
Share on other sites

Вебинар STM32G0 – новый лидер бюджетных 32-битных микроконтроллеров от STMicroelectronics

Компания Компэл приглашает вас 25 сентября принять участие в вебинаре, который посвящен новому семейству микроконтроллеров STM32G0. Вебинар рассчитан на технических специалистов и тех, кто хорошо знаком с семейством STM32. На вебинаре будут освоены современные методы тестирования производительности микроконтроллеров на примере самых бюджетных 32-битных семейств общего назначения STM32G0 и STM32F0 и проведено их подробное сравнение.

Подробнее

прошу прощения - панику поднял...

в настройках оборудования к отладчику - есть пункт Time Unit.

он как раз и задает величины по которым отсчитывается время.

так вот для симулятора считаются циклы, а для OCD выводится время в величинах которые мы установили...

у меня стояли наносекунды значит время выполнения процедуры fill в тактах 433233, а по времени 22600000 нс или 22,6 мс (миллисекунды).

все это даже лучше чем я ожидал...

:unsure:

Share this post


Link to post
Share on other sites
                     

Литиевые батарейки Fanso в беспроводных датчиках пожарно-охранной сигнализации

Выбор подходящего элемента питания, способного обеспечивать требуемый уровень напряжения и выдавать необходимый ток на протяжении всего периода эксплуатации беспроводной пожарно-охранной системы является одной из первостепенных задач. Наиболее подходящим для этих целей элементом являются литий-тионилхлоридные элементы питания, а одним из наиболее конкурентоспособных производителей – компания Fanso, предлагающая своим клиентам продукты как универсальные, так и разработанные специально для решения конкретных задач.

Подробнее...

Вообще следовало ожидать.

В этом процессоре есть конвеер, и однозначно сказать что столько-то команд=столько-то тактов не всегда можно.

В сложно-запутанной программе с кучей переходов, когда конвеер не работает, что-то подсчитать можно.

Share this post


Link to post
Share on other sites

так а как опытный человек что скажите по поводу OPTION?

почему такая разница?

Share this post


Link to post
Share on other sites

Вечером гляну в даташит.

Там должно быть побитовое описание.

Возможно что различающиеся биты в твоей программе не затрагиваются.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

×
×
  • Create New...