|
Виж темите без отговор | Виж активните теми
Дата и час: Пон Юли 27, 2026 1:26 pm
| Автор |
Съобщение |
|
Mozfet
Ранг: Ориентиран
Регистриран на: Съб Сеп 25, 2004 4:33 pm Мнения: 273 Местоположение: София
|
 Ползвате ли SALVO RTOS?
Искам да питам колко от вас използват SALVO, каква точно работа им върши и наистина ли е толкова ценна програмка, колкото един наш сънародник на име Любен, я описва по западните форуми?
До колкото разбрах, позволява да изпълняваш едновременно няколко задачи, без да се грижиш да организираш прекъсвания и други хитрости. Това ли е?
Моя компилатор не е ANSI съвместим, така че няма как да пробвам тази RTOS. Нека по-запознатите кажат.
И освен това не може ли работата на SALVO да се замени с:
-добре подбрана система от прекъсвания (в PIC18 имаме дори приоритети)
-метода на така наречената "State machine"
-или просто всеки цикъл да отнема точно определено време, зададено от нас. По този начин преработих Ladder diagram с броячи, таймери, контакти (норм. отворении/затворени) за PIC и си работеше.
Всъщност вие каква техника използвате когато ви се налага multitasking?
_________________ Adios
Mozfet
|
| Пон Сеп 27, 2004 10:00 am |
|
 |
|
Реконструктор
Ранг: Форумен бог
Регистриран на: Съб Сеп 25, 2004 12:32 pm Мнения: 8382 Местоположение: София
|
Не съм пробвал, но да ти кажа, да го наричат тоя софтуер "Операционна Система" ми се струва някак пресилено.  Всичките от тоя тип според мен са просто многозадачен фреймуърк. Защото понятието ОС включва значително по-голяма функционалност - файлова система, управление на паметта (заедно със система за защитата й), управление на периферията чрез драйвери и т.н. Всичко това е абсурд да се направи на нещо с 1 КБ ОП и 16 КБ ПП.
Отделно си мисля, че подобен фреймуърк би предизвикал значително performance penalty. При мен поддръжката на 32 битов 100 КХц таймер ми коства 25-30% от производителността (16 МХц процесор), и не ми се мисли, какво ще коства един многозадачен фреймуърк. Например само запазването и възстановяването на регистрите при превключването на всеки ще струва 64 цикъла (за 32 регистъра), и 32 байта памет за всеки процес.
Всичко това са си мои разсъждения, де. Може да отделя малко време някой ден да пробвам една от тези т.нар. ОС, възможно е и да греша. 
|
| Пон Сеп 27, 2004 1:04 pm |
|
 |
|
Гост
|
È àç íå ñúì ïîëçâàë, íî ïðè ïî ãîëåìè ïðèëîæåíèÿ, ò.å. ñ ïîâå÷å íèøêè ñè èìà ñìèñúë, çà PIC íå çíàì, íàèñòèíà ïðè íåãî ïàìåòòà åìàëêî, íî ïúê äîáðå íàïèñàíî ÿäðî íå ñòàâ àêîé çíàå êîëêî ãîëÿìî. Çà ðàáîòà ñ ôàéëîâå íå çíàì, îñíîâíî ïðåâêëþ÷âà íèøêèòå è ðàçïðåäåëÿ äèíàìè÷íî ïàìåòòà, ñúîòâåòíî äàâà åâúíòè çà ïðåêúñâàíèÿ è/èëè ïðîöåñè ... íî òàçèíå ñúì ÿ ãëåäàë êàêâî ïðàâè. Àç ïîëçâàì ìàøèíà íà ñúñòîÿíèÿòà èëè àêî å íàëîæèòåëíî ðàçïðåäåëåíèå íà âðåìåòî, äîðè ëåñíî ìîæå äà ãî íàïðàâèø äèíàìè÷íî ïî ïðèîðèòåòè, êîåòî ñè å ïî÷òè ÎÑ, íî íå ñúì ñè èãðàë äà ïðàâÿ äèíàìè÷íî ðàçïðåäåëåíèå íà ïàìåòòà.
|
| Пон Сеп 27, 2004 9:20 pm |
|
 |
