Posted 4 years ago

The Great Bricking and The User Manual

Last night, I made some revisions to the code in the custom block but it appears to have overwritten the bootloader, as the MP3 player won’t load the original firmware anymore. This means I need to get some headers and my JTAG programmer out of storage to reload code… which is easier said than done. The project is therefore stalled at this time.

However, courtesy of Leon Heller on the chiphacker site, I know that there is a user manual for the LPC214x separate from the data sheet. That clarifies a lot of things!

Posted 4 years ago

Git Repos

I’ve branched development to a new git repo, so I have two repos for the code:

http://github.com/kisom/sfe_mp3 is the repo with my modifications to the default firmware, leaving most of SparkFun’s infrastructure in place.

http://github.com/brokenlcd/Custom-MP3-Board-Code is the repo I am writing my own code in; I am keeping MP3Dev.h but rewriting setup.h. This code is far from functional. It will be an interesting learning experience.

Posted 4 years ago

Getting the code to compile…

A repost from my other blog from before I started this one.

I have the MP3 development board from SparkFun working… when I got it, it didn’t work and I sort of left it for a while due to some other events going on. I pulled it out of storage recently, charged it, started messing with it, and after tweaking the LCD I was greeted with the SFE boot logo which I had not yet seen!

One of the things that had been a major roadblock in ARM development for me was getting ARM support working under linux. It’s important to note in this case that I hate Eclipse. If I’m going to use an IDE, I prefer Sun’s Netbeans. Don’t ask why, I just like it. Everything I saw was for getting the gcc-arm toolchain working (mostly under windows) in Eclipse. So I set out to figure it out.

For the record: I am using Linux 2.6.31-16-generic x86_64 in Ubuntu 9.10 on my laptop. I will soon double check these instructions (and edit the post so the information stays in one place) on my Gentoo desktop running Linux 2.6.31-gentoo-r6 x86_64.

Read More

Posted 4 years ago

Default Firmware Issues

The point of the SF MP3 development board is to hack it. With this in mind, the code that ships with the board is enough to allow you to be roughly functional. I’ve found the following issues that will need to be solved:

  • the file list is extremely sketchy
    • it consists of a gigantic array of all the file names in the array separated by null characters. No bounds checking is done - in the case of an oversized array, as mentioned in the user guide, the code can be overwritten. Bad juju!
  • there is no shuffle mode
  • there is no sleep mode (which is important because the power and reset buttons are covered by the case)
  • FAT16 support only

I’ve hacked the default code enough to tinker around, but I get the feeling I will be better off writing my own software (while including the extra libraries). This blog will be a chronicle of my adventures hacking the board.

Posted 4 years ago

the hardware!