
-
For simulation I have been using a simulation framework named Renode. It has decent support for quite a few embedded platforms and is easy to extend. Peripheral development is done in C#, but there is support for python and rust in development. The translation library for the cpus is called tlib. It uses an older fork of tcg which is what qemu is built upon. https://renode.io/about/ and https://github.com/antmicro/tlib for reference. You can even run peripherals developed in HDL in verilator and connect them with the target CPU on the same sysbus.
-
Nutrient
Nutrient - The #1 PDF SDK Library. Bad PDFs = bad UX. Slow load times, broken annotations, clunky UX frustrates users. Nutrient’s PDF SDKs gives seamless document experiences, fast rendering, annotations, real-time collaboration, 100+ features. Used by 10K+ devs, serving ~half a billion users worldwide. Explore the SDK for free.
-
Everything else was covered: Ceedling+Unity+CMock for Unit Testing in C, CppuTest or GoogleTest or other options for C/C++. FFF is also useful when mocking. If you test and develop your modules correctly, they should when they are in your application. If you are developing using an Event-Driven Framework like QP or QML, then I would not test anything to do with the framework, but the functions that are called in each event. Same thing if you are using an RTOS, test what's inside your threads/tasks.
-
Everything else was covered: Ceedling+Unity+CMock for Unit Testing in C, CppuTest or GoogleTest or other options for C/C++. FFF is also useful when mocking. If you test and develop your modules correctly, they should when they are in your application. If you are developing using an Event-Driven Framework like QP or QML, then I would not test anything to do with the framework, but the functions that are called in each event. Same thing if you are using an RTOS, test what's inside your threads/tasks.