реклама на сайте
подробности

 
 
11 страниц V  « < 3 4 5 6 7 > »   
Reply to this topicStart new topic
> Вышла FreeRTOS V4.0.5 ... 8.2.3, проект прогрессирует!
zltigo
сообщение Mar 31 2008, 06:31
Сообщение #61


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(sla000 @ Mar 31 2008, 05:47) *
..код для оценки использования кучи FreeRTOS..

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


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
klen
сообщение Mar 31 2008, 14:24
Сообщение #62


бессмертным стать можно тремя способами
*****

Группа: Свой
Сообщений: 1 405
Регистрация: 9-05-06
Из: Москва
Пользователь №: 16 912



Цитата(zltigo @ Mar 31 2008, 09:31) *
Менеджеры памяти первыми у меня пошли под нож. То, что в комплекте вообще не менежеры и "заглушки" - нет даже элементарно реализуемых вещей, вроде склейки свободных блоков в один, вообще списка занятых блоков, управления памятью в нескольких первичных блоках, захвата всей свободной памяти, ...


я подумал что это специально так сделано. чтоб самому быстренько доделывать. Склейка вроде бы есть, но я ее всеравно сам сделел. Потом понял что для моих задач менежмент памяти вообще не нужен. проще оказалось все сразу впихнуть в озу и жить с этим.
Go to the top of the page
 
+Quote Post
zltigo
сообщение Apr 1 2008, 20:58
Сообщение #63


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(klen @ Mar 31 2008, 17:24) *
Потом понял что для моих задач менежмент памяти вообще не нужен.

Грамотный менеджмент памяти полезен всегда, даже если память динамически не освобождается. Банально посмотреть на кто сколько памяти скушал и, например, покопаться по очередям/буферам не имея листинга для этой конкретной сборки, контексты задач/стеки видны...


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
zltigo
сообщение Apr 5 2008, 20:21
Сообщение #64


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Официальная декларация фич появилась:
Changes between V4.7.2 and V4.8.0 released March 26 2008

+ Added a Virtex4 PowerPC 405 port and demo application.
+ Added optional stack overflow checking and new
uxTaskGetStackHighWaterMark() function.
+ Added new xQueueIsQueueEmptyFromISR(), xQueueIsQueueFullFromISR() and
uxQueueMessagesWaitingFromISR() API functions.
+ Efficiency improvements to the Cortex-M3 port layer. NOTE: This
requires that an SVC handler be installed in the application.
+ Efficiency improvements to the queue send and receive functions. <--- Этим стоит воспользоваться
+ Added new trace macros. These are application definable to provide
a flexible trace facility.
+ Implemented the configKERNEL_INTERRUPT_PRIORITY within the Keil Cortex
M3 port layer (bringing it up to the same standard as the IAR and GCC
versions).
+ Ports that used the arm-stellaris-eabi-gcc tools have been converted to
use the arm-non-eabi-gcc tools.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
Alechek
сообщение Apr 7 2008, 12:13
Сообщение #65


Профессионал
*****

Группа: Свой
Сообщений: 1 241
Регистрация: 15-11-05
Из: Челябинск
Пользователь №: 10 882



Выложил обновленнную копию сайта с API на фтп
Go to the top of the page
 
+Quote Post
zltigo
сообщение Apr 17 2008, 10:46
Сообщение #66


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Версия обозванная 5.0.0 официально объявилась

+ Stack overflow checking.
+ Powerful kernel trace macros.
+ Task hook functions.

Other news:

+ A port and demo application are now provided for the Xilinx Virtex4 PowerPC.
+ For the second year running, FreeRTOS.org will be presenting classes at the Microchip Masters Worldwide Conference in Phoenix, Az.
+ OpenRTOS licensing is now available on a product line basis - simplifying further the administration for those requiring commercial licenses, development or support.

Go to http://www.FreeRTOS.org for full information.


*** VERY IMPORTANT INFORMATION ON UPGRADING TO FREERTOS.ORG V5.0.0 ***

The parameters to the functions xQueueSendFromISR(), xQueueSendToFrontFromISR(), xQueueSendToBackFromISR() and xSemaphoreGiveFromISR() have changed. You must update all calls to these functions to use the new calling convention! Your compiler might not issue any type mismatch warnings!

See http://www.FreeRTOS.org/upgrading.html for full information.

It is understood that this change may cause some minor inconvenience. The change has been made in response to numerous change requests, and makes this family of API functions consistent with the calling convention used by xQueueReceiveFromISR(). I hope you agree that the benefits outweigh the inconvenience.

***Remember*** - all calls to xQueueSendFromISR(), xQueueSendToFrontFromISR(), xQueueSendToBackFromISR() and xSemaphoreGiveFromISR() MUST be updated to use the new calling convention.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
zltigo
сообщение Jun 1 2008, 07:24
Сообщение #67


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



