firmware compiler
auto detect target