Please use this thread to share with the community your favorite Free and #OpenSource Software for Embedded Systems developers. Hardware Modeling, Compiler Tool Chains, Libraries, Graphical CASE, Debugging, Version Control, Build Systems, Operating Systems, etc.
Please enter ONLY ONE entry per reply so that we can get a sense of how much the software is appreciated by the community through the number of 'thumbsups' it receives.
Example of an entry:
Operating Systems: FreeRTOS
And you can add a comment if you want as to why you like the suggested software.
And of course, please go ahead and click on the 'thumbsup' for the entries you like.
Code development: Eclipse IDE + GNU tools
even though it's only for analog designs and mainly Linear Tech products.
Tortoisesvn for version control. It enables me to change my code without the worry of loosing something that is already working
Vim editor for code editing, navigation and much more. Anytime on an any platform, Windows or Linux!
Atollic was recently purchased by ST Microelectronics and the full version is now free to users of STM32 devices.
I suspect that in the near future there is going to be a much tighter coupling with TrueStudio and STM32CubeMX and that STM32 users will be happily using the best compiler IDE bundle in the industry.
For those interested, Amazon also recently acquired FreeRTOS and have made it an integral element in their portfolio.
Scilab for number crunching data display in reports & stuff -- it's what generated the graphs in my articles and my book.
Hardware Modeling: Microsoft Excel
Well it's not really free, but most have it sitting on their desktops. I am sure the idea will trigger many "flames", but might I suggest you check some of my ideas for the usage of Excel in electronics by looking at the list of my blogs and design ideas
gui based, cross platform, multi-language syntax highlighting, and modular concept.
for linux or mac users/switchers it is a good replacement for notepad++
Libraries: ELM FatFs
An open-source file system library with very permissive licence terms so that it is usable for any purpose on any platform entirely for free.
I have successfully incorporated it with Segger embOS and Keil RTL, and also used the simplified PetitFs version stand-alone for a bootloader. It is incorporated in other tools such as TI-RTOS and STM32CubeMX - I hope these big guys are throwing the author some pennies!
Continuous Integration: Jenkins
Invaluable for multi-developer teams. Executes tasks whenever anyone checks-in a change, and e-mails the appropriate developers if the check-in causes a build or test to fail.
It has numerous plug-ins and integrations for version control and test data analysis for example. I started off simple and just had it running builds, but now I have it set up to build multiple projects and configurations, perform static analysis, Doxygen document generation, execute unit tests and update the target and perform system tests - so that every change is subject to rigorous automated verification.
Code Review: Review Board
Code peer review tool that integrates with version control systems. Similar to commercial tools such as Code Collaborator or Crucible. Allows asynchronous peer review of code and other files without meetings.
Maxima (and WxMaxima) for symbolic math.