So I just ordered a Fez Panda II for the purpose of experimenting with compiling native code and using the JTAG interface. I do realize I need to wipe the original firmware, but that is fine and I assume I can restore the original firmware after I’m done?
However I’m a bit confused by the exposed JTAG interface on the Panada II. From the pictures, it looks like it is an 8-pin connector, not 10-pin. What would I need to do to connect this to a JTAG adapter? Is there some documentation somewhere that explains this?
For this particular project I really do need to erase the firmware. I’m working on a .Net-> ARM assembly compiler that generates a native application from an existing .Net exe. This includes a native runtime and your own application code compiled down to ARM assembly.
OK it is fine if I can’t restore the original .Net firmware (I can order a second Panda II for .Net development), but the question is still how do I interface with the exposed JTAG pins? It is advertised as having JTAG support, after all.
I think the main problem with JIT on a microcontroller is the limited memory space. A JIT compiler is quite complex and it outputs a new binary that itself needs more space. This was the original idea I had but I think the memory limitation is a real problem.
Right now the compiler generates C++ code that can be compiled for x86, and the runtime it generates supports multithreading, GC, delegates, boxing/unboxing, generics, arrays, etc. My plan is now to change it so that it generates ARM assembly directly.
When you write RLP code, you are usually writing simple drivers that do not need intensive debugging. The rest of the code is all C#. So, debugging can be done through sending serial messages or using IOs.
My compiler currently does a static code path analysis and strips out everything your application doesn’t touch (types, strings, resources, methods etc). Whether this is from a .Net CF of full .Net application is somewhat irrelevant since it only compiles what you actually use (if you use DateTime, but never call Format, the Format code is never compiled). As such it can create code that is even smaller than the .Net CF + your application, even if it starts from a full .Net application exe.
I have been handed a legacy project based on a FEZ Panda II and I am currently getting up to speed with NETMF and the hardware. One of the issues is going to be performance of some simple DSP so I am interested both in running native code under NETMF and the alternative of running a much simpler system on the unit, i.e. erasing a unit and downloading native code to a board. This led me to a topic from 2 years ago quoted below…
The link to the document is now broken and I have had no luck - probably due to ineptness - in finding it via a search. Can you help please? (UPDATE I have since found this - my mistake was to search for a PDF.)
Secondly can you quickly point me at a document that shows me how to completely erase the board so I can use the JTAG interface. I have successfully updated via the Tiny Bootloader but I did not see any way to remove the bootloader and hence, presumably, the start up code used to disable JTAG access.