Page 1 of 1

Resources on RTOS design

Posted: Fri Jan 24, 2014 2:28 am
by swinchen
Hi Giovanni,

I have been having a a great time looking through the ARMCMx port of ChibiOS to see how you implemented everything. It got me wondering "How did he know how to do all of this?". Are there any resources (e.g. books, websites, magazines) that have helped you in your design? I do not know why by I find the whole thing so fascinating and want to know more about it.

Thanks!
Sam

Re: Resources on RTOS design

Posted: Fri Jan 24, 2014 10:05 am
by Giovanni
Hi,

My interest in operating systems started back in 1988 when I bought this book: http://www.amazon.com/Operating-System- ... 143988109X (a good starting point even today, after 25 years).

After that it has been a mix of work experience and personal effort, I don't really have other sources that I could recommend. May be the AUTOSAR architecture could be a source too, the AUTOSAR MCAL inspired the ChibiOS HAL even if the two things are very different now.

swinchen wrote:How did he know how to do all of this?


I do things voices tell me to do :)

Giovanni

Re: Resources on RTOS design

Posted: Fri Jan 24, 2014 3:23 pm
by swinchen
Thanks Giovanni I will have to check that out. I have a BS in Electrical Engineering and an MS in Computer Engineering but I have always been better at hardware than software. Looking through the ChibiOS code has taught me some interesting tricks. Coding is so frustrating to me because I am good with the languages, but knowing when to use each design pattern is something I am terrible at. Anyways, I am ranting! Thanks for the suggestions.

Sam

Re: Resources on RTOS design

Posted: Fri Jan 24, 2014 4:10 pm
by Giovanni
I am more an SW than an HW person. Probably having worked not just in embedded but also in Java and other object oriented languages influenced my style when writing C code.

In general I always try to apply some kind of rule or pattern while writing code, if there is none in my bag of tricks then I prefer to work on the "general approach for that kind of problems". It is not easy for me to just write down some code and address the specific problem, this could also be seen as a weakness.

On the other hand, when I decided a direction the result is often highly organized code since the beginning.

Giovanni