After battling with the compiler for a few days, I'm convinced that I'm doing something wrong but I have no idea what...
Camera: Canon a700, 100b
Host platform: Linux
If I use the pre-built binaries for the a700, it works fine. (Yippee! I can do scripting!)
However, if I compile my own, it fails.
- I see the firmware update.
- I load the firmware.
- Everything hangs. No blue blinking light, power button non-responsive, no display.
Removing the battery cover allows it to turn off and then it is back to a working (plain) camera.
Can someone tell me what I'm doing wrong?
Here's where I got the source code:
svn co
https://tools.assembla.com/svn/chdk/trunk chdk
Here's my compiling environment (scripted for easy use):
==========================
#!/bin/sh
export home=`pwd`
export PATH=$home/arm-elf/bin:$PATH
(
echo "Creating cross-compiler."
mkdir tools
cd tools
echo "Extracting binutils"
tar -xf ../src/binutils-2.19.tar.gz
echo "Extracting gcc"
tar -xf ../src/gcc-3.4.6.tar.gz
(
cd binutils-2.19
./configure --srcdir=../binutils-2.19 --target=arm-elf --prefix=$home/arm-elf
make
make install
)
(
cd gcc-3.4.6
patch -p0 < ../../trunk/tools/patches/gcc-3.4-arm.diff
)
(
mkdir gcc-3.4.6-arm-elf
cd gcc-3.4.6-arm-elf
../gcc-3.4.6/configure --srcdir=../gcc-3.4.6 --target=arm-elf --enable-multilib --enable-languages=c --enable-clocale=gnu --disable-libm --disable-libc --disable-threads --disable-nls --disable-libssp --disable-intl --disable-libiberty --with-cpu=arm9 --with-newlib --prefix=${home}/arm-elf
(unset LIBRARY_PATH; unset CFLAGS; make && make install)
)
)
==========================
And here's how I'm doing the build:
==========================
#!/bin/bash
export home=`pwd`
export PATH=$home/arm-elf/bin:$PATH
(
echo "Compiling camera"
cd chdk/
make PLATFORM=a700 PLATFORMSUB=100b fir
echo "Executables are in chdk/bin"
)
==========================
Any ideas why the DISKBOOT.BIN and PS.FIR from the a700-100b binary distribution works, but my own compilation does not?
Thanks for any assistance.