- Vote on answer
- posted
20 years ago
Real Time OS
- Vote on answer
- posted
20 years ago
А есть ли где глянуть примеры реализации обмена через CAN для какой либо RTOS. Хотя для ухватывания общей идеи алгоритмов?
--Vad--
- Vote on answer
- posted
20 years ago
- Vote on answer
- posted
20 years ago
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 в этом конкртеном виде изделия.
- Vote on answer
- posted
20 years ago
- Vote on answer
- posted
20 years ago
- Vote on answer
- posted
20 years ago
AM> Для некоммерческих целей покупаешь книгу, с ней идет CD. Вложение AM> мешьне $100 - для оценки вполне адекватные деньги. Hе говоря уж о том, AM> что по и-нету для оценки можно нарыть пиратских копий.
ST> ясно. просто там (на сайте) нигде ничего про это толком не расписано
Почему не написано. Как раз указано, что для образовательных и некоммерческих целей лицензирования не требуется.
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
- Vote on answer
- posted
20 years ago
VB> А есть ли где глянуть примеры реализации обмена через CAN для какой либо VB> RTOS. Хотя для ухватывания общей идеи алгоритмов?
В общем случае драйвер CAN (да и хоть чего другого) лежит вне RTOS, он предназначен для абстракции пользователя от конкретного железа, чтобы следующий уровень сделать independent и писать в нем например что-то вроде: CanSlotSetStdId(2, 0x700) вместо работы с регистрами конкретного контроллера.
- Vote on answer
- posted
20 years ago
- Vote on answer
- posted
20 years ago
Имелась ввиду вообще реализация обмена (в том числе и CAN) в системе RTOS. Например - отдельная задача вечно крутится на слипах на отправку/прием сообщений, а с другими общается путем флагов/семафоров/ящиков и т.д. или какие то другие реализации. Вот учебных примеров конкретно и не хватает... :(
- Vote on answer
- posted
20 years ago
VB> Имелась ввиду вообще реализация обмена (в том числе и CAN) в системе VB> RTOS. Например - отдельная задача вечно крутится на слипах на VB> отправку/прием сообщений, а с другими общается путем VB> флагов/семафоров/ящиков и т.д. или какие то другие реализации. VB> Вот учебных примеров конкретно и не хватает... :(
Пример 1. Происходит прерывание приема по CAN, в прерывании постится семафор, или mbox, или берется память в разделе - принятый пакет копируется в нее и кладется в queue. Задача находится в ожидании семафора и т.п.
Пример 2. Задача заполняет буфер CAN для передачи и инициирует передачу, после этого сама ждет семафора с таймаутом. Если контроллер CAN передал сообщение, то возникает прерывание на передачу, в котором постится семафор. Если задача приняла семафор, значит сообщение ушло, если вывалилась по таймауту, то дополнительно сбрасывается передача сообщения из контроллера - ошибка обрабатывается в зависимости от ситуации.
В моей системе примерно так реализован HAL CAN Kingdom.
- Vote on answer
- posted
20 years ago
- Vote on answer
- posted
20 years ago
- Vote on answer
- posted
20 years ago
- Vote on answer
- posted
20 years ago
- Vote on answer
- posted
20 years ago
ST> специально проверил :) ST> нет, полный комплект есть только в одном, при этом версия 2.00 - ST> раньше, чем у меня валялась скачанная в 2000 году
AM> Когда-то там была версия 2.51 и не в одном.
Не встречал.
AM> Если надо, пиши мылом. А AM> вообще-то, какая сейчас текущая? Давно не интересовался...
2.7х- Vote on answer
- posted
20 years ago