Forum > Suggestions
Integrate AVRco Pascal into Freepascal?
marcov:
--- Quote from: avra on October 13, 2023, 03:33:45 pm ---
--- Quote from: marcov on October 13, 2023, 11:02:39 am ---As for the multitasking that is harder to evaluate how generic that is, I only see a process keyword with numeric parameters. The define seems to be macros (shudder)
--- End quote ---
If interested, multitasking details can be found in compiler manual pdf which can be downloaded from https://www.e-lab.de/AVRco/index_en.html, chapters "5 Multi-Tasking Programming" and "4.16 Multi-Task Functions".
--- End quote ---
I read through it, but it is more or less the basic embedded RTOS. I had to implement something like this in uni on an Hitachi 8051 derivate. It has a few things more than I did in this 9 week course, like the process/task difference(processes are more easily suppressed than tasks?) and the pipe functionality are new.
So slightly more expanded than a basic concept, but nothing spectacular. Of course the language support makes it look nicer here and there, but that is more make-up than functionality.
Anyway, when I moved from PIC18 to dspic, I tried to change my embedded work from polling to event driven (using periphery that is interrupt or DMA driven), so the whole RTOS concept got less relevant, because there were less things to poll.
avra:
--- Quote from: marcov on October 13, 2023, 03:54:43 pm ---It has a few things more than I did in this 9 week course, like the process/task difference(processes are more easily suppressed than tasks?) and the pipe functionality are new.
--- End quote ---
Processes are basically forever loops with their own stack and frame which can be interrupted anywhere by interrupts or other processes and will continue where they stopped in the next scheduler round. Tasks are cyclic procedures called by a scheduler which are not interrupted by processes but can not last longer then a systick. Nice thing about processes is that if needed they can sleep and wait for a semaphore or pipe (usually populated by interrupt or DMA peripheral). Unlike FreeRTOS there is no idle time when you use processes, unless you explicitly create a process just for that.
Navigation
[0] Message Index
[*] Previous page