Rockbox Development > New Ports

Cowon D2

<< < (187/194) > >>

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