The DMBoard ICS core is a Microchip cpu on which it has been created a virtual machine (DM Virtual Machine) with a finite number of variable length instructions.
This allowed creating simple instructions that handle very complex hardware functions like the GSM module. The language that the DB Board ICS is able to interpret is then a high level assembler called DMasm.
The DM Virtual Machine can be upgraded directly from the USB port present on the board thanks to a boot loader firmware already loaded on the DM Board ICS.
The programming also is done through the USB port. All is needed is to boot the board in programming mode starting the programming procedure of the DM Virtual Machine.
Obviously the coding of the program using the DMasm language wouldn’t lead to a simpler an easy way to write the application. It has then been created a second programming language called DMstate that is directly converted in a blocks graphical language by the DM Design IDE.
While compiling the application the DM Design software first convert the graphical language in DMstate language that it compiles it in DMasm and finally it creates the machine code to be sent to the board.