Где-то в одном месте в сишнике есть определение глобальной
переменной и без extern, uint8_t flag = 0xff;
В других сишниках чтобы на нее ссылаться надо делать объявление
extern uint8_t flag;
, которое можно для удобства засунуть в h-файл. И никак по-другому.