CHDK Wiki
Advertisement

Модифициране на изходния код[]

Изисквания[]

Ако желаете да модифицирате изходния код на CHDK, за да компилирате собствена версия, ще имате нужда от:

  • Познания по програмния език C. (тук има онлайн самоучители и ресурси)
  • Прост текстов редактор, с който да модифицирате програмния код. По-добре е обаче да използвате специализиран редактор, който разпознава синтаксиса на езика (например Notepad++) или някоя интегрирана среда за разработка под C.
  • Изходния код (Как да го вземем).
  • Инструкции как да компилирате CHDK, които могад да бъдат намерени тук: за Linux, за Windows.
  • SVN-клиент може да се окаже полезен, ако искате да участвате в разработването на CHDK или ако искате да държите актуална вашата версия (вижте тук).

Процедура[]

Процедурата е ясна сама по себе си: разучете добре изходния код, направете нужните модификации, компилирайте кода и тествайте върху вашата камера.

Не се страхувайте да променяте каквото и да било! От гледна точка на сигурността, можете да модифицирате които файлове пожелаете. В изходния код няма функции, които да позволяват обновяване (или заменяне) на оригиналния фирмуер на камерата (прочетете това). Така че, най-лошото нещо, което може да се случи е, че кодът няма да работи. Ако това стане, изключете камерата или махнете батериите и всичко ще бъде наред.

Напътствия за кода[]

Изходният код

  • trunk – версията на Vitaly. Тя не съдържа богатата функционалност на версията на GrAnd, затова е добре да започнете оттук ако искате на пренесете CHDK за друга камера, за която още няма поддръжка.
  • branches
    • grand – версията на GrAnd. Това е вероятно изходния код, от който е компилирана версията на CHDK, която използвате във вашата камера.
      • bin – за двоични файлове. Нормално тук няма нищо. След компилиране на кода тук ще откриете готовите бинарни файлове.
      • core – ядрото на CHDK. Ако искате да добавите нещо, или да промените съществуваща функционалност, това е вероятно единствената директория, в която трябва да погледнете. (Може също и в 'lib' и 'include'.)
      • doc - документация. Не е необходима за компилиране на ваша собствена версия.
      • fonts - шрифтове. Не е необходима за компилиране на вашата версия.
      • include - Заглавни (header) файлове. Погледнете също 'core'.
      • lib – библиотеки (libraries): някои математически и стандартни функции на C, uBASIC, шрифтове, други неща. Вижте също 'core'.
      • loader – Първоначалният код, стартиран от камерата. Няма нужда да променяте тук каквото и да било (освен ако не пренасяте CHDK за друг модел камера).
      • platform – код, който е специфичен за конкретен модел камера и дори фирмуер. Тук трябва да модифицирате нещо, само ако добавяте нови референции (указатели) към функции от оригиналния фирмуер на камерата.
      • script – примерни скриптове. Не е необходима за компилиране на собствената ви версия.
      • tools – някои инструменти, за да улеснят живота ви :). Тук трябва да модифицирате нещо, само ако добавяте нови указатели към функции от оригиналния фирмуер на камерата.


Вижте също и тук.

Advertisement