V5.0.2
+ Updated the PIC32 port to allow queue API calls to be used from
interrupts above the kernel interrupt priority, and to allow full
interrupt nesting. Task stack usages has also been reduced.
+ Added a new PowerPC port that demonstrates how the trace macros can be
used to allow the use of a floating point co-processor. The
traceTASK_SWITCHED_OUT() and traceTASK_SWITCHED_INT() macros are used to
save and restore the floating point context respectively for those tasks
that actually use floating point operations.
+ BUG FIX: The first PPC405 port contained a bug in that it did not leave
adequate space above the stack for the backchain to be saved when a task
started to execute for the first time.
+ Updated queue.c to add in the means to allow interrupt nesting and for
queue API functions to be called from interrupts that have a priority
above the kernel priority. This is only supported on PIC32 ports thus
far.
+ Fixed the compiler warnings that were generated when the latest version
of WinAVR was used.
+ Remove all inline usage of 'inline' from the core kernel code.
+ Added the queue registry feature. The queue registry is provided as a
means for kernel aware debuggers to locate queue definitions. It has no
purpose unless you are using a kernel aware debugger. The queue registry
will only be used when configQUEUE_REGISTRY_SIZE is greater than zero.
+ Added the ST Cortex-M3 drivers into the Demo/Common/Drivers directory to
prevent them from having to be included in multiple demos.
+ Added a Keil STM32 demo application.
+ Changed the blocktim.c test files as it is no longer legitimate for all
ports to call queue API functions from within a critical section.
+ Added the IntQueue.c test file to test the calling of queue API functions
from different interrupt priority levels, and test interrupt nesting.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
klen
сообщение Jun 1 2008, 08:29
Сообщение #68


бессмертным стать можно тремя способами
*****

Группа: Свой
Сообщений: 1 405
Регистрация: 9-05-06
Из: Москва
Пользователь №: 16 912



это хорошо
за что я люблю FreeRTOS?
за то что она как пластилин - изогнуть мехом вов нутрь можно
Go to the top of the page
 
+Quote Post
cpl
сообщение Jun 29 2008, 17:35
Сообщение #69


Местный
***

Группа: Свой
Сообщений: 378
Регистрация: 6-12-04
Пользователь №: 1 340



Цитата(zltigo @ Feb 29 2008, 20:11) *
P.S.
Я, лично, использую операционные системы для экономии памяти, а не наоборот.


Поясните пожалуйста, как это ?
В чем экономия в отличии от системы без ОС ? wacko.gif
Go to the top of the page
 
+Quote Post
AVR
сообщение Jun 29 2008, 23:04
Сообщение #70


фанат Linux'а
*****

Группа: Свой
Сообщений: 1 353
Регистрация: 23-10-05
Из: SPB.RU
Пользователь №: 10 008



Цитата(cpl @ Jun 29 2008, 21:35) *
Поясните пожалуйста, как это ?
В чем экономия в отличии от системы без ОС ? wacko.gif
Да, мне тоже интересно, где экономия памяти... Но одно можно сказать, время ОЧЕНЬ экономится - а это порой ещё важнее чем несчастные сэкономленные килобайты памяти...


--------------------
Go to the top of the page
 
+Quote Post
zltigo
сообщение Jul 1 2008, 16:26
Сообщение #71


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(AVR @ Jun 30 2008, 01:04) *
Да, мне тоже интересно, где экономия памяти...

У меня экономия памяти на задачах которые в данный момент не работают (совсем не работают - не созданы) и задачах количество которых меняется в заисимости от конфигурации. Например, задача начальной инициализации отрабатывает и умирает навсегда. Задачи калибровок и самодиагностики работают (cуществуют) только тогда, когда не запущена задача консоли оператора,....


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
Desenix
сообщение Jul 2 2008, 18:20
Сообщение #72


Частый гость
**

Группа: Новичок
Сообщений: 111
Регистрация: 23-06-04
Пользователь №: 141



с данной ОС совсем не знаком, но тут прочитал что у нее есть менеджер памяти, а кто нибудь может кратенько объяснить как он устроен ? я не представляю себе такой менеджер без поддержки MMU в процессоре. Ведь фрагментация возникать должна, а как с ней бороться ? если указатели уже розданы задачам.
PS: подумываю об использовании ОС.
Go to the top of the page
 
+Quote Post
zltigo
сообщение Jul 2 2008, 18:59
Сообщение #73


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(Desenix @ Jul 2 2008, 20:20) *
..а кто нибудь может кратенько объяснить как он устроен ?

Проще посмотреть исходник там несколько десятков строчек. Все минималистично до безобразия - надо использовать более сложный со склейкой освобожденных блоков и поиском более подходящих а не первого попавшегося. С дефрагментацией бороться только организационно - запрос блоков памяти фиксированных размеров, проход через освобождение нескольких последних выделенных блоков....


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
Desenix
сообщение Jul 2 2008, 19:17
Сообщение #74


Частый гость
**

Группа: Новичок
Сообщений: 111
Регистрация: 23-06-04
Пользователь №: 141



по поводу фрагментации, у меня еще мысль возникла, если использовать не просто прямой указатель на блок памяти, а указатель на указатель. Тогда второй(системный) можно перемещать вместе с блоком памяти, а первый(пользовательский) изменятся не будет. Правда все это надо учесть при написании кода.
Go to the top of the page
 
+Quote Post
cpl
сообщение Jul 2 2008, 19:22
Сообщение #75


Местный
***

Группа: Свой
Сообщений: 378
Регистрация: 6-12-04
Пользователь №: 1 340



Цитата(zltigo @ Jul 1 2008, 20:26) *
У меня экономия памяти на задачах которые в данный момент не работают (совсем не работают - не созданы) и задачах количество которых меняется в заисимости от конфигурации. Например, задача начальной инициализации отрабатывает и умирает навсегда. Задачи калибровок и самодиагностики работают (cуществуют) только тогда, когда не запущена задача консоли оператора,....


Тепрь понятно что имелось в виду, Выжимка из всего что есть....
Go to the top of the page
 
+Quote Post

11 страниц V  « < 3 4 5 6 7 > » 
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 5th July 2025 - 05:47
Рейтинг@Mail.ru


Страница сгенерированна за 0.01512 секунд с 7
ELECTRONIX ©2004-2016