After using USBIZI from (www.ghielectronics.com), I switched to MBED (www.mbed.org), because of the mili-second interrupt latency and slow DIO inherent of the Micro .net framework.
ghi electronics does offer embedded C/assembly code through RLP on high end devices, and of course, it's not open source.
So I am wondering what netdurino can do to improve the speed of timing critical tasks.
how fast (interrupt and DIO latency)
Started by iammegatron, Oct 18 2010 09:05 PM
1 reply to this topic
#1
Posted 18 October 2010 - 09:05 PM
#2
Posted 18 October 2010 - 09:24 PM
Hi iammegatron,
Welcome to the Netduino community!
Since Netduino is open source, you can create native code for any MCU-intensive tasks and then call it from C#.
Native code injection at runtime ("RLP") is an extremely simple and easy-to-implement mechanism from a C++ perspective. Basically what you need to do to run native code is: copy native code into a section of memory on the chip; move the instruction pointer to it; jump back to your program when done.
Unfortunately, native code injection also gives one a lot of rope to hang oneself [You also have to think about .NET MF continuations/completions, timers, etc. if you're doing anything that could last longer than a few micro/milliseconds.]
We're currently designing a good user experience scenario for deploying native code without recompiling the firmware. We're really big on usability, and we want to make it as safe/sane as possible...so we might take a while getting it right and we might test a few things. In the meantime, you can absolutely write native code and compile it into your firmware. Community members have already written and are sharing bitbanger drivers, onewire drivers, and much more in this manner.
Does that answer your question well?
Chris
0 user(s) are reading this topic
0 members, 0 guests, 0 anonymous users