Real Time OS

Reply to
Sergei Tuchinski
Loading thread data ...

А есть ли где глянуть примеры реализации обмена через CAN для какой либо RTOS. Хотя для ухватывания общей идеи алгоритмов?

--Vad--

Reply to
Vadim Babko

Hello Sergei,

AM> Почему кота в мешке. Исходники открыты - как раз перед покупкой можешь AM> опробовать, все взвесить и лишь потом тратить дельги.

ST> может они и открыты, но я почему-то не нашел, где :(

Для некоммерческих целей покупаешь книгу, с ней идет CD. Вложение мешьне $100 - для оценки вполне адекватные деньги. Не говоря уж о том, что по и-нету для оценки можно нарыть пиратских копий.

ST> на сайте за прайс(!) потребовали анкету заполнить. в каком штате я живу - ST> так и не придумал...

Я всегда считаю что штат применительно к России - область.

AM> PS: Да, кста.. для использовании в пределах одного семейства uC AM> лицензия стОит уже $20000, $2500 - это для одного конкретного типа AM> устройства. Если ты выпускаешь 4 разных типа, пусть на одном uC, то AM> лицензия будет стОить уже $2500*4, в общем не так дешево, как хотелось AM> бы.

ST> вот-вот. кстати, что понимается под "типом устройства"? надеюсь, хоть не ST> каждое изделие?

В смысле каждая штука - нет. uCOS ведь Royalty free. Тип - конкретное изделие, выпущенное определенным тиражем. Тираж не имеет значения, хоть 10, хоть 1 000 000. А вот лицензия должна приобретаться именно на использование uCOS в этом конкртеном виде изделия.

Reply to
Andy Mozzhevilov
Reply to
Sergei Tuchinski
Reply to
Sergei Tuchinski

AM> Для некоммерческих целей покупаешь книгу, с ней идет CD. Вложение AM> мешьне $100 - для оценки вполне адекватные деньги. Hе говоря уж о том, AM> что по и-нету для оценки можно нарыть пиратских копий.

ST> ясно. просто там (на сайте) нигде ничего про это толком не расписано

Почему не написано. Как раз указано, что для образовательных и некоммерческих целей лицензирования не требуется.

formatting link

AM> В смысле каждая штука - нет. uCOS ведь Royalty free. AM> Тип - конкретное изделие, выпущенное определенным тиражем. Тираж не AM> имеет значения, хоть 10, хоть 1 000 000. А вот лицензия должна AM> приобретаться именно на использование uCOS в этом конкртеном виде AM> изделия.

ST> нет, я не имел в виду штуки, ессно. но вот я, скажем, делаю 3 схожих по ST> функциям устройства с одним железом и разной прошивкой (и названием) - это 3 ST> типа или 1?

Не буду утверждать, но возможно это: Product Line Valid for any number of products within a 'product line', any number of units, for the life of the products in the product line. Examples of product lines are: Standard TVs, HDTVs, VCRs, DVD Players, Network Switches, Network Routers, etc. $15,000

Reply to
Andy Mozzhevilov

VB> А есть ли где глянуть примеры реализации обмена через CAN для какой либо VB> RTOS. Хотя для ухватывания общей идеи алгоритмов?

В общем случае драйвер CAN (да и хоть чего другого) лежит вне RTOS, он предназначен для абстракции пользователя от конкретного железа, чтобы следующий уровень сделать independent и писать в нем например что-то вроде: CanSlotSetStdId(2, 0x700) вместо работы с регистрами конкретного контроллера.

Reply to
Andy Mozzhevilov
Reply to
Sergei Tuchinski

Имелась ввиду вообще реализация обмена (в том числе и CAN) в системе RTOS. Например - отдельная задача вечно крутится на слипах на отправку/прием сообщений, а с другими общается путем флагов/семафоров/ящиков и т.д. или какие то другие реализации. Вот учебных примеров конкретно и не хватает... :(

Reply to
Vadim Babko

VB> Имелась ввиду вообще реализация обмена (в том числе и CAN) в системе VB> RTOS. Например - отдельная задача вечно крутится на слипах на VB> отправку/прием сообщений, а с другими общается путем VB> флагов/семафоров/ящиков и т.д. или какие то другие реализации. VB> Вот учебных примеров конкретно и не хватает... :(

Пример 1. Происходит прерывание приема по CAN, в прерывании постится семафор, или mbox, или берется память в разделе - принятый пакет копируется в нее и кладется в queue. Задача находится в ожидании семафора и т.п.

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

В моей системе примерно так реализован HAL CAN Kingdom.

Reply to
Andy Mozzhevilov
Reply to
Alex Mogilnikov
Reply to
Alex Mogilnikov
Reply to
Sergei Tuchinski
Reply to
Alex Mogilnikov

ST> специально проверил :) ST> нет, полный комплект есть только в одном, при этом версия 2.00 - ST> раньше, чем у меня валялась скачанная в 2000 году

AM> Когда-то там была версия 2.51 и не в одном.

Не встречал.

AM> Если надо, пиши мылом. А AM> вообще-то, какая сейчас текущая? Давно не интересовался...

2.7х
Reply to
Andy Mozzhevilov
Reply to
Sergei Tuchinski

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.