4 ms·
FreeRTOS meets Rust
- kartD 10y agoLittle off topic, but does anyone have a good resource or tutorial for FreeRTOS. I find freertos.org sparse and not really illustrative.
- tesseract 10y agoThe PDF manual sold by FreeRTOS, "Using the FreeRTOS Real Time Kernel - A Practical Guide", is worthwhile. I agree that the web documentation is somewhat lacking and suspect that for better or worse, it is that way in order to encourage buying the book.
- ansible 10y agoI bought the book and looked through some example programs. That was enough for me to get going. The main things you want to keep in mind is that the queues and such are not for large amounts of data. It is better, for example, to statically allocate three buffers, and then send the buffer number over a queue interface, rather than send the data itself, which involves two copy operations. The other thing to pay attention to is that you should only be using the ISR specific versions of the API inside an ISR. That, and minimize the code in the ISRs in general, but that is applicable to anything.
- kartD 10y agoI had heard about the book. Thanks for the info!
- mrlambchop 10y agoWhilst not entirely the answer you're after, I highly recommend reading the micrium book for general RTOS understanding (now in its 3rd version!). https://www.micrium.com/books/ucosiii/ https://www.micrium.com/books/ucosiii/
- stephen_g 10y agoThe lack of documentation was one of the reasons I ditched FreeRTOS and moved to ChibiOS, which I'm enjoying a lot. It has a much nicer API and cleaner codebase, really good demo projects, and a good discussion forum where the main developer usually answers any questions in a day or two. Unfortunately it still isn't that much better in terms of written documentation though.
- deleted 10y ago[deleted]
- kbumsik 10y agoFreeRTOS official documentation is good enough though.
- fest 10y agoThe lack of vendor-agnostic hardware abstraction layer (drivers) in FreeRTOS was my main reason to use ChibiOS for my projects. Although, libopencm3 has progressed nicely, so FreeRTOS + libopencm3 could now be a decent alternative to ChibiOS.
- ambrop7 10y agoThe problem with FreeRTOS is that it comes without batteries included, like drivers, networking and filesystem. I see such features as a primary advantage of an RTOS compared to a home-grown solution without threads (i.e. just main and interrupts). For those who like a full OS, RTEMS is a more complete solution.
- kirrent 10y agoTo be fair, that's by design and they make no secret of the fact that it's not a fully featured OS. FreeRTOS has a lot of that stuff available but I think that part of the reason it's so popular is because of how bare-bones, lightweight, and portable it is. From their FAQ: What is a Real Time Kernel? See the page "what is an RTOS" for a more detailed explanation than provided here. A Real Time Operating System can provide many resources to application writers - including TCP/IP stacks, files systems, etc. The Kernel is the part of the operating system that is responsible for task management, and intertask communication and synchronisation. FreeRTOS is a real time kernel.
- rkangel 10y agoFor me though, that's an advantage. I just want the basic primitives that deal with the pre-emptive multitasking and then we'll build everything over the top.
- DCRichards 10y agoThis could be interesting for things like Pebble which is based on FreeRTOS, would be great to do some modifications on that level https://developer.pebble.com/blog/2014/05/23/FreeRTOS-Modifications-From-Pebble/ https://developer.pebble.com/blog/2014/05/23/FreeRTOS-Modifi...