Микроконтролери и електроника
http://mcu-bg.com/mcu_site/

Ползвате ли SALVO RTOS?
http://mcu-bg.com/mcu_site/viewtopic.php?f=3&t=15
Страница 1 от 3

Автор:  Mozfet [ Пон Сеп 27, 2004 10:00 am ]
Заглавие:  Ползвате ли SALVO RTOS?

Искам да питам колко от вас използват SALVO, каква точно работа им върши и наистина ли е толкова ценна програмка, колкото един наш сънародник на име Любен, я описва по западните форуми?
До колкото разбрах, позволява да изпълняваш едновременно няколко задачи, без да се грижиш да организираш прекъсвания и други хитрости. Това ли е?
Моя компилатор не е ANSI съвместим, така че няма как да пробвам тази RTOS. Нека по-запознатите кажат.
И освен това не може ли работата на SALVO да се замени с:
-добре подбрана система от прекъсвания (в PIC18 имаме дори приоритети)
-метода на така наречената "State machine"
-или просто всеки цикъл да отнема точно определено време, зададено от нас. По този начин преработих Ladder diagram с броячи, таймери, контакти (норм. отворении/затворени) за PIC и си работеше.

Всъщност вие каква техника използвате когато ви се налага multitasking?

Автор:  Реконструктор [ Пон Сеп 27, 2004 1:04 pm ]
Заглавие: 

Не съм пробвал, но да ти кажа, да го наричат тоя софтуер "Операционна Система" ми се струва някак пресилено. :) Всичките от тоя тип според мен са просто многозадачен фреймуърк. Защото понятието ОС включва значително по-голяма функционалност - файлова система, управление на паметта (заедно със система за защитата й), управление на периферията чрез драйвери и т.н. Всичко това е абсурд да се направи на нещо с 1 КБ ОП и 16 КБ ПП. :)
Отделно си мисля, че подобен фреймуърк би предизвикал значително performance penalty. При мен поддръжката на 32 битов 100 КХц таймер ми коства 25-30% от производителността (16 МХц процесор), и не ми се мисли, какво ще коства един многозадачен фреймуърк. Например само запазването и възстановяването на регистрите при превключването на всеки ще струва 64 цикъла (за 32 регистъра), и 32 байта памет за всеки процес.
Всичко това са си мои разсъждения, де. Може да отделя малко време някой ден да пробвам една от тези т.нар. ОС, възможно е и да греша. :)

Автор:  Гост [ Пон Сеп 27, 2004 9:20 pm ]
Заглавие: 

È àç íå ñúì ïîëçâàë, íî ïðè ïî ãîëåìè ïðèëîæåíèÿ, ò.å. ñ ïîâå÷å íèøêè ñè èìà ñìèñúë, çà PIC íå çíàì, íàèñòèíà ïðè íåãî ïàìåòòà åìàëêî, íî ïúê äîáðå íàïèñàíî ÿäðî íå ñòàâ àêîé çíàå êîëêî ãîëÿìî. Çà ðàáîòà ñ ôàéëîâå íå çíàì, îñíîâíî ïðåâêëþ÷âà íèøêèòå è ðàçïðåäåëÿ äèíàìè÷íî ïàìåòòà, ñúîòâåòíî äàâà åâúíòè çà ïðåêúñâàíèÿ è/èëè ïðîöåñè ... íî òàçèíå ñúì ÿ ãëåäàë êàêâî ïðàâè. Àç ïîëçâàì ìàøèíà íà ñúñòîÿíèÿòà èëè àêî å íàëîæèòåëíî ðàçïðåäåëåíèå íà âðåìåòî, äîðè ëåñíî ìîæå äà ãî íàïðàâèø äèíàìè÷íî ïî ïðèîðèòåòè, êîåòî ñè å ïî÷òè ÎÑ, íî íå ñúì ñè èãðàë äà ïðàâÿ äèíàìè÷íî ðàçïðåäåëåíèå íà ïàìåòòà.

Автор:  Цецо [ Вто Сеп 28, 2004 9:27 am ]
Заглавие: 

Ами тя е от типа кооперативна - сиреч един процес не прекъсва друг. Другия трябва сам да се прекъсне. Малко е странно, иска се май бая опит за да не я забиваш и за да може времево да си разпределиш задачите. Това обаче съкращава много необходимите ресурси. Иначе се води най - добрата RTOS за малките контролери. Твърдят че имат порт за PIC12??? ако се не лъжа. Само дето аз още не съм видял цялата версия. Само евали. А с тях не ме кефи, щото ще ми хареса и трябва да си я купувам. MOZFET ако искаш да тестваш на PIC18 имам компилатора ще ти дам. Ама нея я нямам. Тоя Любен много се фали, ама не дава. Разбираемо сигурно я е платил.

RTOS - real time operational system е много разпространено нещо. Няма файлова система и пр. Говорим просто за кернел с подръжка на семафори тредове и съобщения. Много полезно нещо ако човек има нагласата да го ползва. Щото си трябва по друг тип мислене и програмиране. Особенно подходяща за по сложни проекти в които повечето таскове са не особенно време критични (търпи и бързи таскове + прекъсвания, ама не много). Мда.

