Новое на форуме

PowerShot SX160 ->
[23.01.17 03:20] WillieWhomy
Русский Хелп по а... ->
[22.01.17 21:12] Frankabunk
Чем отличается те... ->
[22.01.17 21:11] Frankabunk
Canon PowerShot S... ->
[22.01.17 21:10] Frankabunk
Посоветуйте какой... ->
[22.01.17 21:08] Frankabunk
PowerShot A810 ->
[21.01.17 11:01] Charlesgeace
RawColorLikeJpeg ->
[19.01.17 23:51] JamesPaync
Powershot G11 ->
[17.01.17 16:53] KennethKa
Главная » Статьи » Программирование

Print
Сборка прошивки под Windows
Для сборки CHDK-прошивки под Windows вам потребуется Unix-like среда типа Cygwin или Mingw/MSys. Также предполагается, что вы владеете базовыми знаниями работы в командной строке Windows.

Среда разработки

Готовую среду разработки вы можете взять здесь. (Возможно она не работает под Vista, хотя под Windows 2000/XP она работает нормально)

Установка

Среда разработки

  • Создайте папку для проекта CHDK. Например, D:\CHDK.
  • Создайте поддиректорию для среды разработки. Например, D:\CHDK\gcc.
  • Распакуйте в эту поддиректорию архив со средой разработки.
  • Добавьте папку с exe-файлами в вашу переменную окружения PATH.
Для этого откройте 'Start' menu -> 'Control Panel' -> 'System', закладка 'Advanced' tab, кнопка 'Environment Variables'. Я использовал переменную PATH из User Variables. Если переменная PATH не существует просто создайте её и присвойте ей 'D:\CHDK\gcc\bin'. Если переменная PATH существует, то добавьте в конец её ';D:\CHDK\gcc\bin' (не забудьте разделитель ';' (точка-с-запятой). Сохраните сделанные изменения.
Примечание:
Все переменные окружения в Windows - регистронезависимые. То есть, если имеется переменная с именем 'Path' или 'path' или 'pAtH' просто используйте её. Не создавайте новую заглавными буквами.

Исходники

  • Создайте рабочую дитекторию. Например, D:\CHDK\src.
  • Сказайте последню версию исходников из SVN-репозитория: tools.assembla.com в созданную директорию.
Вы можете использовать SVN-клиент для Windows или просто скачать исходники ZIP-архивом непосредственно с tools.assembla.com.
Если вы скачали исходники архивом, распакуйте его в папку D:\CHDK\src\. Затем проверьте, что директория 'bin' присутствует на верхнем уровне иерархии исходников (т.е.. D:\CHDK\src\branches\grand\bin\). Если её нет, то создайте её.
Если вы планируете в дальнейшем участвовать в разработке и всегда иметь последние изменения в вашей копии, то использование SVN-клиента является более предпочтительным, так как он позволяет совмещать изменения из/в  SVN-репозиторий. Путь до SVN-репозитория - https://tools.assembla.com/svn/chdk. Для первичного получения исходников вы можете использовать следующую команду:
 svn checkout http://tools.assembla.com/svn/branches/grand chdk

Процесс сборки

Перейдите в директорию с исходниками(т.е.. D:\CHDK\src\branches\grand\). Затем наберите:

 gmake fir

По умолчанию, CHDK собирается только для A610, fw1.00e. Если вы хотите собрать прошивку для другой модели камеры, просто запускайте 'gmake' с аргументами PLATFORM и PLATFORMSUB. Например:

 gmake PLATFORM=a620 PLATFORMSUB=100f fir

Чтобы скомпилировать прошивку для всех камер, наберите:

 gmake batch-zip

Проблемы и решения

Кофликт с продуктами Borland

Если в пути находится компилятор фирмы Borland, это может привести к ошибкам компиляции в связи с тем, что среда сборки будет использовать не те файлы (с теми же именами). Пример некорректной работы:

>> Entering to platform/a620/sub/100f
boot.c -> boot.o
stubs_min.S -> stubs_min.o
boot.c -> stubs_auto.S
stubs_auto.S -> stubs_auto.o
-> stubs_entry.S
CAUTION! 'stubs_entry.S' is not uptated due to target firmware binary not found!
Touch Version 4.2 Copyright (c) 1998 Borland International

ERROR! There are unresolved addresses in 'stubs_entry.S' (a620-100f) for the following names:
File stubs_entry.S:
free
Please, add them into 'stubs_entry_2.S' manually!

Чтобы избежать такого поведения, просто изолируйте продукт Borland (например, модифицированием переменной PATH).

Undefined reference to `sub_...'

Неожиданно, или после обновления, может возникнуть сообщение об ошибке такого рода:

...
-> main.elf
../platform/a610/sub/100e/libplatformsub.a(boot.o): In function `h_usrInit':
boot.c:(.text+0x4): undefined reference to `sub_FFC019BC'
boot.c:(.text+0x10): undefined reference to `sub_FFEB737C'
boot.c:(.text+0x14): undefined reference to `sub_FFEA3A54'
...

Чтобы исправить эту проблему удалите файл 'platform/XXX/sub/YYY/stubs_auto.S' И снова скачайте его из репозитория.




Источник: http://scratchpad.wikia.com/wiki/CHDK/Compiling_CHDK_under_Windows
Категория: Программирование | Добавил: GrAnd (27.09.07) | Автор: GrAnd
Просмотров: 8049 | Комментарии: 9 | Рейтинг: 0.0/0
Всего комментариев: 9
alexandr123   (15.07.09 10:59)   Комментарий # 8
Нет аватара
http://www.zshare.net/download/gcc_env_for_hdk-3-4-6-rar.html -- ссылка умерла

Mika   (16.07.09 20:53)   Комментарий # 9
Mika
Эта ссылка умерла очень давно, воспользуйтесь вот этим http://scratchpad.wikia.com/wiki/CHDK/Compiling_CHDK_under_Window

x4team   (05.05.08 17:17)   Комментарий # 7
Нет аватара
"готовая среда" не скачивается)!!!!! проверьте плиз ссылку (по истечении 60 сек, скачки нет!), а точнее перезалейте файл...

pethead   (09.04.08 06:52)   Комментарий # 6
pethead
thanks! сработало!

-> s5is-101b.FI2
**** Firmware creation completed successfully


petrov_timofey   (06.04.08 15:10)   Комментарий # 5
Нет аватара
anonymous не катит, комрады!

EWAVR   (04.04.08 23:37)   Комментарий # 4
Нет аватара
Aleksey

Там ошибка в URL, надо svn checkout http://tools.assembla.com/svn/chdk/trunk [имя локальной директории]


pethead   (03.04.08 19:12)   Комментарий # 3
pethead
хотел обновить но...
svn checkout http://tools.assembla.com/svn/branches/grand chdk
не сработало...
C:\CHDK\SRC>svn checkout http://tools.assembla.com/svn/branches/grand chdk
svn: PROPFIND request failed on '/svn'
svn: PROPFIND of '/svn': 405 Method Not Allowed (http://tools.assembla.com)

pethead   (31.03.08 21:42)   Комментарий # 2
pethead
не работает на s5 is. а как же опция "для всех аппаратов"? изза dryos?

pethead   (04.03.08 12:32)   Комментарий # 1
pethead
спасибо. собрал! smile

Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]

Поиск

v