embedded linux on ARM
I bought a DIY kit of a harddisk audio player from a DIY HiFi site, made in China. The site is good at selling DIY HiFi kits which is more on the electronics side. This is not the first time I buy from the site, which is always good in quality. But this is the first time the site sell a product that is software intensive. And this time, they are having problem on the quality of the software, which I am suffering. There are too many bugs, including too selective in recongnising USB storage, harddisk and SD card, hang while playing a file, recording or even pressing the remote too fast, etc etc. I am thinking of writing my own software for the player instead. But the site refused to disclose any info related to the hardware. I would like to know if any of you can help me dig them out so that I can try to save myself by writing my own software for it.
The site provides the root account password, I can obtain some of the info by browsing the folder structure. Here are the info I disclosed so far:
CPU: ARM SBC2440 (ARM920Tid as in /proc)
memory: I think is 64Mb
pcb/schematic: Don't know much. It has a small pcb with CPU & mem peggy back on a larger pcb with jtag and many I/O ports I/O ports: a jtag(8-pin), a LAN, a serial, a USB I think for system maint, 2X optical (in and out), 2X coaxial SPDIF (in and out), I2S out, display port (connects to a small LCD screen and some buttons for menu selection), another USB/SD cable port (connects to a small pcb with SD and USB slot), a 2.5" ATA port (connects to 2.5" harddisk).
linux kernel 2.6.13 gcc 3.4.1 (from /proc)
bootloader - I don't know but telnet to it with root has a -sh> prompt (is this bootloader prompt? or shell?)
application - no idea, but
- in /bin, I found busybox, buttons, cplus, mathtest, pthread in /sbin, I found armcomtest, boa, ftp, imagewrite, led, led-player, madplay, telnetd
- in /home/plg (the only user), I found llplayer, play, plw, plw_s, rcdr, ruid, rwr, schfl, sio, smod, uarttest, uarttest2 to 4.
- in /usr/bin, I found dosfsck, ffmpeg, flac, lame, llplayer, mac, mixer, mkdosfs, mplayer, udevinfo, udevtest, some sh script and some others.
- in /user/sbin, I found in.ftpd, in.telnetd, tcpd, udevcontrol, udevd, udevmonitor, udevsend, udevsettle, udevsynthesize, udevtrigger.
I found /etc/init.d/ there is a file rcS seems to be the start up script, but some of the files/commands cannot be found.
What I wanted to know is aiming at writing my own player software. The stock in seems to be the llplayer, and is the last command in the rc.S after mounting harddisk, but not sure. Can anybody help me on:
1. How to find out What bootloader is used?
2. Any way to find out the pin config of the jtag? With the jtag, I am able to make a ISP to backup and change the flash. What software suit for this? Is such backup safe in case I need the stock player back?
3. I believe the llplayer calls other programs such as ffmpeg, flac, mplayer etc. to function as a audio player. Appreciate any info on such interface.
I found the site ARM-linux with lots of info. But it is NOT beginner-friendly and some of them didn't seems to related to this machine. I am a programmer for many years, but not familiar with linux and only wrote a few testing C program. I believe picking up a language shouldn't be a problem to me, understanding linux and its environment, especially embedded-linux is a challenge to me. So if you know any info that may help with my task, please provide any info you have. As I am not familiar with linux, let me not where to look for if more info is needed since I don't know where to look except the above.