Автор:  Mozfet [ Вто Сеп 28, 2004 3:39 pm ]
Заглавие: 

Ами мисля, че го имам този компилатор някъде по дисковете, но не го ползвам. ANSI компилаторите ми се виждат по-труднички и не работя с тях, иначе досега да съм разцъкал SALVO-то. Имам пълната версия SALVO 2.2.0, но при по-задълбочено претърсване на мрежата си мисля, че все от някъде ще изпадне и третата версия.
Ок да засегнем тази тема:
Каква е ползата компилатора ти да е ANSI? Аз поне не познавам хора, които днес да пишат програма за PIC, утре за Intel 8051, а другата седмица за Pentium MMX. Хубаво кода е portable, ама като не го портваш към други платформи....
Поради тази никому ненужна стандартизация се лишавам от десетки улеснения в компилатора, предвидени за PIC фамилията: LCD, I2C, SPI, RS232, Onewire, etc. Не че не могат да се направят и със C18, ама е по-времеемко.
Добрият компилатор трябва да създава улеснения за програмиста.
Това са мои разсъждения. Прав ли съм или нещо пропускам?

Автор:  Цецо [ Вто Сеп 28, 2004 4:22 pm ]
Заглавие: 

Черпи едно Салво тогава. Да го видим що го хвалят толкоз (ако остане време за него). Имам една идея за домашен проект в който може да се докаже като за първи път. А за кой процесор е портнато?

Значи аз поне до колкото знам истински ANSI C компилатор за PIC няма, и на MPLAB C18, накрая има една страничка разлики с ANSI C. Нормално е защото става дума за 8 битов микроконтролер. Компилатора е оптимизиран за работа с 8 битови данни което се разминава със стандартите в някой точки. За по големите контролери би трябвало да има по малко разлики или даже хич. А това дали ще имаш подръжка на SPI, UART и пр., май няма отнопение към стандарта, защото той специфицира само програмния език, но не и библиотеките. Така че дали ще имаш stdio.h, dos.h или adc.h не би трябвало да е проблем на стандарта. Там се стандартизират командите и логиката на езика, типовете данни и операции с тях. Ама може и да бъркам, не съм го чел тоя ANSI C стандарт.

Автор:  Mozfet [ Вто Сеп 28, 2004 4:29 pm ]
Заглавие: 

Пиши ми на bloodhound@netbg.com и довечера ще ти го трансферирам.
Как си правиш мултитаскинга, ако не е тайна?

Автор:  Цецо [ Вто Сеп 28, 2004 7:02 pm ]
Заглавие: 

Каква тайна, не е тайна. Не го правя. Или поне не с RTOS. Използвам прекъсвания, някакви опростени варианти на state машини и разни примитивни хватки та накрая се получава нещо от рода на мулти таскинг. Та затова ми се иска да поработя с истински RTOS. Засега вариантите са два SALVO и FreeRTOS (www.freeRTOS.org). Незнам дали ще ми е много лесно обаче предвид това ,че вече доста време работя на принципа пълен контрол върху всичко по всяко време. Незнам и как се трасира едно таквоз чудо с RTOS. Абе много неща незнам, ама все отнякъде трябва да се почне. Само че не съм в БГ, като си дойда ще ти се обадя, да го видим това SALVO.

Автор:  Mozfet [ Вто Сеп 28, 2004 9:48 pm ]
Заглавие: 

Ами ще чететеш :)
Салвото върви с едно тлъсто ръководство от 517 стр.
За мултитаскинга те питах, защото ми трябват към 30-40 софтуерни таймера и сега обмилсям как да стане.
Ок ще ти пратя програмката като се върнеш от турнето.

Автор:  Реконструктор [ Вто Сеп 28, 2004 10:03 pm ]
Заглавие: 

Mozfet написа:
защото ми трябват към 30-40 софтуерни таймера


:shock: :shock: :shock:

С каква честота?

Автор:  Mozfet [ Вто Сеп 28, 2004 10:10 pm ]
Заглавие: 

20 Hz.

Автор:  Реконструктор [ Вто Сеп 28, 2004 10:12 pm ]
Заглавие: 

Mozfet написа:
20 Hz.


Ми какъв ти е точно проблема? :) С каква разредност са и едновременно ли трябва да цъкат?

Автор:  Mozfet [ Вто Сеп 28, 2004 10:16 pm ]
Заглавие: 

Едновременно, да.
Аз идея имам, но си мисля, че някой може да предложи нещо :o

Автор:  Реконструктор [ Вто Сеп 28, 2004 10:20 pm ]
Заглавие: 

Ами нагласяш прекъсването на честота 20 * броя на таймерите. И на всяко викане на прекъсването инкрементираш по един. Така към края на всяка 1/20 от секундата ще са цъкнали всичките, като времето за инкрементиране ще е равномерно разредено в другата работа. :)

Автор:  Реконструктор [ Вто Сеп 28, 2004 10:25 pm ]
Заглавие: 

Обаче всъщност не разбрах за кво са ти копия на едно и също нещо?

Страница 1 от 3 Часовете са според зоната UTC + 2 часа [ DST ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/