It's fine to read that there is a demand on Pascal on microcontrollers. If you are using uCs, you might be interested on a compiler for the 16bit-uC family of Microchip.
Most compilers for microcontrollers don't consider the limited resources of the hardware. If the operating system is adapted to the compiler and uC hardware (but not the inverse), amazing performance is feasible with 16bit-microncontrollerrs. Since I needed double precision FP-math and perfect single-cycle accuracy of program-generated timings as well, I developed a new Pascal compiler EmbPas for the PIC24/dsPIC33 microcontroller family from the scratch. But why 64bit floating point? Many advanced data processing algorithms (f.ex. LMSq, SVD) demand high numerical precision while computation. The input/output can/will be less accurate.
Using the Whetstone benchmark, EmbPas code on the PIC24F (32 MHz) is 69% faster than Borland Pascal 7.0 with real math (6 bytes, 40bit mantissa) on an i486 processor with 33 MHz clock. To fit better on the 16bit architecture, the numerical format of EmbPas uses a 48bit mantissa but 53bit as of IEEE double precision. Compiled math functions of EmbPas (sqrt, ln, exp, sin, tan, arctan...) are, in average, 5 times faster than the same in C compiled by the latest XC16 compiler of Microchip. Note: Microchip was not interested on the much faster math assembler code since “the Microchip compiler still generates faster code than the competition”. OK, that's business.
Niklaus Wirth designed his Pascal compilers in a way that interpretation of intermediate code (see his P-compiler series) is easy. Interpretation enables modules (similar to units) which are running quasi-parallel. Modules can be loaded/disposed dynamically as required - an important feature if there is only 4 kbyte RAM. A loader/scheduler controls the interpreted modules by using preemptive multitasking. Concurrent modules can use floating point math - a feature which is hardly possible with C. The overhead for interpretation is 15 cycles per instruction of the intermediate code, so that the Whetstone code is slowed down by only 40% when using interpretation. Library modules can be compiled to machine code. Such modules must rely on cooperative multitasking. Interpretation absorbs CPU power, but allows to overcome the limitations of the Harvard architecture: you can load new program code without reprogramming the flash microcontroller.
As you see, Pascal programs can be run on microcontrollers with even <<1mW power dissipation - but not FreePascal using Linux or Windows. There are some similarities between EmbPas and Java, while Java is (by orders of magnitude) too complex for a microcontroller. EmbPas is applied for numerical processing and user interface in commercial measurement devices. However, the compiler is not commonly available since there is no time to support it, i.e. tests, bug fixes, manuals, GUI(s), operating system etc.