воскресенье, 18 сентября 2011 г.

F200HD

Речь пойдет о HD камкодере http://www.ebay-forum.ru/phpBB2/topic33178.html
... и клонах типа Каркама.
А знаете ли вы, что такая же аппаратная платформа используется в широкоизвестной Go Pro HD ? Но есть значительные различия, поэтому прошивки не совместимы...
Тут подробнее http://pixeldoc.kicks-ass.net/wiki/doku.php?id=hardware:goprohdhero
И еще тут http://chdk.setepontos.com/index.php?topic=5890.0

Для начала посмотрим что там у него внутри (вид со стороны разъема LCD на основную плату).
Если кликнуть на фотку - можно посмотреть маркированные компоненты.

IMG_5822

с другой стороны
IMG_5819

Со стороны разъема LCD в верхнем левом углу на фото виден JTAG.
jtag

Распиновка с большой вероятностью следующая. Точно проверены только пины UART.
Pin Function
1 JTAG_TDO
2 JTAG_CLK
3 JTAG_TMS
4 JTAG_TDI
5 JTAG_RST
6 GND (DGND)
7 UART0_RX
8 UART0_TX
9 A2_GPIO22 ?
10 3,3V

Нас интересуют пины UART: 6 - GND, 7 - RX, 8 - TX.

Для того что бы поиметь консоль нам понадобится преобразователь уровней RS-232 - TTL (3.3Вольта)
Например, такой (Nokia DCU-50).

...и любой терминал. Я пользуюсь Terminal by Bray++
Подключаемся с параметрами UART 115200/8/N/1

Пример вывода консоли на реальном устройстве.

Можем теперь посмотреть доступные команды.
Data hosted with ♥ by Pastebin.com - Download Raw - See Original
  1. help
  2.  
  3. supported built-in commands:
  4. bp cardmgr cat cd
  5. chmod config cp cpu
  6. date deletedir descrypt dmesg
  7. dramcfg drives dsputil echo
  8. eeprom eval false ffuc
  9. format help history ioerr
  10. jobs kill ls md5
  11. mesg mkboot mkdir morph
  12. mv nanddb nice poweroff
  13. pref ps pwd ramdisk
  14. readb readl readw reboot
  15. reset resume rm rmdir
  16. savebin sleep suspend sysmon
  17. t test time touch
  18. trap true vol writeb
  19. writel writew yyinfo usbclass
  20. ver vin sm corefreq
  21. dramfreq idspfreq dll cleandir
  22. volcfg firmfl nvd nftl
  23. romfs

Диски.
Data hosted with ♥ by Pastebin.com - Download Raw - See Original
  1. a:\> drives
  2.  
  3. 4 drives present in system
  4. drive 'A' - NFTL Media
  5. drive 'D' - SD/MMC
  6. drive 'L' - SDIO
  7. drive 'Z' - ROMFS

Конфиг.



А теперь ВНИМАНИЕ!!! Угробить тело из консоли просто (может быть JTAG может помочь в таком случае), так что оцените свои возможности трезво!!! Я одно тело угробил, правда по собственной глупости. )))

Перед экспериментами с прошивкой, обязательно сделайте бэкап родной прошивки, командой типа firmfl gen 5 bst bld pri rom dsp d:\amboot_5.bin
Ниже подробнее...

А теперь самая интересная команда.
Data hosted with ♥ by Pastebin.com - Download Raw - See Original
  1. a:\> firmfl
  2.  
  3. valid targets for firmfl are:
  4. prog
  5. prog_only
  6. prepro
  7. postpro
  8. gen
  9. a:\> firmfl gen
  10.  
  11. Usage: gen [number of partition] [bst] [bld] [pri] [rmd] [rom] [dsp] [filename]
  12.  
  13. Ex: gen 3 bld pri dsp d:\amboot_kernel_dsp.bin

У команды firmfl несколько режимов работы:
+ prog - загрузка прошивки в устройство из файла.
+ prog_only - только заливка прошивки.
+ prepro - выполнять только предварительные работы.
+ postpro - выполнять только постфактные работы.
+ gen - генерация файла прошивки в файл.

Генерим прошивку на SD карту.
firmfl gen 5 bst bld pri rom dsp d:\amboot_5.bin


Полученный файл тут http://files.mail.ru/7S3BZ8 версия которое показывало меню V2.0.4 -K.

Теперь попробуем его залить в устройство.
firmfl prog d:\amboot_5.bin


Второй АХТУНГ!!! После заливки паршивки сразу не выключаем тело и не ребутаем его, а внимательно смотрим лог на предмет всяческих ошибок!

Если заливка неудачна по любой причине, заливаем родную прошу.

