Skip to content.

Find topic

General webs

Web tools

Help

This TWiki is...

  • Open to collaborations:
  • Creative Commons License

  • Kindly hosted by:
  • Hosted by Sourceforge

  • Awaiting your donations:
Main > TWikiUsers > GarBage > GarBageBranch > HowtoCompile

HOWTO Build your own Neuros Firmware

Purpose:

The purpose of this draft is to provide an easy way to build a custom firmware for the Neuros Digital Audio Player (Neuros) from Digital innovations (DI).

Disclaimer:

Currently, the instructions posted here are given for the GarBageBranch of the firwmare. This branch is considered to be experimental.
There are no warranties, neither expressed nor implied. You are on your own.

Background:

On August 24, 2004 Digital Innovations released the source code of the firmware ran by its digital player called Neuros. Here's a message from DI's CEO, Joe Born regarding this issue:

--

At long last, we have released the source code for the Neuros firmware. 
Itís largely the product of a devoted group of volunteers who have helped 
with many aspects of the project. 
Thanks to all of you that contributed effort, research or just moral support.

For those of you new to the Neuros, we feel that the Neuros has a number 
of important advantages that makes it attractive to the OSS and developer 
communities generally:

A powerful hardware platform including a very capable TI DSP, 
FM Broadcasting and receiving, both flash and HD configurations 
(up to 80GB in capacity), a built in mic and line in, and of course, 
very high quality hw analog/digital converters for great sound. 
This hardware means that the potential of the device includes 
a host of possibilities: broadcasting features including 
wireless data transfer, a variety of new possible playback codecs, 
as well as all kinds of audio signal manipulation and other 
"digital audio computer" functionality (just use your imagination). 
In addition to our already robust recording features, 
lossless codecs are possible as well. 
Not to mention that there are already four versions of open source 
synchronization software available for the PC on a variety of platforms.

As a company, we're willing to support the community in a way 
that not many HW companies are, including releasing documentation 
and even schematics in addition to source code. 
In addition, we've previously donated HW to sponsor worthwhile projects 
which have yielded some of the features and improvements 
currently on the device. And, as those of you familiar with Neuros 
already know, we have always fostered an open and uncensored 
discussion environment.

Now it's your turn. We need your help to fully realize the vision 
of the digital audio computer. Open source software isn't much good 
without a community of developers. Most immediately, we need the tools 
to make the source code really useful. 
We need to get the GCC compiler working, and we need a program loader. 
Neuros will continue to contribute our enhancements on making the Neuros 
the most advanced and flexible device out there, and your help can 
accelerate that effort.

Thanks again to all those that contributed 
and welcome aboard to those of you new to the Neuros.

Joe Born
President
Neuros Audio, LLC
--

That brilliant stroke provides new and exciting ways to customize your player.

0.- Requirements

0.1 - Software

A Microsoft Windows operating system is needed.
There are reports of building the firmware under Windows 2000 and Windows XP. Nothing is known about earlier versions.
Currently it is not possible to build the firmware under other OSes, as the compiler used is Windows based. But there are reports of success building it under machine emulation layers such as VMWare or bochs.

Also, the Microsoft .NET Framework is needed to build the firmware, or some of the utils on /buidtools/ will error.

