Ух ты! Столько новых для меня слов! Придётся ознакомиться. libaio, libevent нет в NuttX. fread(CAN) из юзерспэйса подразумевает предварительную настройку открываемого файла только на требуемые идентификаторы, что невозможно сделать при абстрагировании "CAN это файл". Есть SocketCAN, так оно там (для TI AM3517) такое тормозное и глючное что мои коллеги матюкаются и переписывают.