[ stepandelac @ 21.09.2012. 13:39 ] @
Pozdrav
Pre nekog vremena sam nabavio EasyPIC 6 razvojno okruzenje, koje dolazi sa PIC16F887 kontrolerom.
Citao sam datasheet, i nesto pratece literature, obzirom da mi je ovo prvi put da radim sa mikrokontrolerima.
Prosao sam primere koje Mikroelektronika daje sa razvojnim okruzenjem a za pomenuti kontroler.

Hteo bih da predjem na neki RT OS, i u u tu svrhu sam narucio PIC18F4520, koji je podrzan od strane razvojnog okruzenja koje imam.

Moze li mi neko pomoci oko izbora RT OS-a, imajuci u vidu da sam pocetnik i da bi bilo dobro da bude sto bolje dokumentovan.

Hvala unapred.
[ bogdan.kecman @ 21.09.2012. 14:02 ] @
bajat pic ... no nije los ... na zalost nemas neki veliki izbor rtos-a za njega, posebno ako oces da trosis mikroelektronikine kompajlere

RTOS OSA ( http://picosa.narod.ru/ ) je jedini da radi sa mikroC koliko ja znam i jedan je od boljih rtos-ova za te minijaturne mikrokontrolere (pic, avr..), radi i sa mikroc i sa picc i sa c18 .. ja ti preporucujem njega
http://www.mikroe.com/forum/viewtopic.php?t=20650

FreeRTOS je odlican ali radi sa C18, ne znam dal ima upgrade za mplabx i ove nove CX8 ili kako se vec zovu kompajleri
http://www.freertos.org/

PicOS18 je prilicno lose dokumentovan, ne preporucujem
http://www.picos18.com/index_us.htm

[ stepandelac @ 21.09.2012. 20:14 ] @
@Bogdane,
hvala na odgovoru.
U medjuvremenu sam naleteo na nesto sto mi se ucinilo interesantno, pa bih te zamolio da mi kazes sta mislis
o tome
http://www.libstock.com/projects/view/183/rtos-for-pic-18f

U svakom slucaju cu pogledati ovo sto mi preporucujes.
[ bogdan.kecman @ 21.09.2012. 21:24 ] @
da ti kazem nesto dobro ili lose za taj rtos nemam odakle, nisam ga nikad probao .. ono sto vidim sa linka koji si stavio
- podrzava samo mikroc pro, dakle ne podrzava nijedan drugi jezik to je veliki minus
- nema sajta tog rtosa nigde, vidim samo download, ne vidim nigde support forum, blog, changelog ... manual
- pise da podrzava samo PIC18F8520 i da je testiran samo na bigpic6
+ pisao ga je nas covek tako da verovatno mozes da ga uvatis za gusu da ti objasni ako ti nesto nije jasno

Ja bih licno preskocio. MikroC nije los jezik ali uopste nije jeftin niti nesto bolji od free alternative, sa druge strane OSA je pisao ruja, ja njih vrlo postujem kada je u pitanju sw development u proseku su u odnosu na nas 100 godina napredniji, OSA radi ne samo na vise picova vec radi na vise generacija pic-a + na avr-u + na stm8, ima forum, brdo ljudi koji koriste .. razvija se godinama .. nekoliko kompajlera je podrzano ... sta znam, mozda je Stevan napisao nesto mnogo dobro, ali sa informacijama koje imam ja bi uzo OSA, opet, ako ti je PIC18F8520 ok (nesto nisam siguran da mozes da ga ubodes u easypic) i ako si kupio mikroC .. sto da ne, ipak je domaci proizvod :)


btw freertos je najrasprostranjeniji, najcesce koristen rtos.. no za 18F je meni osa ipak bolji
[ vos @ 27.09.2012. 11:32 ] @
Bogdane da li mozes da navedes neke konkretne razloge zasto ti je OSA bolji za PIC 18F? Ja koristim FreeRTOS na dsPIC33F i radi dobro. Kod je jednostavan, logican, razumljiv i uglavnom mi je sve proradilo "iz prve". A nijedan drugi RTOS nisam ni probao pa nemam sa cim da uporedim. Da li mislis da je OSA i za dsPIC bolja opcija od FreeRTOS?
[ bogdan.kecman @ 27.09.2012. 18:47 ] @
ne mislim da je bolji od freertos, posebno ne za dspic ... OSA je bolja po meni samo za ove malecne picove (PIC18F, STM8 i ekipa) zato sto ima malo manji footprint ali zato ima i dosta manje opcija od freertos-a... takodje covek oce mikroC, freertos ne radi u tom slucaju ... tako da za dspic ja bi ostao na freertos-u
[ vos @ 28.09.2012. 19:22 ] @
Ok hvala, dobro je znati da sam na dobrom smeru :)
[ bogdan.kecman @ 28.09.2012. 20:46 ] @
ja se teram da problam http://www.chibios.org/dokuwiki/doku.php?id=chibios:architectures ali nekako nikad nemam vremena :(
[ stepandelac @ 29.11.2012. 21:38 ] @
@Bogdane,
naisao sam na jedan problem....
Naime na forumu Mikroelektronike sam nasao neki primer u kome je pokazano kako se
OSA podize na EasyPIC 6 razvojnom okruzenju (ja imam taj hadver) sa PIC16F887 (ide u paketu sa razvojnim okruzenjem)...
Pokusao sam da na isti nacin primer koji sam pisao ranije (MikroC) prevedem u OSA-u, pa da na taj nacin dobijeni HEX fajl 'spustim'
na MCU.
Kod koji je pisan bez OSA-e radi kako treba (kod je jednostavan, paljenje i gasenje dioda preko porta C)
i on je prikazan u nastavku:
Code:

 /*
 * Project name:
     LED_Diode (Paljenje i gasenje dioda naizmenicno)

 */


