Все же FBD-схемы не дураки придумали, я бы предложил подумать над
плагином в какого-нибудь FBD-монстра. Все же "чистый Си" плохо подходит для задач пром.управления.
Очень нехватает команды yield(),
а тащить ради нее в user-space творение Дункелса - стремно.
По поводу глобальных переменных - я использую выхлоп линкера.
Вручную. Но это просто текст, его распарсить не сложно.