How would you do this? My only idea is to protect the whole area, where the GPIOs are located, by MMU. An access will generate a data abort and I can then decide, if the access is ok.But, I don't know in detail at the moment, what information the data abort gives me.I have the adress of the instruction, which caused it in R14.But then, I need to analyze this instruction in order to know, which register should be written to the adress.
The problem with writing a separate API is, that the non-safe code is already there (CANOpen stack, operating system, ...). We are using the free FIQ interrupt to add our safety code in time-multiplex. Therefore, the CANOpen stack for example uses the API of the standard operating system... No way to add my own API with little effort...