void main() {

   ANSEL  = 0;
  ANSELH = 0;
  C1ON_bit = 0;
  C2ON_bit = 0;


TRISC=0x00;  ///// Port C je konfigurisan kao izlaz
PORTC=0x00;  ////// Izlaz na portu C je iskljucen (diode su iskljucene)

do {

PORTC=0xFF;        ////Ukljucenje diode i kasnjenje 1 sekundu
Delay_ms(1000);

PORTC=0x00;       /////  Iskljucenje diode i kasnjenje 1 sekundu
Delay_ms(1000);

 }

while (1) ;


}


Problem nastaje kada prethodni kod pokusavam da prevedem na OSA RTOS.
Definisem funkcije, podesim parametre i kreiram task koji izvrsava funkciju.
Sve lepo iskompajliram i dobijem HEX fajl.

Kod koji ukljucuje OSA-u je u nastavku:
Code:


/*

Ukljucivanje  dioda na portu C

*/

#include <osa.h>

#include <OSAcfg.h>


void init (void)
{

     ANSEL  = 0;
  ANSELH = 0;
  C1ON_bit = 0;
  C2ON_bit = 0;

TRISC=0x00;  ///// Port C je konfigurisan kao izlaz
PORTC=0x00;  ////// Izlaz na portu C je iskljucen (diode su iskljucene)
}

void ukljuci(void)
{
 PORTC=0xFF;        ////Ukljucenje diode

 OS_Delay(1000);

}

void iskljuci(void)
{
 PORTC=0x00;       /////  Iskljucenj diode

  OS_Delay(1000);
}


void main() 

{

  init();


 OS_Init();

 OS_Task_Create(1,ukljuci);


 

 OS_Run();


}



Bez problema 'spustim' HEX na MCU (koristim mikroProg Suite for PIC ), ali se nista ne desava.
Tj. diode se ne pale i ne gase.....
I tako vec xy puta, sa nekoliko primera.....
Negde gresim, to mi je jasno.
Ali ne mogu da provalim gde.....
Hvala unapred.....
[ Genie_1984 @ 29.11.2012. 23:05 ] @
NIsam još koristio RTOS...ali malo sam pogledao primere i piše

Citat:
...Tell to linker that these functions will be called indirrectly...


pa probaj da dodaš iznad main funkcije

Code:

#pragma funcall main ukljuci
#pragma funcall main iskljuci  //ako koristiš i drugu funkciju itd



Pročitaj i ovo .

Pa javi rezultat

Pozdrav

[Ovu poruku je menjao Genie_1984 dana 30.11.2012. u 01:15 GMT+1]

[Ovu poruku je menjao Genie_1984 dana 30.11.2012. u 01:15 GMT+1]
[ bogdan.kecman @ 30.11.2012. 02:45 ] @
ja ne koristim mikroC godinama tako da sam malo "out of touch" ali kolega bi trebalo da ti je nasao sta je problem. dodatno, vidi da li mikroC daje mogucnost da kompletno ugasis optimizaciju pa ako mozes probaj tako
[ stepandelac @ 03.12.2012. 22:28 ] @
@ Genije, @ Bogdane

Hvala na odgovoru i pomoci. Uradio sam onako kako je Genije napisao i sad lepo radi.
Hvala i za link, pomogao mi je da shvatim o cemu se radi.
[ bogdan.kecman @ 04.12.2012. 02:17 ] @
ne znam "odakle dolazis", ja kao neko ko je generalno dosao iz sw price u hw pre mnogo godina u startu sam imao mnogo problema sa "kompajlerima" koji ne postuju nista od standarda .. onda sam presekao i rekao, svi ovi kompajleri za osmobitne mikrokontrolere nemaju veze sa C-om, to je C-oliki jezik, nazvacemo ga "mikroc, picc, c18 etc etc..." i ajmo mu nauciti sintaksu ... tada su se kockice slozile ... svi ti mali c kompajleri su vrlo "budzeni" za odredjene familije ili su tek specificni (kao recimo mikroC ili hitech C) na svoj nacin sa svojim tripovima "kako nesto treba uraditi" tako da nemoj da gledas na kod i probleme sa "kako bi to uradio u C-u" vec kako bi to uradio u tom specificnom jeziku koji lici na C :), interapti, referenciranje funkcija, objekti, linker .. sve je to potpun haos u svetu 8bitnih mcu-a (jedan od razloga sto sam ja pobegao na 16 i 32bita za vecinu novih projekata posto je razlika u ceni beznacajna)
[ stepandelac @ 04.12.2012. 12:48 ] @
Morao sam odnekle da krenem, a Mikroelektronika (sa svojim rešenjima) mi se generalno činila kao dobra polazna osnova.
Dovoljno sam se raspitao da znam da za neki ozbiljan projekat valja preći i na ozbiljnije kontrolere...
Ali ja sam još uvek početnik....
Nadam se ne još dugo....