|
Цецо
Ранг: Форумен бог
Регистриран на: Пон Сеп 27, 2004 9:22 am Мнения: 15501 Местоположение: София
|
Ами тя е от типа кооперативна - сиреч един процес не прекъсва друг. Другия трябва сам да се прекъсне. Малко е странно, иска се май бая опит за да не я забиваш и за да може времево да си разпределиш задачите. Това обаче съкращава много необходимите ресурси. Иначе се води най - добрата RTOS за малките контролери. Твърдят че имат порт за PIC12??? ако се не лъжа. Само дето аз още не съм видял цялата версия. Само евали. А с тях не ме кефи, щото ще ми хареса и трябва да си я купувам. MOZFET ако искаш да тестваш на PIC18 имам компилатора ще ти дам. Ама нея я нямам. Тоя Любен много се фали, ама не дава. Разбираемо сигурно я е платил.
RTOS - real time operational system е много разпространено нещо. Няма файлова система и пр. Говорим просто за кернел с подръжка на семафори тредове и съобщения. Много полезно нещо ако човек има нагласата да го ползва. Щото си трябва по друг тип мислене и програмиране. Особенно подходяща за по сложни проекти в които повечето таскове са не особенно време критични (търпи и бързи таскове + прекъсвания, ама не много). Мда.
|
| Вто Сеп 28, 2004 9:27 am |
|
 |
|
Mozfet
Ранг: Ориентиран
Регистриран на: Съб Сеп 25, 2004 4:33 pm Мнения: 273 Местоположение: София
|
Ами мисля, че го имам този компилатор някъде по дисковете, но не го ползвам. ANSI компилаторите ми се виждат по-труднички и не работя с тях, иначе досега да съм разцъкал SALVO-то. Имам пълната версия SALVO 2.2.0, но при по-задълбочено претърсване на мрежата си мисля, че все от някъде ще изпадне и третата версия.
Ок да засегнем тази тема:
Каква е ползата компилатора ти да е ANSI? Аз поне не познавам хора, които днес да пишат програма за PIC, утре за Intel 8051, а другата седмица за Pentium MMX. Хубаво кода е portable, ама като не го портваш към други платформи....
Поради тази никому ненужна стандартизация се лишавам от десетки улеснения в компилатора, предвидени за PIC фамилията: LCD, I2C, SPI, RS232, Onewire, etc. Не че не могат да се направят и със C18, ама е по-времеемко.
Добрият компилатор трябва да създава улеснения за програмиста.
Това са мои разсъждения. Прав ли съм или нещо пропускам?
_________________ Adios
Mozfet
|
| Вто Сеп 28, 2004 3:39 pm |
|
 |
|
Цецо
Ранг: Форумен бог
Регистриран на: Пон Сеп 27, 2004 9:22 am Мнения: 15501 Местоположение: София
|
Черпи едно Салво тогава. Да го видим що го хвалят толкоз (ако остане време за него). Имам една идея за домашен проект в който може да се докаже като за първи път. А за кой процесор е портнато?
Значи аз поне до колкото знам истински ANSI C компилатор за PIC няма, и на MPLAB C18, накрая има една страничка разлики с ANSI C. Нормално е защото става дума за 8 битов микроконтролер. Компилатора е оптимизиран за работа с 8 битови данни което се разминава със стандартите в някой точки. За по големите контролери би трябвало да има по малко разлики или даже хич. А това дали ще имаш подръжка на SPI, UART и пр., май няма отнопение към стандарта, защото той специфицира само програмния език, но не и библиотеките. Така че дали ще имаш stdio.h, dos.h или adc.h не би трябвало да е проблем на стандарта. Там се стандартизират командите и логиката на езика, типовете данни и операции с тях. Ама може и да бъркам, не съм го чел тоя ANSI C стандарт.
|
| Вто Сеп 28, 2004 4:22 pm |
|
 |
