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

 
 
> Пишу ОС РВ, Вот пишу ОС Реального времени, у какого какие предложения? пожелания?
ddiimmaa
сообщение Jan 27 2009, 22:58
Сообщение #1


Участник
*

Группа: Validating
Сообщений: 27
Регистрация: 12-12-08
Из: Ижевск
Пользователь №: 42 419



Знаю, знаю дело не шибко благодарное. И люди могут тухлыми помидорами закидать. "Мол зачем ещё одна ОС?". Развелось тут понимаешь ОСеписателей.

В своё время был без ума от FreeRTOS. И всем она казалась хороша. Однако, покопавшись понял, что можно сделать немного по другому и немного лучше.

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

Исходя из выше сказанного -- никаких POSIX, ну и сфера применения МК с ОЗУ от 512 до 256кбайт (ну выше там наверно что другое пойдёт).

У кого какие пожелания?

Наставления?

Мнения?

Вопросы?

что вы скажете по поводу выбора лиценции?

Что кому нравиться не нарвиться в их осях?


--------------------
Вот пишу ОС, может кому пригодиться ;-)
скачайте http://sourceforge.net/projects/irtos/
и вот сайт ещё http://irtos.sourceforge.net/
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Rst7
сообщение Jan 28 2009, 11:35
Сообщение #2


Йа моск ;)
******

Группа: Модераторы
Сообщений: 4 345
Регистрация: 7-07-05
Из: Kharkiv-city
Пользователь №: 6 610



Цитата
LR? А если это не ARM?


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


--------------------
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредственной действительности." - В.И. Ленин
Go to the top of the page
 
+Quote Post
VslavX
сообщение Jan 28 2009, 11:58
Сообщение #3


embarrassed systems engineer
*****

Группа: Свой
Сообщений: 1 083
Регистрация: 24-10-05
Из: Осокорки
Пользователь №: 10 038



Цитата(Rst7 @ Jan 28 2009, 13:35) *
А ассерты - это другой разговор.

Дык, assert - для примера только. smile.gif Я текст с alloc() сразу поленился выложить. Так лучше?
Код
#if (DEBUG == 0)
#define MM_Alloc( a, b)                         \
        MM_AllocFree( a, b)
#else
#define MM_Alloc( a, b)                         \
        MM_AllocDebug( a, b, __LINE__, __FILE__)
#endif

А вот реализация:
Код
PVOID __stdcall
MM_AllocDebug
(
    DWORD   Size,           // size of chunk in bytes
    BOOL    bPaged,         // pageble or nonpageable flag
    DWORD   Line,           // source line number
    PCHAR   File            // source file name
)
{
    PMEM_BLOCK Result;

    Result = (PMEM_BLOCK)_HeapAllocate(
                    Size + sizeof(MEM_BLOCK),
                    bPaged ? HEAPSWAP : 0);
    if (Result == NULL)
    {
        dprintf(PFX "Memory allocation failed\n");
        return NULL;
    }
    
    Result->Size = Size;
    Result->Line = Line;
    Result->File = File;

    Pushfd();
        //
        // First write may cause paging, so we need to
        // disable interrupts again and do operation again.
        // It is not good idea to use the synchronization
        // objects here (it is merely for debug purposes
        // and is potentially dangerous - may cause the
        // deadlock)
        //
        Result->Next = memHeadList;
        Cli();
        Result->Next = memHeadList;
        memHeadList = Result;
    Popfd();
    return &Result->Data[0];
}