i. A CVS client, needed to get the source code. For MS Windows i recommend TortoiseCVS .
(http://www.tortoisecvs.org).

and

ii. A 'make' compatible program. I use CYGWIN's make.
(http://www.cygwin.com)
If you install this for the first time, be sure to set it to use UNIX-style linefeeds (it's an option in the setup). Otherwise, see below for a tweak you have to make to one batch file.

0.2 - Hardware

A computer running any OS of the above. A Neuros, obviously.

0.3 - Mood

Building the firmware is not difficult if everything works as expected. If problems arise, contact the development team of the SourceForge neuros-firmware project. Tweaking, enhancing, and/or changing the firmware requires some knowledge of the C language and assembler.

1.- Getting the compiler

1.1.- Register with TI Website.

Go to TI Website and apply for an account.

1.2.- Download the Evaluation Package

Get C5000 Code Composer Studio Evaluation FET (Free Evaluation Tool) from TI's website: link

Direct link

The latest version (2.21) weighs in at about 227 Mb.

2.- Getting the code

Checkout the module 'neuros-firmware' from the CVS repository of the project on Sourceforge. The CVSROOT is:

:pserver:anonymous@cvs.sourceforge.net:/cvsroot/neuros-firmware

There are several branches there, the default one is HEAD , the GarBageBranch is garbage (the others that start with garbage but have numbers afterwards are tags for archived versions). Check your cvs program documentation for instructions on how to checkout a specific branch. The instructions given on this document apply only for the latest garbage branch available. If anyone cares to correct this draft pointing out diversions between facing the HEAD branch or the garbage branch, feel free to do so.

3.- Setting up the compiler

Decompress the downloaded CCS_EVAL_C5000_2.21.zip file to a folder of your choice and run SETUP.EXE. Install the Package in a folder with no spaces on it, "C:\TI\" is the best choice. Putting it somewhere else is OK, you'll just need to edit some files, see below.

Once installed go to Start Menu\Texas Instruments\Code Composer Studio Free Eval Tools 2 ('C5000)\Setup Code Composer Studio

And import the profile called "C5416 Device Simulator". Then, Save and Quit.

4.- Preparing the code

Go to Start Menu\Texas Instruments\Code Composer Studio Free Eval Tools 2 ('C5000)\Configuration Tool and open the file .\neuros-firmware\ccs_projects\Main_APP\Neuros200\CCS_Auto_Source\Neuros200.cdb Say Yes and Accept all the messages. Save and Exit. This last step is no longer needed on recent garbage versions of CVS code.

If you have installed CCS somewhere other than the default location "C:\TI\", you'll have to tweak the bat files located in .\neuros-firmware\ccs_projects\Main_APP\Neuros200\ and replace the default path to the TI tools, to match yours.
Make sure you have your make program on your PATH.
Edit the Neuros200.mak file also, and set OBJ_DIR and all paths accordingly.

Some people have also found the need to alter build\image.cmd and/or Neuros200.mak and double check the file for correct DOS line endings (CR/LF). This is due to a possible alteration of the file during the CVS checkout if your CVS client was not configured correctly. You can use the d2u -U file_to_alter command from the cygwin distribution to fix that.

It the make or d2u command is not accessible you can add PATH=c:\cygwin\bin;%PATH% in your environnement settings. Using another make tool could give you some wrong errors, running make -v should tell you are using gnumake 3.80 or later.

If you have a Cygwin that is configured to use DOS-style newlines, you need to set the environment variable CYGWIN to binmode. The easiest way to do this without messing up anything else is to edit make-d.bat and add this text before the call to the make command:
SET CYGWIN=%CYGWIN% binmode

5.- Compiling the firmware

After making sure the paths are correctly set, run .\neuros-firmware\ccs_projects\Main_APP\Neuros200\make-d.bat You can do so by double clicking on it, but i'd recommend opening a command line window just to keep the errors visible, if any. Watch the output carefully, if there are no errors, you'll get a brand new firmware on .\neuros-firmware\source\DEBUGFLASHER\Debug\woid.hex
If your neuros was connected and uf.bat was edited accordingly, you'll also have your firmware automatically loaded on it. Neverthless you'll need to tell your Neuros to do the upgrade.

Should any errors occur, watch the output, check your edited files and also make sure you pulled a stable version from CVS. (The building process for the HEAD branch differs, make sure you checked out the garbage branch.)

6.- Getting the firmware on your Neuros

You can directly transfer it to your device by editing .\neuros-firmware\ccs_projects\Main_APP\Neuros200\uf.bat and setting the correct drive letter. Then, run it.

If not, rename it from the current location and transfer manually as usual. That is, if your Neuros is drive letter N: , install the firmware as N:\firmware\woid.hex

7.- Installing the new firmware.

For Neuros USB 1.1 backpacks:

  • Shut down Neuros properly by holding PLAY button.
  • Unplug the Neuros power cord.
  • Press PLAY and DOWN simultaneously to start the Neuros and bring up the message "Release Keys".
  • Follow the screen to connect USB cable.
  • Go to your PC and bring up Windows Explorer.
  • Find the Neuros removable disk and copy the "firmware" folder onto the Neuros drive, indicating to overwrite any files if they are already there.
  • Wait until the message "USB IDLE" appears on the Neuros screen.
  • Unmount your neuros.
  • Unplug the Neuros from the USB cable and follow the screen instructions to update firmware.

For Neuros USB 2.0 backpacks:

  • Power up player normally, and connect the 2.0 USB cable.
  • Find the Neuros on your PC, listed as removable or local disk. Copy "Firmware" folder to the Neuros drive.
  • Wain for the transfer to finish and unmount your Neuros.
  • Disconnect 2.0 USB cable.
  • Hold DOWN and PLAY button simultaneously to shutdown player. (Do not release DOWN button until player display shuts off.)
  • Press PLAY and DOWN simultaneously to start up player, this should bring up a window saying "New firmware detected, ready to install?", click YES and follow the screen instructions to update firmware.

Additional notes:

  • There's a lot of discussion going on in the #neuros channel on FreeNode IRC Network, and (mostly) friendly people (often) available to help you.
  • ALWAYS do a NAND FORMAT (Boot with 1+5+PLAY to start Diagnostics and follow the menus) when upgrading your firmware before reporting any bug/error.
  • ALWAYS check any bug/error with an official firmware before reporting them to us. Also, make sure you check out Bugzilla and make sure your bug/error is not covered there already. If the bug/error applies ONLY to the GarBageBranch DO NOT file a report on Bugzilla, and use the GarBageDiscussion topic on this wiki.


-- GarBage - 16 Oct 2004
-- Additional hints: NeroChiaro - 09 Nov 2004