|
From: Matthias T. <mt...@we...> - 2010-09-11 07:47:06
|
Pito, I'll start here, the upper "half" will take more time. But make yourself clear, what do you want to achieve: add an assembly word to the initial hex file or implement it on a running system. The assemblers only look similiar, they are not inter-changeable. > Interrupts: The interrupt support in amforth is weak. It lakes some features one may urgently need. > 1. it is understood you handle intrpts forth's way - the > generic-isr.asm is an interface to forth only, which sets Tflag and > translates vector to forth. What is the worst case latency? 1ms (if the interrupt occures at the beginning of the word 1ms.) I believe, that division is faster, but did not test it yet. Generally speaking: interrupts are handled by the inner interpreter. Any primitive word is atomar wrt to (forth-level) interrupts. > 2. how to work with several interrupts enabled (priority handling in > forth?), e.g. as we register ['] tick_isr TIMER2_OVFAddr int!, what > happens when I register for example 15 interrupts sources that way? The last registered code gets called. A problem arises, if interrupt x has fired and interrupt y comes before the x has been handled. In that case x will be completly unhandled (the curint variable is overwritten). Matthias |