Ниже пример неудачной прошивки от Кодака, которой ваш покорной слуга прикончил свой F200HD. :O(
Data hosted with ♥ by Pastebin.com - Download Raw - See Original
  1. firmfl prog d:\Zx1_106.bin
  2.  
  3. nvd-pref backup success
  4. nvd-calib object 0 load
  5. nvd-calib object 1 load
  6. nvd-calib object 2 load
  7. nvd-calib object 3 load
  8. nvd-calib backup success
  9. firmware program pre-process success
  10.  
  11. BST code found in firmware!
  12. BLD code found in firmware!
  13. kernel image found in firmware!
  14. romfs found in firmware!
  15. DSP microcode found in firmware!
  16. length: 2072
  17. crc32: 0x249b3813
  18. ver_num: 1.3
  19. ver_date: 2009/9/22
  20. img_len: 1816
  21. mem_addr: 0x00000000
  22. flag: 0x00000001
  23. magic: 0xa324eb90
  24. verifying image crc ... done
  25. program bst to NAND flash ...
  26. progress: 100%
  27.  
  28.  
  29. program ok
  30.  
  31. length: 125044
  32. crc32: 0x224fda59
  33. ver_num: 1.3
  34. ver_date: 2009/9/22
  35. img_len: 124788
  36. mem_addr: 0xc0000000
  37. flag: 0x00000000
  38. magic: 0xa324eb90
  39. verifying image crc ... done
  40. program bld to NAND flash ...
  41.  
  42. failed: (invalid length)!
  43.  
  44. length: 3628052
  45. crc32: 0x7847ab0a
  46. ver_num: 0.1
  47. ver_date: 2009/9/22
  48. img_len: 3627796
  49. mem_addr: 0xc0100000
  50. flag: 0x00000000
  51. magic: 0xa324eb90
  52. verifying image crc ... done
  53. program pri to NAND flash ...
  54.  
  55. failed: (invalid length)!
  56.  
  57. length: 1669376
  58. crc32: 0xf5e9b8b2
  59. ver_num: 2.0
  60. ver_date: 2009/9/22
  61. img_len: 1669120
  62. mem_addr: 0x00000000
  63. flag: 0x00000001
  64. magic: 0xa324eb90
  65. verifying image crc ... done
  66. program rom to NAND flash ...
  67.  
  68. failed: (invalid length)!
  69.  
  70. length: 1601068
  71. crc32: 0x5248ac4b
  72. ver_num: 1.0
  73. ver_date: 2009/9/22
  74. img_len: 1600812
  75. mem_addr: 0xc3ffffb0
  76. flag: 0x00000000
  77. magic: 0xa324eb90
  78. verifying image crc ... done
  79. program dsp to NAND flash ...
  80.  
  81. failed: (invalid length)!
  82.  
  83.  
  84. ------ Report ------
  85. Program to BST success
  86. Program to BLD failure
  87. Program to kernel failure
  88. Program to romfs failure
  89. Program to DSP failure
  90. d:\Zx1_106.bin: firmware program failed

Буду благодарен любым ответам и замечаниям. :)

UPDATE: спасибо пользователю Buxx с ebay-forum.ru за развитие идеи.

Дублирую подробности тут
Кто может попробуйте следующее. Сразу предупреждаю НЕ деструктивно, т.е. безопасно.

Создаем файлик autoexec.ash на карточке и пишем в него одну строку firmfl gen 5 bst bld pri rom dsp d:\amboot_5.bin

Вставляем SD в камеру и включаем камеру. Ждем минут 5 на всякий случай.
Выключаем камеру, вынимаем карту SD - смотрим содержимое крты и постим тут результат.

Спасибо, Buxx!

UPDATE2: Спасибо пользователю Thunderbaud с ebay-forum.ru
за подробную документацию и распостранение информации!

Тут документ на гугл.доке https://docs.google.com/spreadsheet/pub?hl=en_US&key=0AvvapV-CkhvkdGxHdFBkdTRvdGZiRkhNd2NjanhIcEE&hl=en_US&gid=5

Тут архив со всей информацией http://depositfiles.com/files/f0gi0ds2f


Спасибо, Thunderbaud!

6 комментариев:

  1. Собрал пакет с докой по перешивке F500L / Mystery 800HD (4-х кнопочный) на v3.2 которая без пауз-пропусков.

    Все необходимое (readme, прошивки) внутри архива:
    http://depositfiles.com/files/f0gi0ds2f

    ОтветитьУдалить
  2. Прошивка KAPKAM rev.6.2 "V4.1 T2L-GH"
    http://depositfiles.com/files/jqmct1psi

    ОтветитьУдалить
  3. Если нужна помощь - дам утилиту от самой Ambarella ;)
    Там есть возможности:
    erase flash
    upload
    download
    и готовые параметры для чипсетов(правда нужно для конкретного девайса подбирать config)
    в общем - batip-trofimov собака yandex тчк ru

    ОтветитьУдалить
  4. Существуют ли прошивки для регистратора F900LHD с максимальным разрешением 1920х1080 с 30fps (http://dx.com/5-0mp-cmos-1080p-full-hd-wide-angle-digital-car-dvr-camcorder-w-hdmi-tv-out-sd-2-5-lcd-73278)? Аналогичный вопрос по регистратору F900LHD разрешением 1440x1080 и 15fps? У первого качество картинки хорошее, но моно-микрофон писал ужасный звук, у второго наоборот, звук - отличный, а картинка плохая.
    Как-то можно исправить эти "недуги"? (больше интересует звук у первого :))

    ОтветитьУдалить
  5. Этот комментарий был удален автором.

    ОтветитьУдалить
  6. Terminal by Bray++ как с ним работать у меня все время выдает одни нули и в низу пишет frame error

    ОтветитьУдалить