|
|
  |
FreeRTOS and Nucleus (Mentor) |
|
|
|
May 12 2011, 12:27
|

Ally
     
Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050

|
Цитата(RCray @ May 12 2011, 14:56)  Стоит вопрос возможности использования обеих ОСей на кристалле. Кроме собственно ОСей в ROM'е кристалла есть драйвера периферии и собственно самого чипа. Кроме этого в RAM'е будут приложения пользователя, которые он пишет под определённую ОС. С каких это пор у FreeRTOS есть драйвера? У нуклеуса тоже их механизм драйверам с натяжкой только назвать можно. И какому простому юзеру интересны сервисы самого ядра оси? Интересен прикладной фреймворк. Какие либы, какие стеки, какие GUI. С этой точки зрения эти две оси вооще не сравнимы.
|
|
|
|
|
May 12 2011, 15:21
|

Ally
     
Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050

|
Цитата(RCray @ May 12 2011, 16:22)  я не говорил, что ОСи содержат драйвера, я говорил, что ROM чипа будет содержать драйвера.
А по поводу сервисов ядра для пользователя: кто будет за пользователя создавать потоки, планировать для них приоритеты, осуществлять обмен данными между потоками и их синхронизацию? Не , ну мне просто интересно как несчастный юзер будет работать со всеми этими сервисами нативной оси если не будет знать что вы там наворотили в "драйверах"? Сколько у вас осталось места для потоков, сколько для ивентов, сколько семафоров и т.д. Или ваши "драйвера" сами не используют сервисов оси? Когда юзеру дают фреймвок уже запрограммированный в железе, то ему надо сделать песочницу. К реальным сервисам оси допускать нельзя. Любой вызов функций фреймворка юзером должен сопровождаться проверками на отсутствие конфликтов с работой ядра, его ресурсами и проч. Нельзя давать юзеру играть приоритетами и очередями задач. И т.д. Причем юзеру будет глубоко безразлично что там FreeRTOS или что другое. Проще тогда уж портировать .NET Micro Framework поверх выбранной RTOS. И это будет идеологически правильно.
|
|
|
|
|
May 13 2011, 12:33
|

Ally
     
Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050

|
Цитата(RCray @ May 13 2011, 13:33)  Смотрю вот драйвера, которые идут с FreeRTOS'ом - файл drivers/ST/STM32F10xFWLib/src/stm32fxxx_eth.c Ну рассмешили.  )) Какие же это драйвера. Это кривые студенческие либы написанные в Тунисе и выдаваемые ST за некий HAL уровень. Набитые багами под завязку. Проще мануал на проц запомнить наизусть чем понять дикую логику тех парней которые придумали такое API. Если приглядитесь, то увидите там кучу мест с задержками на программных опросах. В тех либах вообще нет ни одной процедуры заточенной под RTOS. Во FreeRTOS эти либы притянуты за уши. Если еще более вникните в тему, то узнаете, что в TCP стеках FreeRTOS и нуклеуса абсолютно разная структура сетевых буферов. Т.е. в принципе нельзя заюзать процедуры работы с Ethernet пакетами от LwIP для нуклеуса. Т.е. как я понимаю хотели поговорить о RTOS, а все равно перешли на middleware. Ну и моя мысль остается тогда актуальной, middleware этих осей абсолютно несовместимо и совмещать их бессмысленно.
|
|
|
|
|
May 13 2011, 18:44
|

Ally
     
Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050

|
Цитата(RCray @ May 13 2011, 17:18)  Александр, спасибо, что участвуете в дискуссии. Любым драйвером периферии или middleware на основе этого драйвера, который бы использовал во всю API Nucleus'а не поделитесь? Так дело в том, что драйверов под RTOS у меня нет. Я не делаю HAL, потому как в малых системах он совершенно не нужен и надуман. А потому работа с одной и той же периферией у меня может производится из разных мест программы. Т.е. даже выделить набор подпрограмм относящихся к определенной периферии из многомегабайтных исходников почти нереально, все сильно переплетено. Эти переплетения и вам не дадут написать "драйвера", либо вы так ограничите возможности платформы, что там останется только вывод в UART c приемлемой эффективностью.
|
|
|
|
|
May 14 2011, 05:57
|
Частый гость
 
Группа: Свой
Сообщений: 170
Регистрация: 14-09-05
Из: Suwon
Пользователь №: 8 548

|
Цитата(AlexandrY @ May 13 2011, 22:44)  Так дело в том, что драйверов под RTOS у меня нет. Я не делаю HAL, потому как в малых системах он совершенно не нужен и надуман. А потому работа с одной и той же периферией у меня может производится из разных мест программы. Т.е. даже выделить набор подпрограмм относящихся к определенной периферии из многомегабайтных исходников почти нереально, все сильно переплетено. Эти переплетения и вам не дадут написать "драйвера", либо вы так ограничите возможности платформы, что там останется только вывод в UART c приемлемой эффективностью. Т.е. у вас неподдерживаемый лапша-код?
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|