Rockbox Technical Forums

Rockbox Development => New Ports => Topic started by: Aux on April 20, 2007, 04:50:39 PM

Title: Kingston KPEX
Post by: Aux on April 20, 2007, 04:50:39 PM
I have a firmware source code for my player (yep, device vendor gave me that after long discussion :)) but one thing is missing - compiler! Documentation suggests using ADS 1.2 (ARM Developer Suite), but I don't know where to get it. What other options exist? Is GCC compatible with source code for ADS?
Title: Re: Which ARM compiler to use?
Post by: Llorean on April 20, 2007, 04:52:17 PM
Rockbox for ARM uses arm-elf-gcc 4.0.3.

Questions about how to compile source code for some other project aren't exactly relevant here.
Title: Re: Which ARM compiler to use?
Post by: ColdSphinx on April 20, 2007, 04:53:41 PM
What player is it? Could be portet ;)
Title: Re: Which ARM compiler to use?
Post by: Aux on April 21, 2007, 03:34:31 AM
I have Telechips SDK for TCC76x chips (my Kingston KPEX runs on it). Yes, I'm willing to port Rockbox, but at first I would like to understand what's going on inside (:
Title: Re: Which ARM compiler to use?
Post by: Bagder on April 21, 2007, 05:06:00 AM
You'll probably find that gcc works fine to compile plain C code but you might need to fix things such as what header to include etc. If you have assembler files in the source package they need to be converted to gcc style.

The approach for new ports as outlined in http://www.rockbox.org/twiki/bin/view/Main/NewPort works fine even for this situation.

BTW, is that source bundle you got only for your personal consumption?
Title: Re: Which ARM compiler to use?
Post by: Aux on April 21, 2007, 11:18:59 AM
Well I managed to compile code with GCC (I did a few tweeks to sources), but everything stops at linking. At first LD couldn't find .a libraries, when I pointed it to them LD throws a lot of:
Code: [Select]
c:/dev/arm/winarm/bin/../lib/gcc/arm-elf/4.1.1/../../../../arm-elf/bin/ld.exe: ERROR:
Source object c:/dev/arm/winarm/bin/../lib/gcc/arm-elf/4.1.1/../../../../arm-elf/lib\libc.a(atexit.o)
has EABI version 0, but target a.out has EABI version 2

c:/dev/arm/winarm/bin/../lib/gcc/arm-elf/4.1.1/../../../../arm-elf/bin/ld.exe:
failed to merge target specific data of file
c:/dev/arm/winarm/bin/../lib/gcc/arm-elf/4.1.1/../../../../arm-elf/lib\libc.a(atexit.o)
I'm not a big fan of GCC so I don't exactly understand what's wrong. It would be nice if someone explained.

I've got full SDK from Telechips including all docs and sources, but I'm not allowed to share that information. Currently I'm planning to understand their firmware and how it works, then I will be able to make Rockbox port without sharing any of sensitive information I recieved (sort of :)).

P.S. If only I could get RealView Developer Suite... Sources are bundled as RVDS's integrated CodeWarrior projects.
Title: Re: Which ARM compiler to use?
Post by: Bagder on April 21, 2007, 04:29:36 PM
Code: [Select]
c:/dev/arm/winarm/bin/../lib/gcc/arm-elf/4.1.1/../../../../arm-elf/bin/ld.exe: ERROR:
Source object c:/dev/arm/winarm/bin/../lib/gcc/arm-elf/4.1.1/../../../../arm-elf/lib\libc.a(atexit.o)
has EABI version 0, but target a.out has EABI version 2
I'm not a big fan of GCC so I don't exactly understand what's wrong. It would be nice if someone explained.

1. This is not Rockbox

2. This is not a compiler version we recommend (for Rockbox)

3. EABI is the "Embedded" ABI by ARM ltd. See
http://www.codesourcery.com/gnu_toolchains/arm/faq.html#q_ABI_what_is_abi and
http://www.arm.com/products/DevTools/ABI.html

This is hardly about being "a fan" of a particular compiler, it is about building source code. Since you have trouble already at this point, I would really suggest you try to get permission to share your info with at least a few others to increase the chances of success. Oh, right, and then find a few other skilled people who can join your Rockbox for Kingston KPEX porting team and help out.
Title: Re: Kingston KPEX
Post by: Izuil on May 30, 2007, 01:39:24 PM
I also own a K-PEX and would love to get RockBox ported to it! :)

I can disassemble mine and take some pictures if that would help?

EDIT: I did a quick disassemblance and scanned in the results only problem is that the images are about 35 mb in size so that you will have to ask me on my mail/msn/jabber: robin.bjorklin@gmail.com if you need the images.

EDIT2: Okey stupid me... that was i .pnm format :P in .jpg the images were only 500kb each

EDIT3: With some more modification the images now are att around 200kb.
Also they have been uploaded to the wiki: http://www.rockbox.org/twiki/bin/view/Main/KingstonKPEX