From: Kasun H. <kas...@gm...> - 2011-11-17 03:53:15
|
Hi, As I know preemptive multitasking is supported by Contiki.But I have never used it. Have look at a platform specific implementation ("mtarch.h" "mtarch,c") in http://contiki.git.sourceforge.net/git/gitweb.cgi?p=contiki/contiki;a=tree;f=cpu/msp430;hb=HEAD On Sun, Nov 13, 2011 at 8:50 PM, Michal Ulianko <mic...@gm...>wrote: > Yes, I've read that. And I now acknowledge the Contiki is protothread, > FIFO, event based OS. > > But a question remain: What are functions *mtarch_pstart()* and * > mtarch_pstop()* supposed to mean? They are mentioned in > http://dak664.github.com/contiki-doxygen/a01626.html and they are > declared in mt.h. > They look like either remains of some idea or inception of some idea. > > > 2011/11/13 David Kopf <da...@em...> > >> Have you seen http://dak664.github.com/contiki-doxygen/a01625.html? I >> have >> not used it and most micros do not have enough RAM for more than one >> stack. >> Rtimer interrupts might perhaps give a similar function; look at how >> contikimac interrupts at 8Hz into a protothread. One must then make >> certain >> that any routines called are reentrant if the interrupt could have >> occurred >> in them. >> >> -----Original Message----- >> From: Michal Ulianko >> Sent: Saturday, November 12, 2011 8:24 PM >> To: con...@li... >> Subject: [Contiki-developers] preemptive multitasking >> >> Hi, >> >> I'm porting Contiki to energymicro efm32g (cortex-m3) platform and I have >> few questions about preemptive multitasking. >> There is mention about mtarch_pstart() and mtarch_pstop() functions in the >> documentation, but they aren't called anywhere. What they should do? >> Is it really a good idea to allocate stack statically in mtarch_thread? >> How should I treat stack overflow? (Detecting it with cortex-m3's MPU >> should >> not be a problem.) >> >> Anyway, how is preemptive multitasking supposed to work with Contiki's >> protothread-process system? From the example 'multi-threading.c' from the >> documentation I guess it is intended to put this whole "multitasking" to >> one >> protothread-process. And how to implement preemption? My idea is that >> every >> time this protothread is run it could run some sort of scheduler, run one >> task until it yield or some preemption-timer expires, then the protothread >> itself would yield to let other contiki protothread-processes process some >> events. >> Actually I'm really a newbie to Contiki... >> >> Regards, >> Michal Ulianko >> >> >> >> ------------------------------------------------------------------------------ >> RSA(R) Conference 2012 >> Save $700 by Nov 18 >> Register now >> http://p.sf.net/sfu/rsa-sfdev2dev1 >> _______________________________________________ >> Contiki-developers mailing list >> Con...@li... >> https://lists.sourceforge.net/lists/listinfo/contiki-developers >> > > > > ------------------------------------------------------------------------------ > RSA(R) Conference 2012 > Save $700 by Nov 18 > Register now > http://p.sf.net/sfu/rsa-sfdev2dev1 > _______________________________________________ > Contiki-developers mailing list > Con...@li... > https://lists.sourceforge.net/lists/listinfo/contiki-developers > > -- Best Regards, Kasun Hewage |