Компоненты и технологии • №2 '2011 компоненты


Потребление оперативной памяти



Pdf көрінісі
бет118/129
Дата28.09.2023
өлшемі4.1 Mb.
#478975
1   ...   114   115   116   117   118   119   120   121   ...   129
Kurniz

Потребление оперативной памяти
при использовании таймеров
Оперативная память, задействованная 
для программных таймеров, складывается 
из 3 составляющих:
1. Память, используемая задачей обслужива-
ния таймеров. Ее объем не зависит от ко-
личества таймеров в программе.
2. Память, используемая очередью команд 
программных таймеров. Ее объем также 
не зависит от количества таймеров.
3. Память, выделяемая для каждого вновь 
создаваемого таймера. В ней размещается 
структура управления таймером xTIMER
Объем этой составляющей пропорциона-
лен числу созданных в программе тайме-
ров.
Рассчитаем объем памяти, который потре-
буется для добавления в программу 10 про-
граммных таймеров. В качестве платформы 
выбран порт FreeRTOS для реального режи-
ма x86 процессора, который используется 
в учебных программах в этом цикле статей. 
Настройки ядра FreeRTOS идентичны на-
стройкам демонстрационного проекта, кото-
рый входит в дистрибутив FreeRTOS.
Память, используемая задачей обслужи-
вания таймеров, складывается из памяти, 
занимаемой блоком управления задачей 
tskTCB, — 70 байт и памяти стека, примем 
его равным минимальному рекомендованно-
му configMINIMAL_STACK_SIZE = 256 слов 
(16-битных), что равно 512 байт. В сумме по-
лучаем 70 + 512 = 582 байт.
Память, используемая очередью ко-
манд таймеров, складывается из памяти 
для размещения блока управления очере-
дью xQUEUE — 58 байт и памяти, в которой 
разместятся элементы очереди. Элемент оче-
реди команд представляет собой структуру 
типа xTIMER_MESSAGE, размер которой 
равен 8 байт. Пусть используется очередь 
длиной 10 команд, тогда для размещения их 
в памяти потребуется 810 = 80 байт. В сумме 
получаем 58+80 = 138 байт.
Каждый таймер в программе обслужива-
ется с помощью структуры управления тай-
мером xTIMER, ее размер составляет 34 байт. 
Так как таймеров в программе 10, то памяти 
потребуется 3410 = 340 байт.
Итого при условиях, оговоренных выше, 
для добавления в программу 10 програм-
мных таймеров потребуется 582+138+340 = 
= 1060 байт оперативной памяти.


Достарыңызбен бөлісу:
1   ...   114   115   116   117   118   119   120   121   ...   129




©dereksiz.org 2024
әкімшілігінің қараңыз

    Басты бет