|
Mozfet
Ранг: Ориентиран
Регистриран на: Съб Сеп 25, 2004 4:33 pm Мнения: 273 Местоположение: София
|
Пиши ми на bloodhound@netbg.com и довечера ще ти го трансферирам.
Как си правиш мултитаскинга, ако не е тайна?
_________________ Adios
Mozfet
|
| Вто Сеп 28, 2004 4:29 pm |
|
 |
|
Цецо
Ранг: Форумен бог
Регистриран на: Пон Сеп 27, 2004 9:22 am Мнения: 15501 Местоположение: София
|
Каква тайна, не е тайна. Не го правя. Или поне не с RTOS. Използвам прекъсвания, някакви опростени варианти на state машини и разни примитивни хватки та накрая се получава нещо от рода на мулти таскинг. Та затова ми се иска да поработя с истински RTOS. Засега вариантите са два SALVO и FreeRTOS ( www.freeRTOS.org). Незнам дали ще ми е много лесно обаче предвид това ,че вече доста време работя на принципа пълен контрол върху всичко по всяко време. Незнам и как се трасира едно таквоз чудо с RTOS. Абе много неща незнам, ама все отнякъде трябва да се почне. Само че не съм в БГ, като си дойда ще ти се обадя, да го видим това SALVO.
|
| Вто Сеп 28, 2004 7:02 pm |
|
 |
|
Mozfet
Ранг: Ориентиран
Регистриран на: Съб Сеп 25, 2004 4:33 pm Мнения: 273 Местоположение: София
|
Ами ще чететеш
Салвото върви с едно тлъсто ръководство от 517 стр.
За мултитаскинга те питах, защото ми трябват към 30-40 софтуерни таймера и сега обмилсям как да стане.
Ок ще ти пратя програмката като се върнеш от турнето.
_________________ Adios
Mozfet
|
| Вто Сеп 28, 2004 9:48 pm |
|
 |
|
Реконструктор
Ранг: Форумен бог
Регистриран на: Съб Сеп 25, 2004 12:32 pm Мнения: 8382 Местоположение: София
|
|
| Вто Сеп 28, 2004 10:03 pm |
|
 |
|
Mozfet
Ранг: Ориентиран
Регистриран на: Съб Сеп 25, 2004 4:33 pm Мнения: 273 Местоположение: София
|
20 Hz.
_________________ Adios
Mozfet
|
| Вто Сеп 28, 2004 10:10 pm |
|
 |
|
Реконструктор
Ранг: Форумен бог
Регистриран на: Съб Сеп 25, 2004 12:32 pm Мнения: 8382 Местоположение: София
|
Ми какъв ти е точно проблема?  С каква разредност са и едновременно ли трябва да цъкат?
|
| Вто Сеп 28, 2004 10:12 pm |
|
 |
|
Mozfet
Ранг: Ориентиран
Регистриран на: Съб Сеп 25, 2004 4:33 pm Мнения: 273 Местоположение: София
|
Едновременно, да.
Аз идея имам, но си мисля, че някой може да предложи нещо 
_________________ Adios
Mozfet
|
| Вто Сеп 28, 2004 10:16 pm |
|
 |
|
Реконструктор
Ранг: Форумен бог
Регистриран на: Съб Сеп 25, 2004 12:32 pm Мнения: 8382 Местоположение: София
|
Ами нагласяш прекъсването на честота 20 * броя на таймерите. И на всяко викане на прекъсването инкрементираш по един. Така към края на всяка 1/20 от секундата ще са цъкнали всичките, като времето за инкрементиране ще е равномерно разредено в другата работа. 
|
| Вто Сеп 28, 2004 10:20 pm |
|
 |
|
Реконструктор
Ранг: Форумен бог
Регистриран на: Съб Сеп 25, 2004 12:32 pm Мнения: 8382 Местоположение: София
|
Обаче всъщност не разбрах за кво са ти копия на едно и също нещо?
|
| Вто Сеп 28, 2004 10:25 pm |
|
|
Кой е на линия |
Потребители разглеждащи този форум: 0 регистрирани и 3 госта |
|
Вие не можете да пускате нови теми Вие не можете да отговаряте на теми Вие не можете да променяте собственото си мнение Вие не можете да изтривате собствените си мнения Вие не можете да прикачвате файл
|
|