Перейти к содержанию
    

Вышла FreeRTOS V4.0.5 ... 8.2.3

А куда именно.

Да там уже достаточно старый документ, даже не 4.5 и сделан не слишком аккуратно. Пора заново сдирать.

 

Добавилось для 4.7.2:

+ Added Fujitsu MB91460 port and demo.

+ Added Fujitsu MB96340 port and demo.

+ Tidied up the capitalisation of include files to facilitate builds on

Linux hosts.

+ Removed some redundant casting that was generating warnings - but was

included to remove warnings on other compilers.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Да там уже достаточно старый документ, даже не 4.5 и сделан не слишком аккуратно. Пора заново сдирать.

Ну... может кто-нибудь сможет сделать. :blush:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ну... может кто-нибудь сможет сделать. :blush:

Ну так, если Вам нужно, то и скачайте сайт, отредактируйте, индексируйте и распечатайте на PDF принтер :). Работа дурная, но не сложная можно сделать в качестве отдыха. Когда-то делал, когда нужно было совсем инертный народ направить на путь истинный :). А а общем-то там достаточно самодокументированные *.h файлы, а все остальное разок в интернете прочитать хватит.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Да там уже достаточно старый документ, даже не 4.5 и сделан не слишком аккуратно. Пора заново сдирать.

Надо? Сделаем! :)

upload/OS/FreeRTOS/FreeRTOS_API(site)_4.7.2.chm

 

А насчет аккуратности это по большему счеты не ко мне..

За 35$ как я понимаю, можно получить то же самое :)

FreeRTOS Documentation

You can purchase an exact copy of this entire WEB site as a single Windows help file (.chm file) - a convenient way of viewing all the documentation on your local computer.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А насчет аккуратности это по большему счеты не ко мне..

Извините, это я не в смысле того, что делать было не надо! Спасибо, может пригодиться!

Что там у Автора - не знаю, но просто копия сайта на нормальный документ не особо тянет :( - много лишнего, но ни оглавления нормального, ни поиска, ...... Когда делал PDF пришлось довольно много муторной работы делать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Согласен, на нормальный документ не тянет. Но лучше что-то чем ничего - инет не всегда бывает под рукой и не всегда с отличной скоростью. К тому же, как правильно было замечено, иногда достаточно прочитать лишь один раз...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Надо? Сделаем! :)

upload/OS/FreeRTOS/FreeRTOS_API(site)_4.7.2.chm

Спасибо большое.

Хотя уже не надо :crying: Автор eval board, которую мы будем использовать, утверждает, что с их web сервером и поддержкой FAT влезет ещё буквально пара задач с минимальным стеком и всё. А при обычном программировании всё влезает с запасом, а посему рекомендует freeRTOS не использовать. А хочется использовать обе эти фичи.

Eval board на базе LPC2138 с 32к ОЗУ.

 

А насчет аккуратности это по большему счеты не ко мне..

За 35$ как я понимаю, можно получить то же самое :)

Не исключено :wacko:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А при обычном программировании всё влезает с запасом, а посему рекомендует freeRTOS не использовать.

Дивная рекомендация :) прямые неизбежные затраты памяти на задачу в моей реализации FreeRTOS можно свести к TCB 56(пятьдесят шесть байт) + контекст. Стек, он по любому стек. В родной реализации TCB на 8-16 байтов поболее. Это конечно, ставит жирный крест :) на использовании операционных систем :) :) :)

Попытки хоть как-то приемлимо заставить работать TCP/IP стек при "обычном программировании" тоже требуют реурсов памяти. Файловая система вообще к количеству задач в общем случае никакого отношения не имеет...

Автор eval board..

Не этой платы?:

http://forum.ixbt.com/topic.cgi?id=48:6017

И не этот разработчик?

http://electronix.ru/forum/index.php?showt...905&hl=heap

 

P.S.

Я, лично, использую операционные системы для экономии памяти, а не наоборот.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Точу FreeRTOS :)

 

Было

#define portDISABLE_INTERRUPTS()    __disable_interrupt()
#define portENABLE_INTERRUPTS()        __enable_interrupt()
#define portENTER_CRITICAL()        vPortEnterCritical()
#define portEXIT_CRITICAL()            vPortExitCritical()

void vPortEnterCritical( void )
{
    __disable_interrupt();
    ....
}
/*-----------------------------------------------------------*/

void vPortExitCritical( void )
{
    ...
            __enable_interrupt();
}

 

Стало

#include "irq.h"

#define portDISABLE_INTERRUPTS()    my_disable_IRQ()
#define portENABLE_INTERRUPTS()        my_enable_IRQ()
#define portENTER_CRITICAL()        vPortEnterCritical()
#define portEXIT_CRITICAL()            vPortExitCritical()

void vPortEnterCritical( void )
{
    portDISABLE_INTERRUPTS();
   ....
}
/*-----------------------------------------------------------*/

void vPortExitCritical( void )
{
            ....
            portENABLE_INTERRUPTS();
}

 

my_disable_IRQ() и my_enable_IRQ() взял из scmRTOS :) Если это правильно, может, об этом надо сказать Автору?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ну и в чём суть двойного переопределения?

На мой взгляд было лучше.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Стало

Ну и какого, абсолютно нормальные intrinsic functions были заменены некими самоделками? У меня есть, например свои варианты критических секций - без запрещения FIQ, или без глобального счетчика вложенности критических секций. А Ваша цель-то какая?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А Ваша цель-то какая?

 

Раньше сбивалось, а теперь не сбивается - тот вариант что был запрещает FIQ.

 

без запрещения FIQ

 

Теперь у меня тоже не запрещает FIQ.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

4.8.0 Полуофициальная нарисовалась.

http://mesh.dl.sourceforge.net/sourceforge...eRTOSV4.8.0.zip

Документации нет. Изменения внутри существенные, снаружи мелочи. Надо исходники вычитывать...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Изменения внутри существенные, снаружи мелочи. Надо исходники вычитывать...

Интересненько... будем лопатить..

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Оцените плиз мой код для оценки использования кучи FreeRTOS, родных функций для этого я не нашел. Этот код я вставил в heap_2.c:

 

/// Свободная куча
static uint32 FreeHeap;

/// Минимальное свободное место в куче
static uint32 FreeHeapMin = 0xFFFFFFFF;

/// Узнать минимальный размер свободного места в куче
uint32 GetFreeHeapMin( void )
{
    return FreeHeapMin;
}

/// Обновить размер текущей кучи
uint32 GetFreeHeap( void )
{
    xBlockLink * pblock;

    // указывает на стартовый блок
    pblock = &xStart;

    FreeHeap = 0;

    while( pblock != &xEnd )
    { // пока не наткнулись на xEnd
        FreeHeap += pblock->xBlockSize;
        pblock = pblock->pxNextFreeBlock;
    }

    if( FreeHeap < FreeHeapMin )
    { // Нашли минимум свободного места в куче
        FreeHeapMin = FreeHeap;
    }

    return FreeHeap; 
}

 

GetFreeHeap() вставил в конце функций prvHeapInit(), pvPortMalloc() и vPortFree(). После этого просто периодически вызываю GetFreeHeapMin() каждые секунд 5 и вывожу в DBGU (Юзаю порт FreeRTOS для ARM).

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...