There is no standard output, unless it has been implemented and validated. The machine where the program is written cannot be the same where the program is executed, so the target hardware is either an emulator / simulator or an external device. This forces to setup a way to load the bare-metal program onto the target (flashing), start the program execution and access the target resources.