Software: Difference between revisions

From Sharpfin
Jump to navigation Jump to search
No edit summary
mNo edit summary
Line 1: Line 1:
This page only discusses the non-proprietary software running on the Barracuda module. We do *not* discuss or reverse engineer the 'Reciva Radio Application'.
dummy
 
If you think you can help build this public information resource, please [http://sharpfin.zevv.nl/index.php?title=Special:Userlogin&returnto=Main_Page create an account]and get involved.
 
= GPL Firmware =
 
The reciva radio uses a distribution of Linux for the kernel / core, which is available from [http://www.reciva.com/gpl The Reciva Server].  Interestingly, there are several different releases that contain identically marked (and sized) tarfiles !
 
Several versions are available, and are summarised in the following table:
 
[[Image:GPLVersions.png]]
 
= Bootloader =
 
The good bootloader, found on the Riscstation is the [http://www.simtec.co.uk/products/SWABLE/ ABLE Bootloader], it is possible that this is the loader which is used on the radio module.  This is the bootloader shipped with 'bast' platform Samsung 2410 Evaluation Board.  The ABLE bootloader is proprietary software from Simtel Electronics.  An open source project would have to replace this software with another bootloader such as Das U-Boot.
 
= Bootloader Information Resources =
 
* [http://www.aleph1.co.uk/book/print/310 ARM Bootloaders]
 
= Operating system and device drivers =
The Barracuda module runs [http://familiar.handhelds.org/ Familiar Linux].  Familiar Linux is a derivative of Debian Linux.  Debian Linux has been [http://www.debian.org/ports/arm/ ported to several ARM platforms, including bast ].  The reference platform for bast is the [http://www.simtec.co.uk/products/EB2410ITX/spec.html Simtec Electronics EB2410ITX Evaluation Board].
 
Linux 2.4.26 is running on the ARM CPU within the Samsung device. Sourcecode for drivers for the following devices is acknowledge to be available :
 
* USB Host device
* PCM audio output
* UART
* 'BAST' real time clock
* I2C interface (what's on the bus?)
* IRDA driver for 'NSC PC87108/PC87338' (is this onboard?)
* LCD (tm13264cbcg / mg1203d / ...)
 
There is no network interface available onboard, a USB network adapter is used.
 
It seems that Reciva used the [http://www.debian.org/releases/stable/arm/ch02s01.html.en 'bast' ARM architecture] as a base for their own development.
 
"Bast is a modern ARM 920 board with a 266MHz Samsung processor. It has integrated IDE, USB, Serial, Parallel, 
audio, video, flash and two ethernet ports. This system has a good bootloader which is also found on the CATS
and Riscstation systems."
 
(bast, cats, and riscstation are evaluation boards by Simtel Electronics)
 
Additional information about Linux on the 'bast' platform can be found [http://armlinux.simtec.co.uk/index.html here].
 
= System libraries + utilities =
 
The following libraries and applications will be needed at least for implementing radio software:
 
* C-library (glibc/uclibc?)
* Flash write/erase tools: mtd-utils
* Shell + basic unix tools (busybox!)
* codec libraries (libmad, libogg, libvorbis, libflac, etc)
* Support for WLAN and security: wireless tools and wpa_supplicant
* networking libraries for HTTP, RTP, RTSP, MMS, etc
* Webserver (boa?)
* Preferably a scripting language for rapid development and CGI scripts. Lua, perl, ruby ?
 
= 'Radio' application =
 
On top of all this, the 'radio application' will be running. This application might consist of various
processes, daemons, CGI-scripts, etc.
 
The main functions will be
 
* Handling of the user interface: LCD, buttons and led's
* Configuration of the device using a web server
* Network streaming + audio decoding. VLC for a quick start ?
* ...
 
== GPIO ==
 
The software source refers to the various GPIO signals: [[GPIOSignals]]

Revision as of 23:29, 17 August 2007

dummy