Teaching firmware as a bridge between hardware and software | IEEE Journals & Magazine | IEEE Xplore