Setting up a comprehensive test suite for your embedded project is crucial to its success. Embedded issues are notoriously tricky to debug, and having a test suite complete with unit and integration tests will aid massively in fixing bugs that arise.
I recently started on a large project that utilizes the powerful CMock mocking library in its testing. I tried to find some simple tutorials to get a better understanding of this library. But though there’s a lot of helpful documentation on CMock, I found little advice on getting to know it in general.
The world of embedded software development can feel like a very isolated place. Earlier in my career, when I was doing mostly embedded work, I remember often feeling jealous of my colleagues who were working on mobile and web applications. I would constantly hear them talking about exciting new libraries, frameworks, and tools with catchy […]
I’ve used Make for a lot for small projects, but for larger ones, it was just too tedious. Until recently, there were four things I wanted my build system to do for me that I hadn’t figured out how to do in Make:
The last time I looked at C++ was in 2002 when I was instrumental in convincing my co-workers to switch over to C#. Up until then, I had spent my entire college and professional career working with C++. That was eight long years. I don’t think I have used any one language for as long as […]
Spin had a great blog post a few days ago on Mean Shift Clustering. It’s a powerful algorithm with a ton of applications, but an Achille’s heel: The most glaring disadvantage is its slowness. …it can take a long time to execute. The one silver lining is that, while it is slow, it is also […]
Our tools Unity and CMock were written several years ago to fill a missing gap in testing C projects. We had developed the Ceedling build system, based on Ruby’s Rake. Nevertheless we—and more importantly our user base—would rather not have to use Rake, nor retrofit it into an existing Make build. Well, we finally made […]
I’ve been working on a project with a diverse set of software components that must all work together and communicate over the network. There are separate Mac and Windows clients that must communicate with the same unix server. And while there’s already a well-defined protocol for their network communication and message passing, we also need […]
The C language is long from dead. In fact, it is still the most popular programming language in the world. Of course, C still has those dreaded pointers that allow attempted access to arbitrary memory locations. Even though when you try to access invalid memory, things still go BOOM!
A couple of days ago, I read something that stuck in my mind: “Monitoring trick: Add a line to the beginning of your runit run scripts to bump a counter. Alert when the derivative is unreasonably high.” – @nrr, 4:05 PM – 2 Nov 2014