Rockbox Technical Forums
Rockbox Development => New Ports => Topic started 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?
-
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.
-
What player is it? Could be portet ;)
-
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 (:
-
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?
-
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:
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.
-
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.
-
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