Draw.io can be used both online and offline (you can download for Linux), it's open source, can draw GUI items and annotations, and allows you to save the file locally or on the cloud to edit it later (file is saved in XML format).
We use Typemock's Isolator++, this is the most friendly mocking tool i encountered for C.
The mocking abilities is extremely friendly because 100% of your code remains comepletely untouched.
This framework allows you to fake every kind of method or class and control the methods behavior.
It also integrates with GoogleTest which we use in my team and it works ...
Not free or even cheap but you might be able to get a demo licence but this sounds like a job for LDRA TBRun &/or LDRAunit - the nice thing is that it will quite rapidly tell you which stubs are needed and generate the framework for them, both at unit level and sub-system level.
It will also allow unit testing on the target hardware as well as on a ...