English Español français rss
> Accueil > Programme > Systèmes embarqués et Matériel Libre

Free operating systems for Nintendo DS : µClinux and RTEMS

Traduction(s) de cet article : français
Intervenant(s) :Jean Michel Friedt, Gwenhael Goavec
Type d'événement :Conférence
Niveau :Confirmé
Date :Mercredi 8 juillet 2009
Horaire :15h00
Durée :40 minutes
Langue :English
Lieu :Salle E122 - Isitem

The handheld game console Nintendo DS is old enough to be well documented, with part of it being compatible with the older Gameboy Advance. Based on an ARM9 processor and providing 4 MB RAM, opensource tools (toolchain based on the classical gcc/binutils/newlib set) provide the means to develop homebrew applications.

In order to be able to use this game console as a development board, we will first remind a few basic concepts of computer architecture, and specifically the signals available on the communication busses : this study will bring us towards the development of peripherals dedicated to instrumentation purposes such as digital outputs for control and acquisition of analog signals.

Software development during this first part will be performed under supervision of DSLinux : the port of uClinux for this console is functional and provides a familiar environment, with user space programs able to access the whole memory range thanks to the lack of MMU. Kernel modules are still introduced for managing hardware interrupts.

The conclusion of the first part is that the default available memory, 4 MB, in insufficient to practically use DSLinux, which requires too many resources.

We will hence focus on a development environment characterized by its low memory footprint : RTEMS. This set of free tools provides the means to develop real time applications on multiprocessor systems. A port to the Nintendo DS has been recently announced by M. Bucchianeri, B. Ratier, R. Voltz and C. Gestes [1], which will be used to apprehend this new environment. Porting some of the examples developed on DSLinux, we will demonstrate that the POSIX compatibility of RTEMS greatly reduces the adaptation time : examples will range from simple Hello World display to running an interactive shell and accessing hardware peripherals.

[1] http://www.rtems.com/ftp/pub/rtems/current_contrib/nds-bsp/manual.html

PDF - 3 Mo
Slides de la présentation / presentation slides