Changeset 594:bafb8ec18224

Show
Ignore:
Timestamp:
06/10/08 20:44:35 (7 months ago)
Author:
Maxime Petazzoni <maxime.petazzoni@…>
Branch:
default
Message:

Update the README file with more up-to-date information

Location:
nxos
Files:
2 modified

Legend:

Unmodified
Added
Removed
  • nxos/AUTHORS

    r565 r594  
    33Jérôme Flesch <jflesch (at) gmail.com> 
    44Maxime Petazzoni <sam (at) bulix.org> 
     5Edward Nys <edward.nys (at) gmail.com> 
     6 
  • nxos/README

    r123 r594  
    1 Procedure pour compiler NxOS 
    2 ============================ 
     1NxOS - an open source alternative operating system for the Lego Mindstorms NXT 
     2============================================================================== 
    33 
    4 Utilisez le script scripts/build-arm-toolchain.sh pour construire une  
    5 chaine de compilation croisee pour ARM7. 
     4Summary: 
    65 
    7 Une fois cette chaine compilee, recopiez environment.mak.tmpl en  
    8 environment.mak, et editez les chemins definis dedans pour pointer vers  
    9 la chaine de compilation croisee. 
     6 1. Introduction 
     7 2. Requirements 
     8 3. Building and testing 
     9 4. Notes and FAQ 
    1010 
    11 Assurez vous d'avoir un interpreteur Python disponible (necessaire pour  
    12 la generation des polices de caracteres), puis executez 'make'. 
    1311 
    14 NxOS devrait alors compiler, et produire deux binaires, 'nxos_rom.bin'  
    15 et 'nxos_samba.bin'. 
     121. Introduction 
     13^^^^^^^^^^^^^^^ 
     14 
     15NxOS is an open source operating system that runs on the Lego Mindstorms NXT 
     16platform. It aims at providing a comprehensive base system that provides 
     17easy-to-use APIs to the NXT's hardware, including sensors, display and motors. 
     18 
     19It also contains some libraries that developers of /application kernels/ may find 
     20of some interest, such as a file system or a GUI builder. 
     21 
     22NxOS is written in C, and must be cross-compiled to the ARM platform. See section 2 
     23below for the building requirements. 
     24 
     25 
     262. Requirements 
     27^^^^^^^^^^^^^^^ 
     28 
     29Building and testing NxOS requires a few softwares and libraries. Since most of 
     30the external utilities are written in Python, you will need a working installation 
     31of Python (www.python.org). You will also need libusb and the python-pyusb packages, 
     32needed by PyNXT to upload an NxOS kernel to the brick. 
     33 
     34  * Python >= 2.4 
     35  * libusb 
     36  * python-pyusb 
     37 
     38You will also need a working ARM cross-compilation chain. To ease 
     39the process, you will find in the scripts/ directory an automatic 
     40fetcher/builder : 
     41 
     42  % mkdir -p ~/arm-gcc/ 
     43  % cd $_ 
     44  % ~/where/is/nxos/nxos/scripts/build-arm-toolchain.sh 
     45  [...] 
     46 
     47Don't forget to add ~/arm-gcc/install/bin to your PATH environment variable. 
     48 
     49For MacOS X (>= 10.5.x) users, don't forget to install the Lego 
     50driver Leopard update from the Lego software updates page, or you 
     51won't be able to communicate with the brick via USB. 
     52 
     533. Building and testing 
     54^^^^^^^^^^^^^^^^^^^^^^^ 
     55 
     56To build NxOS, simply go inside the nxos/ subdirectory (the one 
     57that contains base/, systems/, ...) and type: 
     58 
     59  % scons appkernels=tests 
     60 
     61Finally, connect the brick to your computer with the USB cable, and do: 
     62 
     63  % ./boot_firmware tests samba 
     64 
     65The script will then ask you confirmation, and then upload the firmware 
     66to the brick's RAM (for ROM flashing mode, change 'samba' for 'rom'). 
     67 
     68To build and try another kernel, simply replace 'tests' by the name 
     69of the application kernel you want to build. The available kernels 
     70are the directory in systems/. You can also build several appkernels at 
     71once by using a comma-separated list. 
     72 
     734. Notes and FAQ 
     74^^^^^^^^^^^^^^^^ 
     75 
     76Anything? 
     77