User Tools

Site Tools


dev:nab:v2:mtl
no way to compare when less than two revisions

Differences

This shows you the differences between two versions of the page.


Next revision
dev:nab:v2:mtl [2015/11/13 20:41] – created redox
Line 1: Line 1:
 +# Metal source compilation
  
 +## Overview
 +
 +The Nabaztag:tag uses a virtual machine to run "bytecodes", quite like Java does. It makes it easier for the developpers to "update" the code at runtime (and I guess it also sandboxes the "user" code, allowing for better ressources management and maybe some security...). The bytecodes are written in a subset/version of a language called "Metal", written by Sylvain Huet. 
 +
 +The Nabaztag:tag uses two bytecodes, that I will describe as:
 +
 +- The BOOT bytecode, which is embedded in the firmware and runs at boot time. It manages the configuration page and also the boot process of the Nabaztag (Wifi auth , DHCP, Firmware updates, ...)
 +- The NOMINAL bytecode, which is downloaded when the Nabaztag boots. It will be the main runtime bytecode.
 +
 +The BOOT bytecode can only be updated through a firmware update, while the NOMINAL bytecode can be customized for every Nabaztag. But I'm no expert for this stuff; Pixel did a great job exploring and tweaking the bytecode to add functions, even before we had the sources, see the [OpenJabNab wiki](http://wiki.openjabnab.fr/) (French) for more informations.
 +
 +Well, now that we have the sources, the remaining question is: How to compile from a Metal source to an executable bytecode ?
 +
 +## Compilation
 +
 +
 +
 +## Conversion for embedding into the firmware
 +
 +## Links
/home/share/www/redox.ws/wiki/data/pages/dev/nab/v2/mtl.txt · Last modified: 2023/11/24 22:23 by redox