Unfortunately the link above does not exist anymore. Do you have a new one?
May be this one https://www.youtube.com/watch?v=q_ghKkrl3KE
this old powerpoint by Alpha Monkey talks about the origins and the why of monkey c, great stuff :)
Unfortunately the link above does not exist anymore. Do you have a new one?
May be this one https://www.youtube.com/watch?v=q_ghKkrl3KE
There's also this (it's a comment/link to a podcast by a Garmin employee about device internals)
https://the5krunner.com/2022/04/29/garmin-epix-2-review/#comment-107584
Check out this podcast. https://cppcast.com/brad-larson-cpp-watch/
If you follow the tech stack stuff at all, it becomes amazing that these watches do so much and franks work at all. Garmin has a drastically simplified architecture relative to Apple. It’s not really based on a operating system or barely an operating system — nothing like the Unix model in Apple WatchOS or Google WearOS.
– no memory protection at all
– no processes
– no kernel protection or kernel vs user concept
– everything is a single process with threads
– everything is C and C++
– The connectIQ interpreter is a thread running in this stuff (and an interpreter is expensive in terms or compute which means battery overhead)
– basically any programming error can hang or crash the watchIt’s a punishing environment for the Garmin engineers to work in. But on the other hand that is how they get so much more battery life than WearOS and WatchOS. I’m now astonished that ConnectIQ works at all, let alone as well as it does.
There's actually an O'Reilly book about CIQ. It came out some time back, and there was a PDF of it, but. I looked around and couldn't find a link. They passed out hard copies at one of the summits. It's really dated right now as it was for CIQ 1