Fandom

CHDK Wiki

Bulgarian/Compiling CHDK under Linux

< Bulgarian

598pages on
this wiki
Add New Page
Talk0 Share

Ad blocker interference detected!


Wikia is a free-to-use site that makes money from advertising. We have a modified experience for viewers using ad blockers

Wikia is not accessible if you’ve made further modifications. Remove the custom ad blocker rule(s) and the page will load as expected.

Компилиране на CHDK под LinuxEdit

Това е процедурата, използвана за компилиране на изходния код на CHDK под Linux (актуална към Април 2007).

  • Създайте директория, в която да сложите изходния код на CHDK.
 > mkdir ~/chdk && cd ~/chdk
  • Вземете кода на CHDK.
 > svn co https://tools.assembla.com/svn/chdk/trunk

или

 > svn co https://tools.assembla.com/svn/chdk/branches/grand
  • Или обновете изходния код
 > cd grand && svn up
  • Инсталирайте крос-компилатор
Вземете изходните кодове на gcc и binutils от хранилище на GNU (repository). За предпочитане е да използвате последните налични версии.
Определете място за крос-компилатора във вашия компютър.
 > mkdir ~/arm-elf
Инструктирайте компютъра, че ще стартирате програми от това място.
 > export PATH=${HOME}/arm-elf/bin:$PATH
Създайте работна област и компилирайте binutils и gcc.
 > mkdir ~/wa
 > cd ~/wa
 > tar xvfj ../src/rlx_dist/binutils-2.17.tar.bz2
 > tar xvfj ../src/rlx_dist/gcc-4.1.2.tar.bz2
 > cd binutils-2.17
 > ./configure --srcdir=../binutils-2.17 --target=arm-elf \
     --prefix=~/arm-elf
 > make
 > make install
 > cd ..
Редактирайте файла <gcc-4.1.2/gcc/config/arm/t-arm-elf>, за да включите следните линии, без знака "#" пред тях.
   MULTILIB_EXCEPTIONS += *mapcs-26/*mthumb-interwork
   MULTILIB_OPTIONS    += mno-thumb-interwork/mthumb-interwork
   MULTILIB_DIRNAMES   += normal interwork


 > mkdir gcc-4.1.2-arm-elf && cd gcc-4.1.2-arm-elf
 > ../gcc-4.1.2/configure --srcdir=../gcc-4.1.2 --target=arm-elf
     --with-cpu=arm9 --disable-libm --disable-libc --disable-threads
     --disable-nls --disable-libssp --disable-intl --disable-libiberty
     --enable-languages=c --with-softfloat-supp --with-float=soft
     --prefix=~/arm-elf
 > make
 > make install
С това приключва инсталацията на крос-компилатора.
  • Компилиране на CHDK. Влезте в директорията 'trunk' или 'grand'.
 > cd ~/chdk/grand
Редактирайте файла <makefile.inc>, за да изберете PLATFORM и PLATFORMSUB за вашата камера: просто махнете знака "#" където е нужно. Освен това, добавете следния ред в началото на файла <makefile.inc>, за да укажете местонахождението на крос-компилатора за ARM платформа,
 PATH := $(HOME)/arm-elf/bin:$(PATH)
Вече трябва да сте готови да компилирате всичко.
 > make fir
PS.FIR трябва да бъде създаден в директорията "bin".
Ако искате да компилирате CHDK за друга камера, просто изпълнете командата make с аргументи PLATFORM и PLATFORMSUB. Например:
 > make PLATFORM=a620 PLATFORMSUB=100f fir
За да компилирате CHDK за всички камери, напишете:
 > make batch-zip

Алтернативен метод с gcc-3.4.6 Edit

В CHDK е включен пач за компилиране с gcc-3.4.6. Той представлява проста инсталация, ако искате да ползвате тази версия на gcc. Този метод използва глобална интсалация на инструментите arm-elf.

Не забравяйте да изтриете всички стойности на променливата CFLAGS, които може да сте установили вече:

 > export CFLAGS=""

Компилиране и инсталиране на binutils Edit

Разархивирайте изходния код, влезте в директорията където е той и напишете:

 > mkdir binutils-2.17-arm-elf
 > cd binutils-2.17-arm-elf/
 > ../configure --srcdir=../ --target=arm-elf && make && sudo make install

Компилиране и инсталиране на GCC-3.4.6 Edit

Изтеглете gcc-3.4.6, разархивирайте го и влезте в директорията му. Използвайте пача, който идва с CHDK:

 > patch -p0 < [path_to_hdk]/grand/tools/patches/gcc-3.4-arm.diff
Компилирайте кода:
 > mkdir gcc-arm-elf
 > cd gcc-arm-elf/ 
 > ../configure --srcdir=../ --target=arm-elf --with-cpu=arm9 \
   --with-newlib --enable-multilib  --enable-languages=c \
   && make && sudo make install

Вече можете да компилирате CHDK, както е описано по-горе.

Also on Fandom

Random Wiki