An embedded system is an electronically controlled system combining hardware and software. Many systems used in real life such as power plants, medical instrument systems and home appliances are embedded. However, studies related to embedded system testing are insufficient. In embedded systems, it is necessary to develop a test technique to detect faults in interaction between hardware and software. We propose a test data selection technique using fault injection for the interaction between hardware and software. The proposed test data selection technique first simulates behavior of a software program from requirements specification. Hardware faults, after being converted to software faults, are then injected into the simulated program. We finally select effective test data to detect faults caused by the interactions between hardware and software. We apply our technique to a digital plant protection system and evaluate the effectiveness of selected test data through experiments.