Yes.
The trick is to have a good abstraction layer reasonably close to the hardware. When you run tests on your development ("host") system, you use an implementation, which emulates the actual hardware, while an actual deployment of course maps the abstraction layer to the actual hardware.
If you have an abstraction layer, you can write tests, which verify that your emulator and the actual hardware behaves in the same way. Once you're sure of that, you can use the emulator to perform automated testing on the host system, so you with some confidence can postpone testing on the target system.
Greetings,
Jacob