Rockbox Development > New Ports
Cowon D2
Tigerite:
I tried to follow the manual instructions at http://www.rockbox.org/wiki/CrossCompiler but binutils wouldn't build, I had a stack trace error. Mind you, those look pretty out of date, so maybe using a previous version of the shell script is a better option - I'll have another bash at it.
Ideally, I'd like to find out what is causing the EABI build to have the problems, as I think long-term it's got to be the better solution, but I don't really know where to start on that..
saratoga:
The pre eabi version of roxkboxdev.sh should work fine. We all used it back in those days.
Tigerite:
Well, I got binutils to compile but gcc is another matter, as http://www.rockbox.org/gcc/rockbox-multilibs-arm-elf-gcc-4.0.3_3.diff seems to no longer exist.. does anyone happen to have a copy? Google threw up a blank, I'm afraid..
EDIT: Never mind, found it in the tracker: http://www.rockbox.org/tracker/task/10436?getfile=20040
bluebrother:
The patches are also available in the www git repository: http://git.rockbox.org/?p=www.git;a=tree;f=gcc
Looks like version 3 of that patch was forgotten though (which is a bit strange if rockboxdev.sh used it)
Tigerite:
Thanks for all the help, I managed to get the latest rockbox to compile with --no-eabi! I had to change lib/rbcodec/dsp/eq.c slightly though as gcc 4.0.3 is fussier than 4.4.4 - it was giving me an "initializer element is not constant" error. Does the below seem sane, I've never been too hot when it comes to C++ pointers?
--- Code: ------ a/orig/rockbox/lib/rbcodec/dsp/eq.c
+++ b/dev/rockbox/lib/rbcodec/dsp/eq.c
@@ -75,9 +75,9 @@ void dsp_set_eq_coefs(int band, const struct eq_band_setting *setting)
unsigned long Q, long db,
struct dsp_filter *f) =
{
- [0] = filter_ls_coefs,
- [1 ... EQ_NUM_BANDS-2] = filter_pk_coefs,
- [EQ_NUM_BANDS-1] = filter_hs_coefs,
+ [0] = &filter_ls_coefs,
+ [1 ... EQ_NUM_BANDS-2] = &filter_pk_coefs,
+ [EQ_NUM_BANDS-1] = &filter_hs_coefs
};
if (band < 0 || band >= EQ_NUM_BANDS)
@@ -98,8 +98,8 @@ void dsp_set_eq_coefs(int band, const struct eq_band_setting *setting)
/* Convert user settings to format required by coef generator
functions */
- coef_gen[band](0xffffffff / NATIVE_FREQUENCY * setting->cutoff,
- setting->q ?: 1, setting->gain, filter);
+ (*coef_gen[band])(0xffffffff / NATIVE_FREQUENCY * setting->cutoff,
+ setting->q ?: 1, setting->gain, filter);
}
if (mask == eq_data.enabled)
--- End code ---
I believe the last change isn't strictly needed, as the compiler should figure it out anyway, but I decided to err on the side of caution (and clarity)..
Navigation
[0] Message Index
[#] Next page
[*] Previous page
Go to full version