User Tools

Site Tools


dev:nab:v2:mtl

Differences

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


Previous revision
dev:nab:v2:mtl [2017/01/15 21:48] – [Overview] 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 ? 
- 
-## Get the source 
- 
-Git repo: `redox/mtl_linux.git` 
- 
-## 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