I’ve been playing around with the RLP stuff on my Panda with the latest beta SDK. Got the examples running, but I have a few questions. I tried searching the forums for answers, but didn’t have much luck.
In managed code, you can directly access registers using the Register class. Is it also possible to access this address space from native code? Say for example I want to toggle a GPIO bit. Should I be able to do this from the native code? I’ve made a few attempts, but not having any luck.
Secondly, assuming you are able to do what I asked in the first question, how do the native/managed code interact? For example, if in my managed code I create:
OutputPort op = new OutputPort((Cpu.Pin)FEZ_Pin.Digital.IO13, false);
And then in my native code that executes at some point later, I change the direction of that I/O port (say I define it as an input), what happens to the managed object? Or, does this even make sense?
It seems to me that you could really mess things up if you don’t know what you are doing. If you aren’t careful when you muck around with low level registers in native code that may have already been referenced in managed code, you could create havoc. Is this a true statement?
Just trying to learn…