Подход очень неплох - когда завершаемся - можно пробежать по списку неосвобожденной памяти и сразу ответить на вопрос "кто виноват". Но есть и минус - когда делаем MM_Free - надо пробежать по списку, найти блок (если не нашли - тоже класс - сразу assert), и удалить из списка. Когда таких блоков много и частые alloc/free - список тормозит. Но для отладки - самое оно.
А в embedded я стараюсь "кучу" не пользовать - у меня обычно ясно сколько объектов будет "в деле" - для них пул блоков фиксированной длины пользуется - в TN Kernel под это дело даже системные вызовы сделаны.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- ddiimmaa   Пишу ОС РВ   Jan 27 2009, 22:58
- - sergeeff   Это для общего развития или сейчас творческий прос...   Jan 28 2009, 00:35
|- - ddiimmaa   Цитата(sergeeff @ Jan 28 2009, 04:35) Это...   Jan 28 2009, 17:15
|- - zltigo   Цитата(ddiimmaa @ Jan 28 2009, 20:15) Мож...   Jan 28 2009, 17:39
|- - VslavX   Посмотрите TN Kernel Написана на чистом C, "п...   Jan 28 2009, 17:42
|- - ddiimmaa   Цитата(VslavX @ Jan 28 2009, 21:42) Посмо...   Jan 28 2009, 20:47
|- - VslavX   Цитата(ddiimmaa @ Jan 28 2009, 22:47) пос...   Jan 28 2009, 23:29
|- - AlexandrY   В RL ARM у TCB размер 12 слов, а по функционалу о...   Jan 29 2009, 11:44
||- - VslavX   Цитата(AlexandrY @ Jan 29 2009, 13:44) В ...   Jan 29 2009, 16:02
|- - ddiimmaa   Цитата(VslavX @ Jan 29 2009, 03:29) Ужима...   Jan 29 2009, 20:40
|- - zltigo   Цитата(ddiimmaa @ Jan 29 2009, 23:40) Стр...   Jan 29 2009, 20:56
||- - ddiimmaa   Цитата(zltigo @ Jan 30 2009, 00:56) Потом...   Jan 29 2009, 22:14
||- - zltigo   Цитата(ddiimmaa @ Jan 30 2009, 01:14) И р...   Jan 29 2009, 23:29
|- - VslavX   Цитата(ddiimmaa @ Jan 29 2009, 22:40) Стр...   Jan 30 2009, 08:16
|- - AlexandrY   Что то непонятны ваши потуги интуитивно выразить ...   Jan 30 2009, 09:43
|- - VslavX   Цитата(AlexandrY @ Jan 30 2009, 11:43) Чт...   Jan 30 2009, 13:08
|- - ddiimmaa   Цитата(VslavX @ Jan 30 2009, 17:08) топик...   Jan 31 2009, 01:20
|- - VslavX   Цитата(ddiimmaa @ Jan 31 2009, 03:20) но ...   Jan 31 2009, 07:55
|- - AlexandrY   Да, тема портирования высокомерно замалчивается, х...   Jan 31 2009, 11:18
|- - AlexandrY   Кстати копнув глубже в архитектуру ARMv7-M (ядро C...   Feb 1 2009, 19:44
|- - ddiimmaa   Цитата(AlexandrY @ Jan 31 2009, 15:18) На...   Feb 3 2009, 08:51
|- - aaarrr   Цитата(ddiimmaa @ Feb 3 2009, 11:51) а на...   Feb 3 2009, 09:12
|- - ddiimmaa   Цитата(aaarrr @ Feb 3 2009, 13:12) Сильно...   Feb 4 2009, 20:37
|- - aaarrr   Цитата(ddiimmaa @ Feb 4 2009, 23:37) А се...   Feb 4 2009, 20:48
|- - ddiimmaa   Цитата(aaarrr @ Feb 5 2009, 00:48) Это за...   Feb 6 2009, 17:38
|- - aaarrr   Цитата(ddiimmaa @ Feb 6 2009, 20:38) Дааа...   Feb 6 2009, 17:51
||- - ddiimmaa   Цитата(aaarrr @ Feb 6 2009, 21:51) Сначал...   Feb 14 2009, 14:17
||- - aaarrr   Цитата(ddiimmaa @ Feb 14 2009, 17:17) В т...   Feb 14 2009, 14:57
||- - ddiimmaa   Цитата(aaarrr @ Feb 14 2009, 18:57) Компи...   Feb 14 2009, 20:47
||- - aaarrr   Цитата(ddiimmaa @ Feb 14 2009, 23:47) Или...   Feb 14 2009, 21:54
||- - ddiimmaa   Вчера я выложил в Интернет более менее работаюшую ...   Feb 15 2009, 14:39
|- - VslavX   Цитата(ddiimmaa @ Feb 6 2009, 19:38) miTR...   Feb 7 2009, 07:56
|- - dxp   Цитата(VslavX @ Feb 7 2009, 13:56) Имхо, ...   Feb 7 2009, 14:32
|- - AlexandrY   Обратно никогда не хочется! Став все время раб...   Feb 7 2009, 14:57
|- - VslavX   Цитата(AlexandrY @ Feb 7 2009, 16:57) Обр...   Feb 7 2009, 23:09
|- - yuri_t   IMXO, у С++ наиболее полезные вещи -это наследован...   Feb 8 2009, 08:00
- - MrYuran   А scmRTOS? Вроде бы как раз, для дохленьких контро...   Jan 28 2009, 05:40
- - AlexandrY   Ну покажите класс. Кто вас знает, мож вы гений. ...   Jan 28 2009, 07:40
|- - zltigo   Цитата(AlexandrY @ Jan 28 2009, 10:40) Вт...   Jan 28 2009, 09:09
- - Rst7   Цитатавсего-то в Memory Control Block менежера пам...   Jan 28 2009, 09:14
|- - VslavX   Цитата(Rst7 @ Jan 28 2009, 11:14) LR еще ...   Jan 28 2009, 11:26
||- - _Pasha   Цитата(VslavX @ Jan 28 2009, 15:58) Подхо...   Jan 28 2009, 12:31
|- - zltigo   Цитата(Rst7 @ Jan 28 2009, 14:35) Ну адре...   Jan 28 2009, 13:38
|- - VslavX   Цитата(zltigo @ Jan 28 2009, 15:38) Так я...   Jan 28 2009, 13:55
|- - zltigo   Цитата(VslavX @ Jan 28 2009, 16:55) Напри...   Jan 28 2009, 14:04
|- - VslavX   Цитата(zltigo @ Jan 28 2009, 16:04) Значи...   Jan 28 2009, 14:38
- - Rst7   ЦитатаПодход очень неплох - когда завершаемся - мо...   Jan 28 2009, 12:04
|- - VslavX   Цитата(Rst7 @ Jan 28 2009, 14:04) минимал...   Jan 28 2009, 12:17
- - Rst7   ЦитатаА как Вы ищете потом процедуру по этому адре...   Jan 28 2009, 12:28
|- - VslavX   Цитата(Rst7 @ Jan 28 2009, 14:28) В IDA п...   Jan 28 2009, 12:42
- - Rst7   ЦитатаА для IAR-а тоже сработает? Ага. 4.42 точно...   Jan 28 2009, 12:43
- - Rst7   Цитатадля текущей задачи задачи известен указатель...   Jan 28 2009, 13:41
|- - zltigo   Цитата(Rst7 @ Jan 28 2009, 16:41) Я не оч...   Jan 28 2009, 13:46
- - Rst7   ЦитатаТогда при вызове malloc у меня можно явно ук...   Jan 28 2009, 13:53
- - Rst7   Плохо только то, что армовский IAR почему-то не ск...   Jan 28 2009, 13:57
|- - VslavX   Цитата(Rst7 @ Jan 28 2009, 15:57) Плохо т...   Jan 28 2009, 14:24
- - Rst7   ЦитатаПопробуйте применить к функции модификатор s...   Jan 28 2009, 14:27
- - Rst7   ЦитатаА функции, да, не конкатенирует Дык я об эт...   Jan 28 2009, 14:43
- - sergeeff   Многие признают, что scmRTOS для микропроцессоров ...   Feb 6 2009, 17:52


Reply to this topicStart new topic
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 


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


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