PDA

Просмотр полной версии : Создание прошивок для ВР на чипе Ambarella


antonkam
, 15:12
Итак, господа, удалось-таки собрать прошивку из исходников Ambarella SDK
.:: Скрытый текст (вы должны зарегистрироваться или войти под своим логином) ::.
Для сборки потребуется следущее ПО:
- Cygwin
.:: Скрытый текст (вы должны зарегистрироваться или войти под своим логином) ::.
- Arm RealView Development Suite v2.2
.:: Скрытый текст (вы должны зарегистрироваться или войти под своим логином) ::.
- Кросс-компилятор я пользовал Yagarto 20121222
.:: Скрытый текст (вы должны зарегистрироваться или войти под своим логином) ::.
- Arm Development Suite 1.2
.:: Скрытый текст (вы должны зарегистрироваться или войти под своим логином) ::.
Скачивайте и пробуйте. С первого раза 100% ничего не соберётся, поэтому готовьтесь потратить много времени(у меня ушло около месяца). Где и какое ПО должно лежать смотрим в файлах исходников(\system\env\bash_ads_env, \system\env\bash_gnu_env, \system\env\bash_rvct_env) или исправляем в них пути.
Запуск сборки скриптом \system\build\a2ssdk_camera\scripts\make_all.bat
На выходе будет 2 файла: .bin и .elf.
Для желающих посмотреть, что есть на данный момент выкладываю прошивку для устройств типа f500. Тестил на Mystery MDR-800HD.
Допиливать ещё много чего:
- Иногда самопроизвольное выключение при запуске
- На данный момент в конфигах отключён аудиочип, потому что устройство нормально загружается только при подключённом usb-кабеле.
- Видео нормально пишется только секунд 10, потом через кадр.
- Нужно отзеркалить изображение на дисплее и добавить в меню переворот.
- При пересвете на видео появляются полосы.
- ...
Прикладываю фотографии меню.
104861

104862

104863

104864

104865

104866

104867

104868

104869

104870
Прошивка для f500
.:: Скрытый текст (вы должны зарегистрироваться или войти под своим логином) ::.
Глючное тестовое видео:
.:: Скрытый текст (вы должны зарегистрироваться или войти под своим логином) ::.

P.S. Если будут вопросы по теме, пишите сюда, будем разбираться.

Полезная информация для оформления сообщений:
Работа с вложениями на форуме — как выложить файл или вставить картинку (http://3ppc.net/forum/showthread.php?t=10259)
Как пользоваться спойлером или как красиво убрать большой кусок текста (http://3ppc.net/forum/showthread.php?t=19911)

У нас можно прям в пост вставлять видео с ютуба, с помощью тэга ...
То есть если на ютубе ссылка:.:: Скрытый текст (вы должны зарегистрироваться или войти под своим логином) ::. тэг будет выглядеть так [youtube]xjekIv3DNAw
Результат:
xjekIv3DNAw

Вместо слов благодарности поднимайте репутацию вашим помощникам при помощи кнопки http://3ppc.net/forum/attachment.php?attachmentid=99359&d=1340097441 : и вам удобно и им приятно

SergMyz
, 04:52
У меня Cygwin не ставиться! Пути правлю, но все равно "ругается" на неправильный путь при запуске make-all. А исходники на Си, я правильно понимаю. Придется изучать!

antonkam, а Cygwin в стандартной комплектации грузил?

antonkam
, 09:10
У меня Cygwin не ставиться! Пути правлю, но все равно "ругается" на неправильный путь при запуске make-all. А исходники на Си, я правильно понимаю. Придется изучать!

antonkam, а Cygwin в стандартной комплектации грузил?
На что именно ругается?
В Cygwin ставил все модули(чуть меньше 5Гб пришлось с интернета стягивать). Не разбирался какие именно нужны - некогда.

Гость
, 09:33
antonkam, а на DOD F900LHD (правленная тобой 3.04) есть родной elf файл ? А то на данный момент реанимация производится с помощью стороннего эльфа, как бы всё работает но всё же..

SergMyz
, 09:35
На что именно ругается?
В Cygwin ставил все модули(чуть меньше 5Гб пришлось с интернета стягивать). Не разбирался какие именно нужны - некогда. У меня видать при таком трафике где-то ошибки!

antonkam
, 09:46
antonkam, а на DOD F900LHD (правленная тобой 3.04) есть родной elf файл ? А то на данный момент реанимация производится с помощью стороннего эльфа, как бы всё работает но всё же..
Нет. 3.04 я не собирал из исходников, если ты об этом. Был .bin версии 3.04 я его поправил и всё.

Mi81
, 21:29
Торрент на рутрекере дохлый: никто не стоит на раздаче. RVDS 2.2 лучше взять здесь:
.:: Скрытый текст (вы должны зарегистрироваться или войти под своим логином) ::.

Поелику в unix-подобных системах являюсь полным чайником, то пока ограничиваюсь просто изучением исходников SDK.
В директории system/config имеется ряд файлов типа prkapp.config.in, которые предназначены, как я понимаю, для вывода некоего меню, позволяющего конфигурировать проект, в т.ч. по "железу". Например, prkapp.vin.in позволяет задать модель сенсора и пр.
Первый вопрос: какими средствами это меню выводится и как организуется работа с ним?
Второй вопрос: из какого инструмента следует запускать make_all.bat и как из него управление сборкой проекта передается в Makefile.prkapp?

antonkam
, 12:24
Торрент на рутрекере дохлый: никто не стоит на раздаче. RVDS 2.2 лучше взять здесь:
*** скрытый текст ***

Поелику в unix-подобных системах являюсь полным чайником, то пока ограничиваюсь просто изучением исходников SDK.
В директории system/config имеется ряд файлов типа prkapp.config.in, которые предназначены, как я понимаю, для вывода некоего меню, позволяющего конфигурировать проект, в т.ч. по "железу". Например, prkapp.vin.in позволяет задать модель сенсора и пр.
Первый вопрос: какими средствами это меню выводится и как организуется работа с ним?
Второй вопрос: из какого инструмента следует запускать make_all.bat и как из него управление сборкой проекта передается в Makefile.prkapp?
1. для начала запускаешь скрипт make_menuconfig.bat. Там указываешь нужные опции(сенсор, дисплей и т.д.), сгенерируется .config). А затем make_all.bat
2. из командной строки находясь в папке /system запускаешь make_all.bat. точно путь не помню

Mi81
, 15:55
Скрипты, судя по расширению bat, запускать надо из под виндовой командной строки ?
Кстати, у меня cygwin при инсталляции никак не прописался ни в системной переменной PATH, ни в какой-либо иной переменной. Так должно быть?
В результате, когда запускаю make_menuconfig.bat, естественно ругается на то, что не может найти путь. Прописал руками в PATH с:\cygwin\bin - не помогло.
Похоже, лучше приписать полные пути ко всему в самом скрипте?

Добавлено: правка путей помогла. Выскочил в такое меню:

antonkam
, 16:15
Да, запускать нужно из виндовой командной строки. по-моему cygwin и не нужен в переменных среды.
На какой путь ругается? дай лог

Mi81
, 16:32
На какой путь ругается?
Похоже ругалось и на cygwin и на bash.rc и на make_script.sh.
Поэтому поправил так, как разложено у меня:
#!cygwin\bin\bash --rcfile system/build/a2ssdk_camera/scripts/bash.rc system\build\a2ssdk_camera\scripts\make_script.sh menuconfig
c:\cygwin\bin\bash --rcfile f:/system/build/a2ssdk_camera/scripts/bash.rc f:\system\build\a2ssdk_camera\scripts\make_script.sh menuconfig

Я запускал не из system, а из system/build/a2ssdk_camera/scripts, вот оно и ругалось, наверное, т.к. не знало как вылезть наверх по иерархии.
А чтоб увидеть bash, хотело знать заодно и где лежит cygwin.

antonkam
, 16:37
ага, так что ворачивай всё в зад... в исходниках все пути указаны относительно папки system

Mi81
, 18:51
ворачивай всё в зад...Вернул взад.
Однако, возникла другая проблема: среди доступного железа нет LCD TXD236 :(
Интересно, ILI9342 подойдет? Он, похоже двухдюймовый, а TXD236 полуторадюймовый

antonkam
, 21:34
выбирай ILI9342(без sanqiao). даже в menuconfig он обозначен "...such as TXD...". диагональ не важна, главное разрешение и инициализация

Mi81
, 00:40
Конфигурацию создал. Закончил установку необходимого ПО.
При попытке запуска make_all.bat выдает ошибку из bash_gnu_env:
***************************************************************
arm-elf-gcc not found in your paths...
please make sure the GNU toolchain is installed
and PATH is set correctly!
***************************************************************
что это за компонент и как познакомить систему с ним? Через переменные среды?
Судя по всему, это должно относиться к cygwin, вроде установил ее полностью, но в cygwin\usr\local нету никакого arm-elf.
Или речь идет о кросс-компиляторе yagarto и его надо ставить именно в директорий cygwin\usr\local\arm-elf ???

antonkam
, 07:22
Конфигурацию создал. Закончил установку необходимого ПО.
При попытке запуска make_all.bat выдает ошибку из bash_gnu_env:
***************************************************************
arm-elf-gcc not found in your paths...
please make sure the GNU toolchain is installed
and PATH is set correctly!
***************************************************************
что это за компонент и как познакомить систему с ним? Через переменные среды?
Судя по всему, это должно относиться к cygwin, вроде установил ее полностью, но в cygwin\usr\local нету никакого arm-elf.
Или речь идет о кросс-компиляторе yagarto и его надо ставить именно в директорий cygwin\usr\local\arm-elf ???
Это кросс-компилятор. Я использовал yagarto. В файле bash_gnu_env выполняется поиск файла arm-elf-gcc. В переменных среды нужно указать yagarto\bin

GoshanV
, 12:07
Тестил на Mystery MDR-800HD.
Потестил на своём 4-ёх кноп. что в подписи: полос на видео не было, видеозапись начиналась автоматически после отключения usb-кабеля 1мин роликами (качество хорошее).

Общее
Полное имя : G:\DCIM\100MEDIA\05021127_0002.MP4
Формат : MPEG-4
Профиль формата : JVT
Идентификатор кодека : avc1
Размер файла : 95,9 Мбайт
Продолжительность : 1 м. 0 с.
Режим общего битрейта : Переменный
Общий поток : 13,2 Мбит/сек
Дата кодирования : UTC 2013-05-02 11:27:57
Дата пометки : UTC 2013-05-02 11:27:57
AMBA :

Видео
Идентификатор : 1
Формат : AVC
Формат/Информация : Advanced Video Codec
Профиль формата : Main@L4.2
Параметр CABAC формата : Да
Параметр ReFrames формата : 4 кадра
Параметр GOP формата : M=1, N=8
Идентификатор кодека : avc1
Идентификатор кодека/Информация : Advanced Video Coding
Продолжительность : 1 м. 0 с.
Вид битрейта : Переменный
Битрейт : 13,1 Мбит/сек
Максимальный битрейт : 49,9 Мбит/сек
Ширина : 1920 пикселей
Высота : 1080 пикселей
Соотношение сторон : 16:9
Режим частоты кадров : Постоянный
Частота кадров : 29,970 кадров/сек
Цветовое пространство : YUV
Субдискретизация насыщенности : 4:2:0
Битовая глубина : 8 бит
Тип развёртки : Прогрессивная
Бит/(Пиксели*Кадры) : 0.211
Размер потока : 94,9 Мбайт (99%)
Заголовок : Ambarella AVC
Язык : English
Дата кодирования : UTC 2013-05-02 11:27:57
Дата пометки : UTC 2013-05-02 11:27:57

Аудио
Идентификатор : 2
Формат : AAC
Формат/Информация : Advanced Audio Codec
Профиль формата : LC
Идентификатор кодека : 40
Продолжительность : 1 м. 0 с.
Вид битрейта : Постоянный
Битрейт : 128 Кбит/сек
Каналы : 2 канала
Расположение каналов : Front: L R
Частота : 48,0 КГц
Метод сжатия : С потерями
Задержка видео : 33 мс.
Размер потока : 951 Кбайт (1%)
Заголовок : Ambarella AAC
Язык : English
Дата кодирования : UTC 2013-05-02 11:27:57
Дата пометки : UTC 2013-05-02 11:27:57
antonkam, посмотри, что за файлы остались после перепрошивки.
.:: Скрытый текст (вы должны зарегистрироваться или войти под своим логином) ::.
P.S. Возможно ли будет в дальнейшем прикрутить эту прошку на DODF900LHD?
а, ведь это очень актуально т.к. новых прошек для DOD F900LHD от производителя наверно больше не будет...:(

antonkam
, 15:20
у меня этих файлов не появлялось. скорее всего их генерирует родная прошивка. прикрутить к f900 можно, если драйвера в исходниках будут.

z768
, 18:44
antonkam, есть пара вопросов...
1 - почему вы все делаете под виндой, не проще ли под линуксом?
2 - реально ли отвязать видеокамеру, точней интересует такой вопрос - при подключении по юсби к компу или иному устройству (роутеру) регистратор не выводил выбор "флеш или вэбкамера" в меню и сходу переходил в режим вэбкамеры?
Почему задал вопрос №2 - есть кое какие мысли... если нужно озвучу.

antonkam
, 20:01
1. скрипты(make_all, make_menuconfig и др.) написаны для винды. в них указан виндовые компиляторы. по моему китайцы(или чьи исходники), сборку осуществляли в линухе, откуда запускался wine, а в нём виндовый rvds. могу точно сказать - под виндой проще.
2. запросто. нужно только в исходниках найти ссылку на переход к выбору режима

GoshanV
, 21:14
прикрутить к f900 можно, если драйвера в исходниках будут.
Так, что для этого нужно и что можно сделать т.е. какие улучшения к уже увеличенному битрейту(за которое, тебе огромное спасибо), посмотри пожалуйста - вся важная инфа в шапке темы DOD F900LHD (http://3ppc.net/forum/showpost.php?p=493813&postcount=1) :thank_you:

z768
, 21:17
antonkam, спасибо за ответ.
По первому пункту, это понятно, что для форточек. Просто в свое время сталкивался со сборкой из исходников фирмваре для роутеров.
По второму пункту, поверхностно просмотрел, немного понял, но если честно - конкретно не вдавался в суть сборки...
Преследую собственную цель, конкретно по второму пункту.
За тему на форуме Вам еще раз огромное Спасибо. Сорри, "жмакать на кнопки не буду" - поскольку считаю это не серьезным занятием. Да простят меня админы :-D

Mi81
, 23:10
В переменных среды нужно указать yagarto\bin Добавил в PATH. Заодно переименовал arm-none-eabi-gcc.exe в этом директории в arm-alf-gcc.exe.
Теперь скрипт пишет: arm-elf-gcc is already in your paths!
Однако при обработке system\bsp\isky_a16\make.inc ругается на неправильные параметры, которые задаются при вызове сс.exe (я так понимаю, что это из cygwin):
CC bsp.o
Error: C3062E: unknown option '--cpu'
Error: C3062E: unknown option '--apcs'
Error: C3056E: bad option '-O3'
Error: C3062E: unknown option '--fpmode'
Error: C3062E: unknown option '--diag_suppress'
../../../bsp/isky_a16/make.inc:60: recipe for target `bsp.o' failed make[1]: *** [bsp.o] Error 1
../../config/Makefile.prkapp:558: recipe for target `devbsp/libbsp.a' failed make: *** [devbsp/libbsp.a] Error 2

Попробую разобраться, о каких опциях идет речь, либо помогайте не ученому :(

antonkam
, 04:39
Добавил в PATH. Заодно переименовал arm-none-eabi-gcc.exe в этом директории в arm-alf-gcc.exe.
Теперь скрипт пишет: arm-elf-gcc is already in your paths!
Однако при обработке system\bsp\isky_a16\make.inc ругается на неправильные параметры, которые задаются при вызове сс.exe (я так понимаю, что это из cygwin):
CC bsp.o
Error: C3062E: unknown option '--cpu'
Error: C3062E: unknown option '--apcs'
Error: C3056E: bad option '-O3'
Error: C3062E: unknown option '--fpmode'
Error: C3062E: unknown option '--diag_suppress'
../../../bsp/isky_a16/make.inc:60: recipe for target `bsp.o' failed make[1]: *** [bsp.o] Error 1
../../config/Makefile.prkapp:558: recipe for target `devbsp/libbsp.a' failed make: *** [devbsp/libbsp.a] Error 2

Попробую разобраться, о каких опциях идет речь, либо помогайте не ученому :(
попробуй поставить yagarto версии от 20090817
.:: Скрытый текст (вы должны зарегистрироваться или войти под своим логином) ::.

Так, что для этого нужно и что можно сделать т.е. какие улучшения к уже увеличенному битрейту(за которое, тебе огромное спасибо), посмотри пожалуйста - вся важная инфа в шапке темы DOD F900LHD (http://3ppc.net/forum/showpost.php?p=493813&postcount=1) :thank_you:
Нужно дождаться пока кто-нибудь не напишет более-менее рабочий вариант для своего девайса, а потом портировать её на f900, либо ждать пока не появится владелец f900, который будет разрабатывать прошивку.
Можно много чего сделать. Интерфейс мне не очень интересен - второстепенное. Как мне показалось, на собранной прошивке качество видео получше будет. Можно драйвер матрицы поковырять с целью улучшения изображения.

Гость
, 08:11
Может у Весли исходники спросить на F900? После праздников напишу ему, вдруг выклянчит на заводе

Mi81
, 20:30
После некоторых манипуляций с PATH и файлами environment дело, вроде, сдвинулось с мертвой точки. В частности, в связи с тем, что недоступен RVCT 2.2 SP1, поправил пути, заменив директорий 503, которого у меня нет, на 349.
Компиляция пошла, однако местами с ошибками типа:
...
MAKEDEP devbsp
/usr/include/sys/signal.h:167:6: error: #error You need the winsup sources or a cygwin installation to compile the cygwin version of newlib.
...
MAKEDEP peripheral
/usr/include/sys/signal.h:167:6: error: #error You need the winsup sources or a cygwin installation to compile the cygwin version of newlib.
...
MAKEDEP ui
/usr/include/sys/signal.h:167:6: error: #error You need the winsup sources or a cygwin installation to compile the cygwin version of newlib.


Signal.h принадлежит не проекту, а cygwin. Ошибка инициируется вот таким фрагментом кода в этом файле:
#if defined(_POSIX_THREADS)
#ifdef __CYGWIN__
# ifndef _CYGWIN_TYPES_H
# error You need the winsup sources or a cygwin installation to compile the cygwin version of newlib.
# endif
#endif
int _EXFUN(pthread_kill, (pthread_t thread, int sig));
#endifВыходит, причина в том, что не определена _CYGWIN_TYPES_H, которая задается в cygwin\usr\include\cygwin\types.h
Что сие значит и как побороть, пока не знаю :(

Добавлено: Ничего лучше не придумал как тупо по-кавалерийски поправить приведенный фрагмент кода в cygwin\usr\include\cygwin\types.h:
#if defined(_POSIX_THREADS)
#ifdef __CYGWIN__
# ifndef _CYGWIN_TYPES_H
#include <cygwin/types.h>
#endif
int _EXFUN(pthread_kill, (pthread_t thread, int sig));
#endif
После чего проблема с winsup'ом и newlib'ом исчезла. Знаю, что не правильно, но вроде работает.
Потом пришлось поправить сгенерированный .config, в котором, как оказалось, вообще не прописана линза, что приводило к неразрешимым ссылкам на некоторые ее функции, поэтому прописал вручную линзу OEM в .config и в config.h. С линзой вроде канает.
Однако теперь возникла проблема с LCD:
LD prkapp_debug.elf
Error: L6218E: Undefined symbol lcd_drv_init_dummy (referred from status.o).
Not enough information to list the image map.
Finished: 1 information, 0 warning and 1 error messages.
../../config/Makefile.prkapp:486: recipe for target `prkapp_debug.elf' failed
make: *** [prkapp_debug.elf] Error 1
Почему она просит lcd_drv_init_dummy, если задан CONFIG_LCD_ILI9342=y ?
Прикладываю свой конфиг под "орандж олд", может у кого из гуру найдется минутка наставить на путь истинный.
.:: Скрытый текст (вы должны зарегистрироваться или войти под своим логином) ::.

antonkam
, 07:35
Для начала можно попробовать собрать прошивку с конфигом из комплекта(f500... как-то так называется). если соберётся, то потом править под свой девайс.
По-поводу ошибок "You need the winsup sources..." у меня и с ними всё отлично собирается и работает, поэтому я забил на неё))
Судя по всему, lcd_drv_init_dummy используется в status.c, поэтому она и в конфиге нужна. выбирай в конфиге "lcd dummy" и "ili9342" и будет всё ок.

z768
, 09:46
У меня вообще мейк благим матом ругается, не могу сообразить чем ему функция не нравится.
Вот выхлоп терминала
make.exe: ../../config/Makefile.prkapp: line 25: Warning -- Function 'wildcar
d' not implemented at this time
make.exe: ../../config/Makefile.prkapp: line 25: Error -- Expecting macro or
rule defn, found neither
У кого есть какие мысли?

Mi81
, 18:26
У кого есть какие мысли?Особых мыслей у меня нет, потому как полный чайник, но, либо перед этим есть какие-то еще ошибки, либо сбой происходит на очень ранних этапах сборки, что, по моему скудному разумению, говорит об ошибках в инсталляции либо конфигурации компонентов (переменные среды, пути к компонентам...), ну или сама конфигурация проекта не взаимосогласована по составу.
Более умного ничего сказать не могу.

Собрались bin и elf, но, судя по карте и длине файлов (чуть больше 4 MB у prkapp_release.bin и 8 MB у prkapp_release.elf), это лишь одна партиция, наверно PBA, загружаемая по адресу 0xC0100000. Других партиций, в т.ч. загрузчиков нет, что не есть гуд, т.к. "орандж олд" любит прошивку из 5 партиций.

z768
, 18:53
То что на ранних этапах это понятно, может на самом деле где-то пути неправильно указаны, плохо что лог сборки не ведется...
У меня даже до меню билдера дело не доходит. Не отрабатывает скрипт make_menuconfig.
Mi81, посмотри личку.

Mi81
, 19:27
Mi81, посмотри личку.На сколько ж приятней работать в Windows CE Platform Builder!
Ушло, что просил. Все ставил на C:\, туда же положил и system. Запускаюсь из корня диска.
RDVS, похоже, не любит путей с пробелами, не долго думая поставил его в C:\eSOL\eBinder\cl\, как в енвиронментах

z768
, 19:52
Пробелов у меня в путях нет, я сразу исключил "Program Files".

Mi81
, 21:54
Ага, кажется понял, почему у меня собирается только одна партиция, правда, не въехал, как продолжить сборку.
Ошибка теперь такая:
LD prkapp_release.elf
FROMELF prkapp_release.bin
GZIP prkapp_release.gz
AS start_debug.o
cc1.exe: error: bad value (arm926ejs) for -mcpu= switch
../../../config/Makefile.amboot:827: recipe for target `start_debug.o' failed
make[1]: *** [start_debug.o] Error 1
../../config/Makefile.prkapp:432: recipe for target `all' failed
make: *** [all] Error 2
Здается мне интуитивно (знаний-то нету), что Makefile.prkapp, обнаружив что нужно построить партицию загрузчика, в строке 432 передает управление в Makefile.amboot
ifeq ($(BUILD_AMBOOT),y)
all: debug release amboot/Makefile
$(ECHO_MAKE) $(MAKE) -s -C ambootЧто точно значит эта запись для меня темный лес :'(
В строке 827 скрипта Makefile.amboot
ifneq ($(LINK_PRE_BUILT_BST),yes)
%_debug.o: $(TOP)/src/bst/%.S partinfo.h
$(ASM_DEBUG_OBJ)
endif

каким-то чудесным для меня образом вызывается некий компилятор cc1.exe из комплекта cygwin и ему, я так понимаю, передается некий параметр -mcpu, указывающий неправильный или непонятный компилятору тип процессора. Чем ему не нравится параметр arm926ejs ? По мне, так он в самый раз то, что нужно.
Может не тот cc1.exe вызывается? Их там аж 4 штуки плюс 2 для 64 разрядной платформы. Плюс, как оказалось, еще один в yagarto...
И почему вдруг cc1.exe, если при сборке PBA прекрасно справлялся cc.exe? Чем он отличается или чем лучше?
И где б разрубить этот очередной узел?

Добавлено: Возможно, причина вот в этом коде из Makefile.amboot:
GCC_VERSION := $(word 3,$(shell arm-elf-gcc -v 2>&1 | grep version))

ifeq ($(GCC_VERSION),4.4.2)

ifeq ($(CPU),ARM926EJS)
CPU_OPT = -mcpu=arm926ej-s -msoft-float -mfpu=fpa
else
ifeq ($(CPU),ARM1136JS)
CPU_OPT = -mcpu=arm1136j-s -msoft-float
endif
endif

else

ifeq ($(CPU),ARM926EJS)
CPU_OPT = -mcpu=arm926ejs -msoft-float
else
ifeq ($(CPU),ARM1136JS)
CPU_OPT = -mcpu=arm1136js -msoft-float
endif
endif

endif Похоже пропущено тире arm926ej-s

Еще добавлено: Поправил Makefile.amboot: добавил тире пропущенное в параметре mcpu, убрал msoft-float, иначе ругалось типа: какой-то модуль в GCC собран с хардварной плавающей точкой, а ваш проект типа с софтварной.
После этих танцев что-то собралось. На выходе имеем amboot_kernel_romfs_dsp_release.bin и такой же файл с расширением .elf. Объем первого чуть меньше, второго - чуть больше 7 MB, а так же еще парочку файлов - bld_kernel_romfs_dsp_release.bin и одноименный .elf.
Завтра буду рассматривать в WinHex'е что оно такое получилось и что из этого можно заливать в прибор :)
Объем смущает - маловат. У Тексета метров 13 получается, а тут 7. Может сокращено за счет улучшения методики ? :)
Еще смущает LCD, не тот, что в "орандж олд", нужного просто нету в SDK, но вроде как аналог... Ну и кнопки: не разбирался с ними, так что х.з. где что окажется. У "орандж олд" их 7, включая reset.

Судя по всему, lcd_drv_init_dummy используется в status.c, поэтому она и в конфиге нужна. выбирай в конфиге "lcd dummy" и "ili9342" и будет всё ок.А может просто добавить (скопировать) эту функцию в ili9342? Так, наверное, будет более стерильно.

antonkam
, 05:17
arm926ejs или arm926ej-s зависит от версии gcc
А кнопки описываются в /system/.../bsp/buttons.c и /system/.../bsp/bsp.c

SergMyz
, 07:40
Всем Привет! Молодцы! То же постараюсь присоединиться и попробовать собрать прошивку для DOD GSE550.
antonkam, а где драйвер-контроллер аккумулятора в исходниках (завершение работы при проподании внешнего питания)находиться не занаешь??? Достал регистратор всегда разное время завершения работы!
Mi81, можешь краткую инструкцию сделать, подитожить свой опыт???

antonkam
, 11:48
antonkam, а где драйвер-контроллер аккумулятора в исходниках (завершение работы при проподании внешнего питания)находиться не занаешь??? Достал регистратор всегда разное время завершения работы!

в прошивке собранной из исходников при откл. usb рег. не выключается. можешь посмотреть в файлах rec_car_sensor.c или handler.c события HMSG_USB_DETECT_CONNECT или HMSG_USB_DETECT_REMOVE, там описано, что будет происходить при вкл/откл usb.

SergMyz
, 12:57
Там такие "дебри", исправление багов.

Mi81
, 22:54
подитожить свой опытДа тут опыта-то с гулькин нос, я с линуксами никогда не работал, это удел профессионалов, а я любитель.
В принципе, все проблемы, с которыми столкнулся, отражены в моих стонах на этом форуме и в ответах уважаемого antonkam. Если будет время, можно попробовать систематизировать, но не сейчас: загремел в больничку.

всегда разное время завершения работыМожно попробовать выключить задержку при автоотключении, а, чтоб исключить перерывы в питании при заводке, воспользоваться задержкой при автовключении.

z768
, 11:29
По cygwin - любителей качать гектары не касается...:-D
После стандартной установки жмакаем на сетап, инсталл из инета, ...
Самое интересное
....
в строке поиска вводим
make
помечаем arhive,devel
инсталируем и опять все сначала
ncurses
метим all install
опять инсталируем, правим пути в файлах сборки
запускаем make_menuconfig и радуемся
30 минут на все тратим...
:-D
antonkam, сбрось мне свой конфиг-файл, что б проверить все написанное выше, мейл отправил в личку.
сам файл и результат сборки не уйдет в паблик.
о результатах отпишу в этой теме.

SergMyz
, 11:39
правим пути в файлах сборки
запускаем make_menuconfig и радуемся
30 минут на все тратим...
:-D
А пример правки путей можно выложить? Пути правим по Виндовским правилам или Юниксовским? А то у меня все равно ругается на пути!

z768
, 11:39
чуть потерпи, выложу, по виндовым, тож бат-файлы
правь все пути в папке scripts в бат-файлах
Пример вроде приклеил...

Не получилось с первого раза :-D
закоментированы в заголовках каждого файла.
.:: Скрытый текст (вы должны зарегистрироваться или войти под своим логином) ::.

antonkam
, 12:45
antonkam, сбрось мне свой конфиг-файл, что б проверить все написанное выше, мейл отправил в личку.
сам файл и результат сборки не уйдет в паблик.
о результатах отпишу в этой теме.
Нет никакого секрета. Открой мою прошивку в любом hex-редакторе и там сможешь найти используемый конфиг.

SergMyz
, 10:40
Ругается на компилятор? Как его переименовать? В папке куда установился? Пути для установки ПО какие порекомендуете???
105135
А тут свой конфиг, выгруженный из родной прошивки, как я понимаю можно загрузить??? Записать в папку C:\system\build\a2ssdk_camera\config???

105138

z768, компилятор в какую папку ставить? Ругается, что не может найти, имя поправил, в пути виндовс прописал.
GoshanV, спасибо, привыкну к движку сайта и дело пойдет!
Ладно, надо убегать! Всех с праздником Победы!!!

antonkam
, 11:25
z768, компилятор в какую папку ставить? Ругается, что не может найти, имя поправил, в пути виндовс прописал.

смотри файл \system\env\bash_gnu_env. установи yagarto и пропиши в переменных среды(PATH).

z768
, 15:45
.:: Скрытый текст (вы должны зарегистрироваться или войти под своим логином) ::.Я чего-то не могу вьехать, возможно весна наступила а я по квартире в лыжах брожу:-D
На выхлопе прошива.bin, конфиг к ней не лепится - т.е. бин он и есть бин - файл прошивки...

Mi81
, 23:59
конфиг к ней не лепитсяЛепится.
Откройте прошивку для просмотра, например, в тотал коммандере (F3).
Найдите строку Automatically generated make config. Это начало файла конфигурации. Переключите просмотр в UTF-8.
Начиная с найденной строки увидите содержимое файла конфигурации. Найти его конец не сложно: заканчивается он строкой # ENABLE_MANUAL_GEN is not set.
Выделяете его, копируете в буфер, создаете пустой файл и вставляете в него содержимое буфера. Сохраняете файл под именем .config, добавляете в проект и пользуетесь.
свой конфиг, выгруженный из родной прошивки, как я понимаю можно загрузить?
В принципе, да. Только нужно быть уверенным, что драйвера вашего оборудования присутствуют в доступной нам SDK. Например, для моего дивая нет драйвера дисплея.
Если быть более точным, то ваш нативный конфиг нужно использовать как основу, т.к. в доступной SDK некоторые строки этого файла могут не совпадать в силу различий в платформах и приложении пользовательского интерфейса.
Лучший и наиболее правильный вариант это, используя свой конфиг, попытаться создать максимально близкую к нему конфигурацию, запустив скрипт make_menuconfig.bat. При создании конфигурации с помощью этого скрипта, кроме файла конфигурации создается еще файл config.h и некоторые другие. После приобретения некоторого опыта, файлы конфигурации можно редактировать вручную.
При сборке проекта по умолчанию используется файл конфигурации с именем .config, который должен лежать в папке system\build\a2ssdk_camera. Все остальные файлы конфигурации, пришедшие вместе с SDK я убрал из папки config, которая, возможно, не используется вовсе, переместив их на всякий в другую папку.

компилятор в какую папку ставить?В любую. Я например, ставил в c:\Program Files\yagarto (пробелов в пути он не забоялся).
В переменную PATH прописал C:\Program Files\yagarto\bin;c:\Program Files\yagarto\libexec\gcc\arm-elf\4.4.1 (возможно, второй путь и не нужен, но на каком-то этапе экспериментов я его прописал, да так и оставил).
Только yagarto, по совету antonkam использовал более ранней.:: Скрытый текст (вы должны зарегистрироваться или войти под своим логином) ::., нежели тот, что в шапке.

SergMyz
, 15:22
Только нужно быть уверенным, что драйвера вашего оборудования присутствуют в доступной нам SDK. Например, для моего дивая нет драйвера дисплея. Например я "подсунул" свой конфиг (своего GSE550, в надежде, что драйверы будут) на выходе только .config или еще файлы получаться. А сразу makeall.bat со своим конфигом можно запустить?

Ну вот повеселей дело пошло! Уже ошибка при компиляции будем разбираться!
105153

Mi81
, 22:19
А сразу makeall.bat со своим конфигом можно запустить? Можно, но скорее всего бесполезно.

SergMyz
, 09:48
Mi81, вот с этой ошибкой разобрался???
../../config/Makefile.prkapp:558: recipe for target `devbsp/libbsp.a' failed make: *** [devbsp/libbsp.a] Error 2 Где найти этот "libbsp.a"?
Как я понимаю в папке C:\system\build\a2ssdk_camera\devbsp должен находиться файл libbsp.a! Где его взять? Или он создается при создании конфига?

Вроде как надо перед началом работы запускать "чистку" make_clean.bat = чистит папку devbsp.
Попробовал загрузить готовый конфиг из проекта, загрузил-вышел из конфигуратора с сохранением, файлы в проекте обновились. Запустил компиляцию: ошибка та же, еще добавились "Вдруг не стало лицензии на компилятор" и подробная ошибка первой!
105171

antonkam
, 11:25
Вроде как надо перед началом работы запускать "чистку" make_clean.bat = чистит папку devbsp.
Попробовал загрузить готовый конфиг из проекта, загрузил-вышел из конфигуратора с сохранением, файлы в проекте обновились. Запустил компиляцию: ошибка та же, еще добавились "Вдруг не стало лицензии на компилятор" и подробная ошибка первой!

у тебя лицензия не работает, разберись с ней. проверить можешь так: C:\>armcc -vsn

Mi81
, 15:18
Вдруг не стало лицензии на компиляторКстати, у меня тоже лицензия глючит, если в момент запуска скрипта есть соединение с Интернетом. Если соединения нет, - все оk.

в папке C:\system\build\a2ssdk_camera\devbsp должен находиться файл libbsp.a! Где его взять?Он там сам генерируется при сборке.
Возможно, все еще есть ошибка в путях, прописанных, в скриптах проекта или запускаетесь, находясь не в той папке.
Проверьте make_all.bat и make_script.sh. В последнем обратите внимание на команду cd, правильно ли осуществляется переход в директорий. Эта команда определяет, из какого верхнего директория нужно запускать проект.
Т.е., если у вас присутствует, например, команда cd system, то это означает, что правильно запускать проект из директория, являющегося родительским для system.

SergMyz
, 06:32
antonkam, лицензия выдает это, вроде все Ок!Microsoft Windows XP [Версия 5.1.2600]
(С) Корпорация Майкрософт, 1985-2001.

C:\Documents and Settings\Сергей>cd ..

C:\Documents and Settings>cd ..

C:\>armcc -vsn
ARM C Compiler, ADS1.2 [Build 842]
Software supplied by: Team-EFA

C:\>

добавлено через 4 минуты
Что то сейчас подумал, может проблемы с компиляцией из-за кириллицы (Сергей) в домашней папке CYGWIN, когда "гуглил" находил такое!
Скрипты запускаю прямо из C:\system\build\a2ssdk_camera\scripts
Пути проверю еще раз!

добавлено сообщение
Ругается на разные версии Arm RealView Development Suite v2.2 и Arm Development Suite 1.2

antonkam
, 11:30
Скрипты запускаю прямо из C:\system\build\a2ssdk_camera\scripts
Пути проверю еще раз!
запускать сборку лучше находясь в папке system

Mi81
, 15:22
Ругается на разные версииНе совсем понятно о чем речь, лучше скриншот выложить.
Кстати, у меня оказалось, что сборка чувствительна к последовательности, в которой ее переменные упоминаются в переменной PATH.
Правильно работает только в том случае, если упоминаются сначала yagarto, затем RVDS 2.2, затем cygwin и затем ADS 1.2. При другой последовательности были проблемы. Кроме того, все, что касается сборки, в переменной PATH я вынес вперед, т.е. в начало строки. Получилось как-то так:
C:\Program Files\yagarto\bin;c:\Program Files\yagarto\libexec\gcc\arm-elf\4.4.2;C:\eSOL\eBinder\cl\ARM\bin\win_32-pentium;C:\eSOL\eBinder\cl\ARM\RVD\Core\1.8\734\win_32-pentium\bin;C:\eSOL\eBinder\cl\ARM\Utilities\FLEXlm\9.2\release\win_32-pentium;C:\eSOL\eBinder\cl\ARM\RVCT\Programs\2.2\349\win_32-pentium;C:/cygwin/bin;C:\Program Files\ARM\ADSv1_2\bin;............ а дальше все остальное, что там было до этого. Естественно, пути мои, а должны быть ваши.
Еще есть нюанс, связанный со скриптом bash_rvct_env. Там есть упоминание пути C:\eSOL\eBinder\cl\ARM\RVCT\Programs\2.2\503\... и других путей, завязанных на директорий 503. По-скольку у меня нету папок 503 (она, наверное, появляется в RVDS 2.2 SP1), то во всех этих строках 503 я заменил на 349.
Что касается директория из которого следует запускать сборку. Можно и из system, но, судя по строке cd system в скрипте make_script.sh, автор запускал ее из директория, являющегося родительским по отношению к папке system. В моем случае это корень диска C:\, откуда я и запускаю сборку командой system\build\a2ssdk_camera\scripts\make_all.bat.

SergMyz
, 05:36
105218
Еще есть нюанс, связанный со скриптом bash_rvct_env.Это стоит правильно.
Смущает путь export PATH=/cygdrive/c/ARM/RVCT/Programs/2.2/349/win_32-pentium:$PATH
В файле make_skript.sh смущает путь PATH=/usr/bin:$PATH Где это?
Скрипт restore_c_cygwin.bat надо запускать перед компиляцией?
Я долго буду мучатся! У меня при установке Arm Development Suite 1.2 антивирус "сносит" один файл = вирус
Arm RealView Development Suite v2.2 вообще после запуска setup не хочет ставиться, я просто скопировал папку RVDS в папку C:\ARM
Отключил антивирус - все установилось!
Запускаю конфигуратор или компиляцию вот такие теперь ошибки.
105219

Пробую разные конфигурации! Теперь такие ошибки: 1-я это отсутствуют данные на мою конфигурацию в папке BSP, 2-я везде появляется, как избавиться не знаю!
105220

добавлено сообщение
Однако при обработке system\bsp\isky_a16\make.inc ругается на неправильные параметры, которые задаются при вызове сс.exe (я так понимаю, что это из cygwin):
+ Файл:
Попробую разобраться, о каких опциях идет речь, либо помогайте не ученомуРазобрался? У меня похожие ошибки!
Убрал ошибку, нашел этот параметр -O3, убрал, компиляция пошла дальше, но следующие ошибки лезут!
Ловим черную кошку в темной комнате, причем ее там нет! Исходники "вырваны" в отладочный момент.

добавлено сообщение
105222

добавлено сообщение
Продвинулся дальше: убрал "ненужное декларирование" убрал ";" косяк или специально забыли!!! Мысли нехорошие!
105223

Mi81
, 00:34
У меня похожие ошибки!
Убрал ошибку, нашел этот параметр -O3, убрал, компиляция пошла дальше, но следующие ошибки лезут!Их будет еще много, сборка действительно сыроватая.
Никакие параметры я в данном случае не убирал, а установил по совету antonkam yagarto c версией GCC 4.2.1, ссылка здесь (http://www.3ppc.net/forum/showpost.php?p=514339&postcount=24). Ошибки компилятора исчезли. Ненужное декларирование пока не убирал, так как это не ошибка.

Моя прошивка не пошла - кирпич. :(
Причины вижу следующие:

Первый вариант - ошибка с LCD, нужно разобраться как задать разрешение 320х240, потому что, похоже, получилось 960х480.

Второй вариант. Я уже писал об ошибке при сборке amboot, когда обнаружилось противоречие в работе с плавающей точкой. Ошибка выглядела так:
ld.exe error: c:/program files/yagarto/lib/gcc/arm-elf/4.4.2\libgcc.a (_udivsi3.o) uses hardware FP, whereas amboot_bld_debug.elf uses software FP
Я понимаю эту ошибку так, что файл libgcc.a содержит код скомпилированный для сопроцессора, а elf приказано собрать в варианте без сопроцессора.
Мое решение было достаточно незаточенным (чтоб не говорить тупым): я убрал параметр -msoft-float в скрипте Makefile.amboot, везде где он встречается. В результате прошивка собралась, но, я так понимаю, что она собралась для дивая с сопроцессором, которого на самом деле нет. Т.е. нужен вариант libgcc.а (из комплекта yagarto) собранный с программной эмуляцией вычислений с плавающей точкой. Где его берут? Имеет ли амбарелла A2S60 сопроцессор?

Следует все-таки разобраться, что же это за ошибка error: #error You need the winsup sources or a cygwin installation to compile the cygwin version of newlib, с которой я боролся таким же тупым способом (http://www.3ppc.net/forum/showpost.php?p=514399&postcount=26). И хотя прошивка с ней собирается, хотелось бы разобраться, как ее побороть, чтоб все было стерильно чисто. Кто что знает о ней?

SergMyz
, 05:13
а установил по совету antonkam yagarto c версией GCC 4.2.1,У меня то же самое стоит!
Разные ошибки у нас потому, что собираем мы разные конфигурации. В исходниках много чего не хватает, например в папке BSP (как я понимаю из этих файлов собирается блок BSP прошивки) для моего регистратора исходников нет. Когда я подсунул свой конфиг при компиляции сразу "пошла ругань" на отсутствие папки с исходниками. Вот подумал, может подсунуть целиком уже готовый блок BSP из родной прошивки в новую сборку! Прокатит?
Ненужное декларирование пока не убирал, так как это не ошибка. Этот компилятор считает за ошибку при которой останавливает процесс, так что убирать пришлось.

Еще: убрал папку yagarto с диска С, при запуске make_all компиляция идет, предварительно "сругавшись" на отсутствие на месте файлов из yagarto. Напрашивается вывод = дело в Cygwin слишком "новый"! Поиск расшифровок ошибок компиляции привел сюда .:: Скрытый текст (вы должны зарегистрироваться или войти под своим логином) ::., где написано, что это устаревшие ошибки. Где взять старые версии компиляторов из комплекта cygwin и какие файлы???

добавлено сообщение
Имеет ли амбарелла A2S60 сопроцессор?Да, у ARM процессора на основе которого она сделана он есть!

добавлено сообщение
Все приехали! Вот такая ошибка, нагуглил, что это из-за разных версий компилятора и файла armlink.exe из RVCT, нужна другая версия Arm RealView Development Suite v2.2, где папка 509!
105229

Mi81
, 19:09
это из-за разных версий компилятора и файла armlink.exe из RVCTОни не могут быть разными, если апгрейд RVCT выполнен правильно. Во всех апгрейдах до 616 включительно armcc и armlink присутствуют и согласованы по версии.
Выполните команды
armcc --vsn
armlink --vsn
и сравните версии (билд). Они должны быть одинаковы. Возможно, вы просто при апгрейде случайно не скопировали нужный armlink.
Компилятор и другие компоненты лежат в ...\ARM\RVCT\Programs\2.2\349\win_32-pentium

Mi81
, 22:59
Запускаю конфигуратор или компиляцию вот такие теперь ошибки.Ругань на параметр \r при обработке скрипта, скорее всего, связана с тем, что в конце строк в скрипте bash_rvct_env у вас стоят символы перевода строки, принятые в ascii, т.е. перевод каретки и строки (\r\n), а в скриптах должно быть только \n, как в unix, т.е. код симвала 0х0А без 0х0D.

То что файл libbsp_prd.a ищется в папке ...\vendor\libesol\arm926ejs\ADS_RELEASE, говорит о том, что используется не RVCT, а ADS, что, возможно, не правильно. Наверное, должно искаться в одном из директориев типа RVCT_22... Не пробовали расставить последовательность путей в переменной PATH так, как описано здесь (http://www.3ppc.net/forum/showpost.php?p=514971&postcount=55)?

SergMyz
, 05:32
Выполните команды
armcc --vsn
armlink --vsnДелал-сравнивал-все одинаково!
Ругань на параметр \r при обработке скрипта, скорее всего, связана с тем, что в конце строк в скрипте bash_rvct_env у вас стоят символы перевода строки, принятые в ascii, т.е. перевод каретки и строки (\r\n), а в скриптах должно быть только \n, как в unix, т.е. код симвала 0х0А без 0х0D.По этому поводу вопрос: Чем лучше редактировать файлы под Win XP, что бы "думалось" что это Unix??? По этой причине у многих не работает autoexec.sch при снятии бекапа прошивки регистратора!То что файл libbsp_prd.a ищется в папке ...\vendor\libesol\arm926ejs\ADS_RELEASE, говорит о том, что используется не RVCT, а ADS, что, возможно, не правильно.Проверю, может из-за того что RVCT и ADS у меня стоят в одной папке ARM.
Скачал с сайта ARM rvds_2_2_1 (SP1) - попробую, надеюсь "лекарство" от 2.2 версии подойдет!

добавлено сообщение
Все переустановил по путям в исходниках, rvds_2_2_1 (SP1) = поставилось нормально!
Компиляция пошла веселее и гораздо дальше, но застопорилось все на этой ошибке - команда не найдена. Какая команда? Чего? Не пойму! У кого была такая?
105243
На "bison" нагуглил такое .:: Скрытый текст (вы должны зарегистрироваться или войти под своим логином) ::. Интересно это так?
"Сходил" на Cygwin установил bison!
Теперь ошибка такая!

добавлено сообщение
105244
Все прошел! Поставил еще flex!
Подошел к концу, но такие теперь ошибки! Компилятор запускаю при отключенном интернете!
105247

SergMyz
, 12:32
У кого какие идеи есть??? Пробовал другой конфиг, заканчивается на этих же ошибках линковщика, только другие функции не определены. Может не хватает какой-нибудь подключаемой библиотеки? В make это можно найти?

Mi81
, 12:46
У кого какие идеи есть?Разобраться, не видя вашего проекта трудно. Проще выложить ваш конфиг и сопутствующие ему файлы (config.h и прочие), что бы кто-нибудь мог проверить на работающей сборке, собириется ли в принципе ваша конфигурация.
А вообще, можете проверить сами, например, конфигурация ....\system\build\a2ssdk_camera\config\backup_config\a16_mi5100_ac3101_txd150lcd_cardv_config собирается гарантированно. Берете этот конфиг, кладете его в папку \system\build\a2ssdk_camera и переименовываете в .config (именно так, с точкой в начале и без расширения). Запускаете make_menuconfig.bat, открываете в оболочке скрипта для редактирования этот .config и ничего не меняя сохраняете под тем же именем. Эта процедура позволяет сгенерировать недостающие файлы (config.h и другие). Выполняете make_clean.bat, чтобы убрать следы предыдущих компиляций и запускаете make_all.bat. Танцы некоторые конечно будут, но все они уже описаны здесь в различных постах. Других неожиданностей быть не должно. Если они все-таки появятся, то надо еще раз перечитывать ветку и разбираться с установленным инструментарием.
А вообще, что касается последнего скриншота, то функция app_vignete_control есть во всех имеющихся bsp и лежит в файле cal_mgr.c, там же и app_select_vignette_table.
Функция site_set - в cal_utilite.c ну и так далее, так что речь, скорее всего, должна идти не о внешних библиотеках, а о коде самого проекта, который скомпилировался с ошибками.
Думаю, у вас все-таки есть огрехи в инсталляции инструментов или в путях доступа.
Кстати, это еще не конец сборки, а только одна партиция - prkapp, осталось еще четыре: amboot, bst, bld, dsp (если имена не перепутал).

SergMyz
, 15:57
Короче собралось 4 мб по вашему Mi81, конфигу!
Имя a16_20130516T194323_.elf в папке E:\isky_docs\a16_compile_history
В папке C:\system\build\a2ssdk_camera\amboot в подпапках elf и bin в виде amboot_kernel_romfs_dsp_release

Mi81
, 16:02
собралось 4 мбЭто не все, это только prkapp. Остальные части прошивки - каждая отдельно и общая сводная прошивка должны появиться в папке ...\system\build\a2ssdk_camera\amboot, точнее там будет два поддиректория: для elf'ов и для bin'ов, как называются эти директории не помню, разберетесь. Вот сводная вам и нужна. Должна быть около 7 MB. Четыре метра у меня весит только prkapp_release.bin, которая создается в паке ...\system\build\a2ssdk_camera и затем прилинковывается к сводной.

SergMyz
, 16:08
Вот такие файлы получились, конфиг ваш, выложен здесь на форуме:
105271
105272

Mi81
, 16:19
Вот такие файлы получилисьОбъем подозрительно мал. Проверьте под WinHex'ом все ли партиции вошли в сводную прошивку amboot_kernel_romfs_dsp_release.bin. У меня с эти конфигом получалось 7 метров живого веса.
Вы без компрессии собирали?

SergMyz, а вот интересно, под rvds 2.2 SP1 ошибки, связанные с winsup и обработкой плавающей точки выскакивают?

SergMyz
, 04:20
Партиции все на месте, адрес последней relese сдвинут 24800 вместо 25800. Скорей всего компрессия была, думаю это строки при компиляции с расширением gz!
Как отключить компрессию? И для чего она нужна?
под rvds 2.2 SP1 ошибки, связанные с winsup и обработкой плавающей точки выскакивают?
Winsup не видел!
А "плавающая точка" была!
Четыре метра у меня весит только prkapp_release.bin,Аналогично, присутствуют еще архивы с расширением gz

добавлено сообщение
ВАУ! Собралась прошивка для моего регистратора! Правда 4 Мб вместо 8.
Как убрать компрессию, жмет release.bin c 4 Mb до 1.
Посмотрел полученную прошивку в WinHex. 1 блок совпадает, 2 тоже (начало блоков), а вот 2 блок сжат и адрес 3 блока уже сдвинут.
Или 4 блока собралось вместо 5?
Посмотрел внимательней в WinHex prkapp_release.bin "не встала на место"!!!
Прошивка собралась без него!
Почему???

Mi81
, 11:28
2 блок сжатпроверьте поиском по слову COMPRESSED свой конфиг. Она везде должна быть отключена, т.е. "is not set".
Количество частей определяется по заголовку файла *.bin.
Формат данных такой: начиная с первого байта в файле следует массив из 7-и элементов. Каждый элемент включает два значения типа DWORD (4 байта). Первое - смещение первого байта партиции (ее начало) в файле. Второе - смещение последнего байта партиции + 1, т.е. позиция сразу за последним байтом. Все смещения отсчитываются от начала файла.
Только следует помнить, что шестнадцатиричные данные записаны в обратной последовательности.
Например, вот такой заголовок файла:
00000000 00 08 00 00 2C 10 00 00 00 18 00 00 78 57 02 00 ....,.......xW..
00000016 00 00 00 00 00 00 00 00 00 58 02 00 74 3C 34 00 .........X..t<4.
00000032 00 00 00 00 00 00 00 00 00 40 34 00 00 21 B2 00 .........@4..!².
00000048 00 28 B2 00 04 AF CB 00 .(²..¯Ë.
дает следующие данные о партициях:
1-я партиция - смещение от начала файла 0х00000800, конец - 0х0000102С;
2-я партиция - смещение от начала файла 0х00001800, конец - 0х00025778;
3-я партиция - отсутствует в этой прошивке;
4-я партиция - смещение от начала файла 0х00025800, конец - 0х00343С74;
и т.д. до 7-й партиции.
В наших прошивках, как правило, присутствует 5 партиций.
Почему???
Если вы использовали оригинальный конфиг своего прибора, то, скорее всего, потому, что в данной сборке нет BSP, использованной при сборке оригинальной прошивки. BSP и приложения следует выбрать из числа имеющихся в сборке, например, a16isky или f500isky
Проверьте параметры CONFIG_BSP_, AMBOOT_DEV_CMDLINE, ROMFS_CONFIG_FILE, и раздел # Application в вашем конфиге. Если найдете несоотвествие по BSP или приложению, нужно поправить через make_menucofig.bat.

SergMyz
, 12:04
Offset 0 1 2 3 4 5 6 7 8 9 A B C D E F

00000000 00 08 00 00 2C 10 00 00 00 18 00 00 A8 40 02 00 , Ё@
00000010 00 00 00 00 00 00 00 00 00 48 02 00 53 EC 1F 00 H Sм
00000020 00 00 00 00 00 00 00 00 00 F0 1F 00 00 89 2F 00 р ‰/
00000030 00 90 2F 00 04 17 49 00 ђ/ I
Вот начало, все 5 частей присутствуют! 4 часть prkapp_release.bin (нужная) внутри прошивки сжата!
В конфиге все компрессии отключены (там только одна есть)!
Конфиг своего регистратора я поправил под исходники!
Вот мой конфиг, с которого делается прошивка .:: Скрытый текст (вы должны зарегистрироваться или войти под своим логином) ::.

Mi81
, 13:04
Причина, скорее всего, в этих строках:
#
# Primary Partition
#
KERNEL="../prkapp_release.gz"
KERNEL_VIF="../version.info"
Вы добавляете сжатый prkapp_release.gz, а надо бы prkapp_release.bin, имхо.

SergMyz
, 13:15
Спасибо! Уже нашел-поправил-теперь размер 7 Mb, что гораздо ближе к родной прошивке! На выходных буду тестировать! :bubble:

Mi81
, 13:24
На выходных буду тестировать!Только если есть хорошие навыки восстановления :)

Гость
, 13:46
На выходных буду тестировать!а регик какой?

z768
, 18:12
Следует все-таки разобраться, что же это за ошибка error: #error You need the winsup sources or a cygwin installation to compile the cygwin version of newlib, с которой я боролся

У меня тоже постояно она выпригивает
Она инсталится вместе с yagarto.

Mi81
, 21:51
постояно она выпригиваетК сожалению, я практически не знаком unix, поэтому обошел проблему достаточно примитивно, добавив в файл ...\cygwin\usr\include\sys\signal.h код, выделенный красным:
/* sys/signal.h */

#ifndef _SYS_SIGNAL_H
#define _SYS_SIGNAL_H
#ifdef __cplusplus
extern "C" {
#endif

#include "_ansi.h"
#include <sys/features.h>

#if defined(_POSIX_THREADS)
#ifdef __CYGWIN__
#include <cygwin/types.h>
#endif
#endif

#include <sys/types.h>
Возможно, это абсолютно не правильно, но сообщение об ошибке winsup/newlib не выскакивает.

Еще одна не понятая мною ошибка выскакивает здесь:
MAKEDEP comsvc
cc1plus.exe: error: bad value (generic) for -mtune= switch
cc1plus.exe: error: bad value (i686) for -march= switch
MAKELIB libcomsvc.a
RANLIB libcomsvc.a
ASM get_vec.o
ASM rtpll.o
ASM kirq.o
CC rtpllc.oСборка при этом не останавливается, но наличие ошибки напрягает.
На выходе уже вторая прошивка, превращающая "орандж олд" в кирпич :(

z768
, 22:14
Mi81, я немного делал что-то похожее из сборок прошивок из-под Убунты, но это были проши для роутеров на базе Openwrt.
Там все очень похоже, но там конечно все отлизано на "ура", и все фри.
Править и здесь исходники можно, но надо хотя бы знать что на выходе получися, в смысле рабочий бинарник.
Поэтому я пока не правлю исходники а пытаюсь разобраться, почему матерится на newlib.
На "warning" можно не обращать внимание, но если "error" - это уже критично.
Кстати, свою первую прошу для роутера я собрал через 2 недели, это притом что с линуксом до этого вообще не встречался.
У меня что похожее вылазит здесь
MKTOP test/Makefile
MKTOP init/Makefile
MAKEDEP comsvc
gcc: error trying to exec 'cc1plus': execvp: No such file or directory
ASM memcpy8to32.o
ASM memcpy16to32.o
ASM memcpy32to8.o

Mi81
, 21:21
No such file or directoryСтранно, при правильных путях должен находиться без проблем

z768
, 22:57
Я уже разобрался, это связано с компиляторами С и С++.
Что самое интересное все компилится нормально.

Mi81
, 23:00
Установил RVDS 2.2 с первым сервиспаком и ошибка winsup/newlib ушла.
C сс1plus пока не разобрался. Я так понимаю, что это проделки yagarto: в каком-то скрипте запускается gcc.exe, который, ориентируясь по расширению исходника, запускает cc1plus.exe, передавая ему в моем случае (http://www.3ppc.net/forum/showpost.php?p=515417&postcount=75) параметры (mtune=generic и march=i686 (???!)), которые тот не понимает. Я правильно мыслю?
Однако строки generic и i686 нигде в скриптах не встречаются :(
Мой непросвещенный ум нашептывает мне, что в каком-то из скриптов, видимо, не указан параметр mcpu и по умолчанию задается процессор Intel 686. Верно?

все компилится нормальноА работает? Проблему с сопроцессором удалось решить?

z768
, 23:24
Я тоже ищу с первым сп, если правильно понимаю можно поверх имеющейся версии сп накатать. Сбросьте ссылку.
Пока еще не до конца компилится - есть ошибки.
Но уже есть прогресс.:)
Просматривал исходник, у меня при компиляции ступор был на -mpcu, там условие выбора в зависимости от версии yagarto, подправил под себя, все проскочило, потом переустановил версию.
Я пока тренируюсь на версиях из сырцов.
У меня рег на Новатеке.

По (mtune=generic и march=i686 (???!)) вроде ход мыслей верен, если гугл нам не врет.

Mi81
, 23:53
ищу с первым спБерется на .:: Скрытый текст (вы должны зарегистрироваться или войти под своим логином) ::., но требуется регистрация. Лекарство то же вплоть до апдейта 616.
там условие выбора в зависимости от версии yagartoЯ так понимаю, речь идет о Makefile.amboot?
Я поставил yagarto-bu-2.20_gcc-4.4.2-c-c++_nl-1.18.0_gdb-7.0.1_20091223, вроде 4.4.2 то, что требуется.

z768
, 00:08
Я ставил 2.19 там тоже 4.4.2 лень смотреть какой точно релиз.
Апдейт 616 я и так выкачал.
Да, Makefile.amboot.

Mi81
, 00:37
616 я и так выкачалКогда ставишь апдейтом билды 509-616, SP1 не получится, т.е. сами компиляторы будут типа SP1, а все остальное, в т.ч. библиотеки, например, - нет.
Посмотрел в скриптах, то, что касается файлов *.cpp. Цели для них (или как там это называется у линуксоводов, короче - target) имеют расширение *.lds, а не *.o, т.е. на выходе не объектные файлы. Посмотрел сами файлы *.lds - что-то похожее на какие-то текстовые скрипты. Неужели cc1plus вызывается для преобразования сиплюснутых исходников в скрипты? Не понятно. Как же мне не хочется на старости лет учить эту Гэцэцэшную бредятину, а видно придется :green:
Я-то надеялся что обойдусь редактированием си ну и ассемблера, на худой конец. А тут оказывается конец ну совсем худой, настолько, что, чтоб его увидеть, сначала нужно проломиться через инструментарий, который ничуть не проще, чем само программирование. В процессорном коде разобраться и пропатчить и то проще :)

SergMyz
, 07:04
Только если есть хорошие навыки восстановленияЕсть! Уже раз 10 восстанавливал, поэтому флеш чищу каждый раз!а регик какой?DOD GSE550.
У меня что похожее вылазит здесь
- Файл:
MKTOP test/Makefile
MKTOP init/Makefile
MAKEDEP comsvc
gcc: error trying to exec 'cc1plus': execvp: No such file or directory
ASM memcpy8to32.o
ASM memcpy16to32.o
ASM memcpy32to8.oТо же эта ошибка была, но прошивка собирается!

Новую прошивку пока не проверил!!! Уезжал.

добавлено через 2 минуты
Я-то надеялся что обойдусь редактированием си ну и ассемблера, на худой конец.Вот-вот. А я думал на Делфи сложно, теперь оказывается Делфи просто рай был!

antonkam, у тебя как дела? Что-то пропал!

Mi81
, 12:35
если гугл нам не врет.Во истину утро вечера мудренее.
Вот полезная.:: Скрытый текст (вы должны зарегистрироваться или войти под своим логином) ::..
В терминале cigwin запустил команду
gcc -v
и увидел дефолтную конфигурацию gcc, показанную ниже.
Оказывается, по умолчанию подхватывается gcc не версии 4.4.2, а совсем другой и, видимо, именно он решает какие параметры передать компиляторам.
105309

SergMyz
, 12:51
Mi81, по этому поводу в Cygwin сейчас ставлю С++. Думаю проблема с сс1.exe должна решиться. И соберу прошивку заново.

......... Не пролезло! make.amboot вернул исходный ошибка cc1plus была и вся компиляция "вылетела" на "плавающей точке"!

Mi81
, 13:34
компиляция "вылетела" на "плавающей точке"Не я сейчас не с плавающей точкой разбираюсь, а с ошибкой вызова cc1plus.exe с параметрами для для x86, т.к. считаю ее более глобальной. Не ясно, отрабатывает ли вообще cc1plus и что выдает на выходе. Сначала надо найти, где этот вызов происходит.
Затем займусь плавающей точкой.

Чтобы видеть в терминале более-менеее полный лог сборки, кажется, нужно в начала Makefile.prkapp добавить строку
MAKE_VERBOSE= yes
задав соответствующую переменную.
Я ее добавил сразу после default: all

SergMyz
, 13:40
а с ошибкой вызова cc1plus.exeВесь поиск по интернету дает ответ "Поставьте с++"! В Cygwin вроде нашел надо ставить по поиску "g++". А "плавающая точка" думаю связана с cc1plus.
..........
Установка в cygwin g++ убрала ошибку cc1plus!
"Плавающая точка" осталась!
Собрал прошивку заново - прошил = "КИРПИЧ"!!!
Вернул все назад!

Mi81
, 22:57
Насчет плавающей точки.
Просмотрел еще раз под дизассемблером оригинальную прошивку. Сдается мне, никаих опкодов процессора для работы с плавающей точкой, например, умножения (FMLS) там нет. Так что, скорее всего, нужна именно программная реализация.

В папке yagarto\lib\gcc\arm-elf\4.4.2, где лежит libgcc.a, есть несколько подпапок, которые так же содержат этот файл. Судя по тому, что в папке be, например, лежит эта же библиотека, но для "big endian", можно предположить, что в какой-то из папок лежит и вариант с софтварной реализацией операций с плавающей точкой. Если я прав, то интересно, в какой?

По крайней мере в инете проскакивает информация о том, что софтварная libgcc.a имеестя в составе gnuarm, который лежит здесь:
.:: Скрытый текст (вы должны зарегистрироваться или войти под своим логином) ::. Кажись, он умеет встраиваться в cygwin. Версия gcc там 4.1.1. Можно попробовать его вместо yagarto.

Добавлено: Попробовал собрать с gnuarm вместо yagarto. Таже песня, но на другой лад:
ld: ERROR: ../lib/gcc/arm-elf/4.1.1/libgcc.a(_udivsi3.o) uses FPA instructions, whereas amboot_bld_debug.elf does not
Интересно, чем FPA отличается от FP ? Типа более продвинуто - "арифметика с плавающей точкой"?

Наверно ржут-немогут с нас линуксоиды :'(

SergMyz
, 05:53
Собрал прошивку заново - прошил = "КИРПИЧ"!!!
Когда прошивал эльфом через директ: Ошибка! Директ не смог elf сконвертировать в bin, что бы это значило???
Прошивал bin с карточки = "Кирпич"!

Пересобрал прошивку с другим bsp, показалось что он более похож на мой, от него зависит начальная загрузка регистратора, по аналогии с прошивкой через директ для моего регистратора выбираю BSP=a2sbub. В родной прошивке используется yamaha! Размер больше теперь 7,5 Мб.

Буду прошивать!
Посмотрел WinHex-ом, смущает сдвиг в новой прошивке 4 партиции 24800 по сравнению с родной прошивкой 25800! Может при конфигурировании это задается???

добавлено сообщение
ld: ERROR: ../lib/gcc/arm-elf/4.1.1/libgcc.a(_udivsi3.o) uses FPA instructions, whereas amboot_bld_debug.elf does not
Интересно, чем FPA отличается от FP ? Типа более продвинуто - "арифметика с плавающей точкой"?
Посмотри здесь .:: Скрытый текст (вы должны зарегистрироваться или войти под своим логином) ::.
И здесь .:: Скрытый текст (вы должны зарегистрироваться или войти под своим логином) ::.

Mi81
, 17:13
Может при конфигурировании это задается?В конфиге есть основные настройки использования памяти в разделе # Memory Options. Что же касается адресов загрузки, то, возможно, они определяются по фактическому размеру партиций плюс выравнивание по границе 0х00000800.

Посмотри здесьНу и где мне поблагодарить? :)

SergMyz
, 06:02
Пробовал по ссылкам выше менять параметры линковщика в make файлах, что бы использовались свои библиотеки, а не стандартные.
Не проходит! Либо не в этом причина, либо не так использую! Вот еще .:: Скрытый текст (вы должны зарегистрироваться или войти под своим логином) ::. Читаю и не понимаю, как использовать.
Вырезка от туда
-nodefaultlibs
Do not use the standard system libraries when linking. Only the libraries you specify are passed to the linker, and options specifying linkage of the system libraries, such as -static-libgcc or -shared-libgcc, are ignored. The standard startup files are used normally, unless -nostartfiles is used.
The compiler may generate calls to memcmp, memset, memcpy and memmove. These entries are usually resolved by entries in libc. These entry points should be supplied through some other mechanism when this option is specified.

-nostdlib
Do not use the standard system startup files or libraries when linking. No startup files and only the libraries you specify are passed to the linker, and options specifying linkage of the system libraries, such as -static-libgcc or -shared-libgcc, are ignored.
The compiler may generate calls to memcmp, memset, memcpy and memmove. These entries are usually resolved by entries in libc. These entry points should be supplied through some other mechanism when this option is specified.

One of the standard libraries bypassed by -nostdlib and -nodefaultlibs is libgcc.a, a library of internal subroutines which GCC uses to overcome shortcomings of particular machines, or special needs for some languages. (See Interfacing to GCC Output, for more discussion of libgcc.a.) In most cases, you need libgcc.a even when you want to avoid other standard libraries. In other words, when you specify -nostdlib or -nodefaultlibs you should usually specify -lgcc as well. This ensures that you have no unresolved references to internal GCC library subroutines. (An example of such an internal subroutine is ‘__main’, used to ensure C++ constructors are called; see collect2.)
Как я понимаю, даже при использовании этих параметров libgcc.a все равно используется!??
Mi81, а просто заменить libgcc.a не пробовал (хард на софт)? Выдает ошибку?
Думаю с отключенными параметрами при сборке прошивки, как мы делаем сейчас, получится "слегка тормозная работа" регистратора, если конечно загрузится и будет работать.

добавлено сообщение
Все это не верно! Надо сконфигурировать gcc с опцией MULTILIB_OPTIONS с нужным нам процессором, тогда программа (компилятор) сам построит нужную версию libgcc.a и других библиотек.

z768
, 18:00
Ребята с чем боремся ?
Я пока с этим
LD amboot_bld_debug.elf
c:/yagarto/bin/../lib/gcc/arm-elf/4.4.2/../../../../arm-elf/bin/ld.exe: ERROR: c
:/yagarto/bin/../lib/gcc/arm-elf/4.4.2\libgcc.a(_udivsi3.o) uses hardware FP, wh
ereas amboot_bld_debug.elf uses software FP
c:/yagarto/bin/../lib/gcc/arm-elf/4.4.2/../../../../arm-elf/bin/ld.exe: failed t
o merge target specific data of file c:/yagarto/bin/../lib/gcc/arm-elf/4.4.2\lib
gcc.a(_udivsi3.o)
.............

.............
c:/yagarto/bin/../lib/gcc/arm-elf/4.4.2/../../../../arm-elf/bin/ld.exe: ERROR: c
:/yagarto/bin/../lib/gcc/arm-elf/4.4.2/../../../../arm-elf/lib\libc.a(lib_a-impu
re.o) uses hardware FP, whereas amboot_bld_debug.elf uses software FP
c:/yagarto/bin/../lib/gcc/arm-elf/4.4.2/../../../../arm-elf/bin/ld.exe: failed t
o merge target specific data of file c:/yagarto/bin/../lib/gcc/arm-elf/4.4.2/../
../../../arm-elf/lib\libc.a(lib_a-impure.o)
collect2: ld returned 1 exit status
../../../config/Makefile.amboot:656: recipe for target `amboot_bld_debug.elf' fa
iled
make[1]: *** [amboot_bld_debug.elf] Error 1
../../config/Makefile.prkapp:432: recipe for target `all' failed
make: *** [all] Error 2

Как разрулить пока не знаю.

Mi81
, 20:24
с чем боремся ?Именно с этим и боремся.а просто заменить libgcc.a не пробовал (хард на софт)?Пробовал полностью заменять содержимое папки lib на те варианты, которые есть в подпапках. Без результата.
Надо сконфигурировать gcc с опцией MULTILIB_OPTIONSДа... блин. Как же хорошо я жил до этого: до сих пор мне не пришлось ни разу пересобирать Visual Studio из исходников. Я балдею, с инструментом возни больше, чем собственно с программой, которую он должен обработать :D
Сконфигурировал gcc так: ./configure --target=arm-elf --with-cpu=arm926ej-s --with-fpu=FPA --enable-multilib --with-float=soft
Но там еще куча всевозможных опций, назначение которых пока не понял. Вообще-то, я не собирался изучать unix, ни 29 лет назад, ни сейчас. Оно мне надо?
Если кто соберет, выложите плиз.

Гость
, 01:20
а че вам не помогает antonkam? как гврится 1 голова хорошо, а две лучше!

SergMyz
, 05:59
Ребята с чем боремся ?
Я пока с этимС этим же!
3 дня рыл интернет! Перепробовал ку вариантов!
Выяснил: Причина в том что искомые библиотеки на которые идет "ругань" для разных ARM процессоров и убирается это настройками gcc при установке указываем параметры multilib, soft, наш процессор (в make.amboot) и gcc сам откомпилирует нужные библиотеки на основе libgcc.a
Я так это понял! От этого зависит вообще работа процессора Ambarella, скомпилировали по другому и "кирпич" обеспечен.
Почитать можно здесь:
.:: Скрытый текст (вы должны зарегистрироваться или войти под своим логином) ::.

добавлено через 6 минут
Сконфигурировал gcc так: ./configure --target=arm-elf --with-cpu=arm926ej-s --with-fpu=FPA --enable-multilib --with-float=soft
У меня вообще configure не запускается! Видать надо с сайта Cygwin выкачать исходники а не бинарники! А после конфигурирования make надо запускать!

Куча вопросов:
- как конфигурировать gcc в cygwin?
- как конфигурировать gcc в yagarto?
- зачем два gcc, может обойтись одним?
Все кстати жалуются на "гемморойную" настройку среды разработки ARM на PC!

добавлено через 2 минуты
а че вам не помогает antonkam?Куда то пропал. У него судя по работающей прошивке gcc собрал все нормально!

z768
, 08:42
как конфигурировать gcc в cygwin?
Точно также как будто работаешь под линуксом.
По первой ссылке почти подробно расписано.
как конфигурировать gcc в yagarto?
зачем два gcc, может обойтись одним?
Вот и мне непонятно.

Mi81
, 09:28
как конфигурировать gcc в cygwin?
Скачиваем исходники gcc, я для первого эксперимента взял gnuarm 4.2.1, а не yagarto, просто они уже были под рукой.
.:: Скрытый текст (вы должны зарегистрироваться или войти под своим логином) ::.Сорцы раскрутил в папку на диске C. Запустил терминал cygwin, зашел в нем в папку с сорцами и запустил ./configure.
На некоторые чеки получил ответы "no", однако Makefile собрался.
Make пока не делал, т.к. мало ясности, что я сделал вообще и правильно ли.

Еще, касаясь плавающей точки, мне не понятно:

Почему в исходниках проекта в скрипте Makefile.amboot автор в зависимости от версии gcc в одном случае задает параметры -msoft-float -mfpu=fpa, а в другом просто -msoft-float?
Почему именно программная эмуляция? Потому что в момент загрузки еще не инициализирован сопроцессор (если он вообще есть)?
Если есть, то не исключают ли друг друга одновременно примененные параметры -msoft-float и -mfpu=fpa в случае компиляции с помощью gcc-4.4.2?
Корректно ли их одновременное применение?
Чем отличаются параметры fpa и vfp?
Какого типа сопроцессор у A2S60: fpa или vfp, и как определить его наличие или отсутствие, ведь он, как я понимаю, является опцией для arm926ej-s.
Если в некоторых случаях (amboot, например) проект собирается с прогаммной эмуляцией плавающей точки, то как эта точка компилируется в других частях проекта? Ведь в них это делается с параметром по умолчанию, т.к. в остальных скриптах, например, Makefile.prkapp эти параметры не задаются явно.

Короче, вопросов куча и я не люблю, когда чего-то не понимаю. Тем более, что я еще не решил для себя: хочу ли я вообще это понимать: очень влом изучать Unix с азов ради того, чтоб скомпилить один проект.

SergMyz
, 10:11
По первой ссылке почти подробно расписано.расписано то подробно, но в половине случаев ничего не собирается! При make выдает ошибки и т. д. Короче замкнутый круг!

- почему при выборочной установке Cygwin из интернета, там не возможно выбрать конфигурацию GCC???

z768
, 11:08
расписано то подробно, но в половине случаев ничего не собирается! При make выдает ошибки и т. д. Короче замкнутый круг!

Возможно не хватает каких-либо пакетов...
SergMyz, во время процесса сборки будь подключен к инету, много будет выкачиваться по ходу.

SergMyz
, 11:57
Ошибки компиляции GCC 4.4.2
../../.././libgcc/../gcc/libgcc2.c:28:21: error: tconfig.h: No such file or directory
../../.././libgcc/../gcc/libgcc2.c:31:16: error: tm.h: No such file or directory
In file included from ../../.././libgcc/../gcc/libgcc2.c:61:
../../.././libgcc/../gcc/libgcc2.h:254:3: error: #error "expand the table"
../../.././libgcc/../gcc/libgcc2.c: In function ‘__mulhi3’:
../../.././libgcc/../gcc/libgcc2.c:556: error: ‘BITS_PER_UNIT’ undeclared (first use in this function)
../../.././libgcc/../gcc/libgcc2.c:556: error: (Each undeclared identifier is reported only once
../../.././libgcc/../gcc/libgcc2.c:556: error: for each function it appears in.)
Makefile:359: recipe for target `_muldi3.o' failed
make[4]: *** [_muldi3.o] Error 1
make[4]: Выход из каталога `/home/Сергей/objdir/gcc-4.4.2/arm-elf/thumb/libgcc'
Makefile:975: recipe for target `multi-do' failed
make[3]: *** [multi-do] Error 1
make[3]: Выход из каталога `/home/Сергей/objdir/gcc-4.4.2/arm-elf/libgcc'
Makefile:107: recipe for target `all-multi' failed
make[2]: *** [all-multi] Error 2
make[2]: Выход из каталога `/home/Сергей/objdir/gcc-4.4.2/arm-elf/libgcc'
Makefile:11858: recipe for target `all-target-libgcc' failed
make[1]: *** [all-target-libgcc] Error 2
make[1]: Выход из каталога `/home/Сергей/objdir/gcc-4.4.2'
Makefile:745: recipe for target `all' failed
make: *** [all] Error 2
Смотрю файл есть, а что он его не находит. Компиляция дошла до сборки libgcc.a и встала.
Дополнительно поставил GMP, MPFR, texinfo.

z768
, 20:06
:)
Вроде END близок...
LD .temp/amboot_kernel_romfs_dsp_release.efw
OBJCOPY devfw/amboot_kernel_romfs_dsp_release.bin
AS header_bld.fw
LD .temp/bld_release.efw
OBJCOPY devfw/bld_release.bin
AS header_bld_kernel_romfs_dsp.fw
LD .temp/bld_kernel_romfs_dsp_release.efw
OBJCOPY devfw/bld_kernel_romfs_dsp_release.bin
AS run_once_release.o
GCC memfwprog_release.o
LD memfwprog/amboot_release.elf
LD memfwprog/kernel_release.elf
LD memfwprog/romfs_release.elf
LD memfwprog/dsp_release.elf
LD memfwprog/amboot_kernel_romfs_dsp_release.elf
LD memfwprog/bld_release.elf
LD memfwprog/bld_kernel_romfs_dsp_release.elf
copy a3_20130522T155616_cedeke_no_gps.elf
cp: cannot create regular file `E:/isky_docs/a3_compile_history/a3_20130522T1556
16_cedeke_no_gps.elf': No such file or directory
Makefile:85: recipe for target `all' failed
make[1]: *** [all] Error 1
../../config/Makefile.prkapp:432: recipe for target `all' failed
make: *** [all] Error 2
Для продолжения нажмите любую клавишу . . .
Даже сам не знаю, опыта полный нуль...

Mi81
, 20:23
Создайте на диске E папку isky_docs вручную. Если нет диска E, подредактируйте скрипт. В эту папку ложатся архивные копии всех собранных с этой bsp прошивок.
Сама же прошивка у вас уже есть в папках devfw и memfwprog

z768
, 20:28
Мне проще макефил исправить, чтоб он не просто тупо копировал в определенную папку, а создавал и туда ложил файл.
По крайней мере я увидел, что скрипты отработали, ну или почти отработали.

Mi81
, 21:59
Пытаюсь собрать gnuarm gcc-4.1.1 в конфигурации
$ ../gcc-4.1.1/configure --target=arm-elf --with-cpu=arm926ej-s --with-fpu=fpa --enable-multilib --with-float=soft --enable-languages=c,c++ --enable-threads

Имею:
checking for thread model used by GCC... single
configure: WARNING: No native atomic operations are provided for this platform.
configure: WARNING: They cannot be faked when thread support is disabled.
configure: WARNING: Thread-safety of certain classes is not guaranteed.
configure: error: No support for this host/target combination.
Makefile:7646: recipe for target `configure-target-libstdc++-v3' failed
make[1]: *** [configure-target-libstdc++-v3] Error 1
make[1]: Выход из каталога `/cygdrive/c/mygcc'
Makefile:621: recipe for target `all' failed
make: *** [all] Error 2
Может что не так с параметрами конфигурации?
Moжет уважаемый antonkam, когда вернется, подскажет нам темным и малограмотным, с какими параметрами собирал он сам или где брал готовый gcc. Ну или как модифицировал скрипт Makefile.amboot, чтоб развязать гордиев узел вокруг плавающей точки.

z768
, 22:50
Я не думаю что он собирал gcc.
Лично я воспользовался yagarto последней версии.
Что правил в макефиле
ifeq ($(GCC_VERSION),4.4.2)

ifeq ($(CPU),ARM926EJS)
CPU_OPT = -mcpu=arm926ej-s -msoft-float -mfpu=fpa
else
ifeq ($(CPU),ARM1136JS)
CPU_OPT = -mcpu=arm1136j-s -msoft-float
endif
endif

else

ifeq ($(CPU),ARM926EJS)
CPU_OPT = -mcpu=arm926ej-s -msoft-float
else
ifeq ($(CPU),ARM1136JS)
CPU_OPT = -mcpu=arm1136j-s -msoft-float
endif
endif

endif
Выхлоп командной строки меня просто заинтересовал
HOSTLD host_prefcomp
HOSTCC host_permutate.o
HOSTLD host_permutate
LDS amboot_bst.lds
AS start_debug.o
arm-elf-gcc.exe: error: unrecognized argument in option '-mcpu=arm926ejs'
arm-elf-gcc.exe: note: valid arguments to '-mcpu=' are: arm1020e arm1020t arm102
2e arm1026ej-s arm10e arm10tdmi arm1136j-s arm1136jf-s arm1156t2-s arm1156t2f-s
arm1176jz-s arm1176jzf-s arm2 arm250 arm3 arm6 arm60 arm600 arm610 arm620 arm7 a
rm70 arm700 arm700i arm710 arm7100 arm710c arm710t arm720 arm720t arm740t arm750
0 arm7500fe arm7d arm7di arm7dm arm7dmi arm7m arm7tdmi arm7tdmi-s arm8 arm810 ar
m9 arm920 arm920t arm922t arm926ej-s arm940t arm946e-s arm966e-s arm968e-s arm9e
arm9tdmi cortex-a15 cortex-a5 cortex-a7 cortex-a8 cortex-a9 cortex-m0 cortex-m1
cortex-m3 cortex-m4 cortex-r4 cortex-r4f cortex-r5 ep9312 fa526 fa606te fa626 f
a626te fa726te fmp626 generic-armv7-a iwmmxt iwmmxt2 mpcore mpcorenovfp native s
trongarm strongarm110 strongarm1100 strongarm1110 xscale
../../../config/Makefile.amboot:827: recipe for target `start_debug.o' failed
make[2]: *** [start_debug.o] Error 1
Makefile:31: recipe for target `default' failed
make[1]: *** [default] Error 2
../../config/Makefile.prkapp:432: recipe for target `all' failed
make: *** [all] Error 2


В yagarto переименовал 5 файлов -gcc, -ld, -nm, -objcopy, -strip.

Mi81
, 23:12
arm-elf-gcc.exe: error: unrecognized argument in option '-mcpu=arm926ejs'Не правильно указан целевой процессор. Должно быть -mcpu=arm926ej-s, именно через тире, которое пропущено в сорцах скрипта в части else.
Т.е. вы хотите сказать, что поправив только это тире, у вас не появилась ошибка с плавающей точкой под последним yagarto?
И вам не пришлось убирать параметр -msoft-float, чтобы избавиться от этой проблемы?

z768
, 23:23
Ошибка, которая появилась, без правки макефила я в предыдущем посте привел в качестве примера, специально сохранил.
После чего я просто поправил макефил. Мне важно было проверить как отработают скрипты.

Mi81
, 00:29
переименовал 5 файлов Голова! Я в свое время до конца эту задумку не довел (http://www.3ppc.net/forum/showpost.php?p=514334&postcount=23), переименовав только один файл после чего повелся на более старую версию, где с переименованием мучиться не надо.
Повторил ваш эксперимент с переименованием файлов в последней версии yagarto, ошибка с плавающей точкой ушла! :drinks:
И, тем не менее, проблема осталась: elf невозможно преобразовать в bin стандартными средствами, это значит, скорее всего, что в нем косяк, следовательно прошивка "кирпичная", вероятнее всего.

SergMyz
, 10:06
Повторил ваш эксперимент с переименованием файлов в последней версии yagarto, ошибка с плавающей точкой ушла! У меня при повторении вылазит это!
105398

Mi81
, 11:23
вылазит это!По идее, это не должно вылазить, если вы используете последний yagarto, т.к. параметр fpa применяется в Makefile.amboot только при использовании версии yagarto 4.4.2, а у вас теперь 4.7.2.
Во всех исполняемых файлах yagarto 4.7.2 (yagarto-20121212\bin\arm-none-eabi-*.exe) следует заменить префикс arm-none-eabi- на arm-elf- и провверить, что переменная PATH указывает именно на этот экземпляр yagarto.

Люди, плиз, выложите срочно куда-нить (можно через личку) лекарство для RVDS 2.2, а то работаю с планшета, а лимит на карточке на инет закачивается. Только лекарство (дирректорий crack, кажется), сам дистрибут у меня есть. Тянуть из шапки 150 метров ради таблетки не хочется - останусь без инета до конца месяца. Попробую установить на буке, а то пока лежу в больничке, позаниматься получается только вечером, когда сбегаю в самоволку.

SergMyz
, 11:49
По идее, это не должно вылазить,Не там все хитрее! В Makefile.amboot выше есть строчка определяющая версию GCC, а что выскочит если запросить версию GCC через командую строку = 4.5.3 - версия Cygwin. Значит программа идет по варианту выбора другой версии. Думаю yagarto у реального разработчика не было! Был настроенный GCC 4.4.2 под soft FP с учетом более поздних версий или ранних?????
Нашел такую ссылку думаю будет интересно почитать .:: Скрытый текст (вы должны зарегистрироваться или войти под своим логином) ::.

юди, плиз, выложите срочно куда-нить (можно через личку) лекарство для RVDS 2.2Вот правда антивирусник мой ругается!!! на патч.:: Скрытый текст (вы должны зарегистрироваться или войти под своим логином) ::.

SergMyz
, 13:02
Вот компиляция пущена по "другой ветке" без FPA с новой версией компилятора и переименованными файлами.
105401
ругается на версию EABI! То есть одно, то нет другого!!! Нужны библиотеки скомпилированные под этот проект!

Mi81
, 00:56
У меня теперь все компилится с софтовой плавающей точкой.
Теперь можно посмотреть вглубь и вширь, как грится.
При подобном взгляде напрягает вывод терминала типа:
Warning: #177-D: variable "G_lcd_pwr_on" was declared but never referenced
Warning: #177-D: function "ILI9342_init" was declared but never referenced
Не говоря уже о явных и удивляющих ошибках в исходниках типа:
Warning: #940-D: missing return statement at end of non-void function "ILI9342_get_display_ctrl_reg
Ну с последней разобраться не сложно.
А вот первые две говорят о том, что LCD дисплей ILI9342 подключен к проекту криво и может быть не приинициализирован, полагаю, не может быть, что б к такой переменной и функции не было обращений внутри кода.
И таких предупреждений туева хуча.
Еще мне непонятно насколько критичны сообщения типа
../../../src/ui/ambsh.y: conflicts: 6 shift/reduce
какой программой они генерируются и что они означают, что за сдвиг такой.
Похоже, нам досталась куча мусора, а не проект. Лопатить его и лопатить. Без даташитов на проц и периферию будет туго.

SergMyz
, 04:43
упакуй свой конфиг и прикрепи, я сегодня проверю.
Вот .:: Скрытый текст (вы должны зарегистрироваться или войти под своим логином) ::.

добавлено сообщение
Теперь можно посмотреть вглубь и вширь, как грится.Если на эти все ошибки обращать внимание, то "погрязнем" и будет просто ЖУТЬ! Только установка и конфигурация GCC в Cygwin = такой геморрой! Думаю без этой конфигурации не обойтись. С "плавающей точкой" создается совместимый код с процессором регистратора, а без будет получаться "кирпич". Ошибка при преобразовании в бин при прошивке говорит об этом!
Mi81, прошивку то пробовал залить?

SergMyz
, 06:55
Прошел я свою ошибку другим путем:
Поставил GCC 4.4.3 в Cygwin c softfloat.
Как описано здесь .:: Скрытый текст (вы должны зарегистрироваться или войти под своим логином) ::.
Проект откомпилировался с параметрами -mcpu=arm1136j-s -msoft-float!!! :yahoo:
Буду пробовать прошивать.
Yagarto вообще удалил.
Путь в bash_gnu_env поправил на \usr\local\bin и \usr\local\arm-elf\bin куда поставил GCC 4.4.3
Был еще вариант .:: Скрытый текст (вы должны зарегистрироваться или войти под своим логином) ::. Но не хотел он компилироваться! Там же интересная ссылка .:: Скрытый текст (вы должны зарегистрироваться или войти под своим логином) ::. Наш конфигуратор!

z768
, 09:00
SergMyz, вот результат из твоего конфига.
Все скомпилилось.
.:: Скрытый текст (вы должны зарегистрироваться или войти под своим логином) ::.

SergMyz
, 16:40
Все скомпилилось.Интересно! О_о
Попробую обе прошивки!

добавлено сообщение
Попробовал обе прошивки! В обоих случаях = "кирпичи"! Восстановил в рабочее состояние.
Но преобразовываются и грузятся в регистратор без ошибок, что очень хорошо! :)
Вот логи загрузок:
Мой лог!
AMBA_USB_Dev_Deinit:()
AMBA_USB_Dev_Deinit.()
AMBA_USB_Init:()
AMBA_USB_Dev_Init:()
Found 0 busses, 0 devices changed
AMBA_OS_Get_USB_Location:(0097AC68,0012EEB4,0012EEB8)
Filename=\\.\libusb0-0001--0x4255-0x0001
bus=0, port=0
AMBA_OS_Get_USB_Location.(0)
AMBA_USB_Configure:(0x0097AC68,0x0012EEBC)
Dev#1: 0x4255 (Amba) : 0x0001 (A4 ) : 123456789ABC has 1 configs
AMBA_USB_Configure.(0x0097B0D8)
AMBA_Check_State: (0x0012EEBC)
State is BOOT
AMBA_Check_State. (0x0)
Found 1 AMBA device!
AMBA_USB_Dev_Init.
AMBA_USB_Init.(1)
ConvertELF(C:\system\build\a2ssdk_camera\amboot\memfwprog\amboot_kernel_romfs_dsp_release.elf):
ConvertELF(0).
AMBA_Set_Boot_File: (0x1,C:\system\build\a2ssdk_camera\amboot\memfwprog\amboot_kernel_romfs_dsp_release.e2b)
AMBA_Set_Boot_File. ()
Set_FWPROG_Cmd:(003D5A90,8)
0: 0x0
1: 0x0
2: 0x0
3: 0x0
4: 0x0
5: 0x0
6: 0x0
7: 0x0
Reinit start wait.
AMBA_USB_Download:(0,0x1,14)
AMBA_Load_File_BST: (C:\Program Files\Ambarella\DirectUSB II\bld\a2s.bin,0xc0000000,1)
AMBA_Load_File: (C:\Program Files\Ambarella\DirectUSB II\bld\a2s.bin,0x00000000,0x0447F238)
AMBA_Load_File. (0)
Load file start.
Load file end.
AMBA_Load_File_BST. (0)
[0] AMBA_USB_Reinit_Wait: (1,1)
[0] Wait device re-init...
Reinit start signal.
AMBA_USB_Dev_Scan:()
Found 0 busses, 0 devices changed
AMBA_OS_Get_USB_Location:(0097AC68,0457F5EC,0457F5F0)
Filename=\\.\libusb0-0001--0x4255-0x0001
bus=0, port=0
AMBA_OS_Get_USB_Location.(0)
AMBA_USB_Configure:(0x0097AC68,0x0457F5F4)
Dev#1: 0x4255 (AMBA) : 0x0001 (Ambarella USB generic class) : 123456789ABC has 1 configs
AMBA_USB_Configure.(0x0097B0D8)
AMBA_Check_State: (0x0457F5F4)
State is LOAD
AMBA_Check_State. (0x1)
AMBA_USB_Simple_Command: (0x0,0x8,0x1,0xc00fff00,0x0)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x0457F540,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x99005544,0x0,0)
AMBA_Check_State: (0x0457F5F4)
State is LOAD
AMBA_Check_State. (0x1)
Found 1 AMBA device!
AMBA_USB_Dev_Scan.
Reinit start wait.
[0] Found.
[0] AMBA_USB_Reinit_Wait. (0)
AMBA_Load_Kernel: (0xf)
AMBA_Load_Kernel_File: (C:\system\build\a2ssdk_camera\amboot\memfwprog\amboot_kernel_romfs_dsp_release.e2b,0x0447F4AC,0x2,0xc0100000,0x0)
AMBA_Load_File: (C:\system\build\a2ssdk_camera\amboot\memfwprog\amboot_kernel_romfs_dsp_release.e2b,0x00000000,0x0447F420)
AMBA_Load_File. (0)
AMBA_USB_Simple_Command: (0x0,0x8,0x2,0xc00fff40,0x0)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x00000000,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x0,0x0,0)
AMBA_USB_Simple_Command: (0x0,0x8,0x2,0xc00fff44,0x0)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x00000000,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x0,0x0,0)
AMBA_USB_Simple_Command: (0x0,0x8,0x2,0xc00fff48,0x0)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x00000000,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x0,0x0,0)
AMBA_USB_Simple_Command: (0x0,0x8,0x2,0xc00fff4c,0x0)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x00000000,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x0,0x0,0)
AMBA_USB_Simple_Command: (0x0,0x8,0x2,0xc00fff50,0x0)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x00000000,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x0,0x0,0)
AMBA_USB_Simple_Command: (0x0,0x8,0x2,0xc00fff54,0x0)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x00000000,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x0,0x0,0)
AMBA_USB_Simple_Command: (0x0,0x8,0x2,0xc00fff58,0x0)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x00000000,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x0,0x0,0)
AMBA_USB_Simple_Command: (0x0,0x8,0x2,0xc00fff5c,0x0)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x00000000,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x0,0x0,0)
AMBA_USB_Simple_Command: (0x0,0x8,0x2,0xc00fff60,0x0)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x00000000,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x0,0x0,0)
AMBA_USB_Simple_Command: (0x0,0x8,0x2,0xc00fff64,0x0)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x00000000,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x0,0x0,0)
AMBA_USB_Simple_Command: (0x0,0x8,0x2,0xc00fff68,0x0)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x00000000,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x0,0x0,0)
AMBA_USB_Simple_Command: (0x0,0x8,0x2,0xc00fff6c,0x0)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x00000000,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x0,0x0,0)
AMBA_USB_Simple_Command: (0x0,0x8,0x2,0xc00fff70,0x33313032)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x00000000,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x0,0x0,0)
AMBA_USB_Simple_Command: (0x0,0x8,0x2,0xc00fff74,0x35323530)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x00000000,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x0,0x0,0)
AMBA_USB_Simple_Command: (0x0,0x8,0x2,0xc00fff78,0x39364141)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x00000000,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x0,0x0,0)
AMBA_USB_Simple_Command: (0x0,0x8,0x2,0xc00fff7c,0x30434341)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x00000000,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x0,0x0,0)
AMBA_USB_Simple_Command: (0x0,0x8,0x2,0xc00fff80,0x38313144)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x00000000,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x0,0x0,0)
AMBA_USB_Simple_Command: (0x0,0x8,0x2,0xc00fff84,0x45344630)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x00000000,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x0,0x0,0)
AMBA_USB_Simple_Command: (0x0,0x8,0x2,0xc00fff88,0x38334339)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x00000000,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x0,0x0,0)
AMBA_USB_Simple_Command: (0x0,0x8,0x2,0xc00fff8c,0x38434544)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x00000000,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x0,0x0,0)
AMBA_USB_Simple_Command: (0x0,0x8,0x2,0xc00fff90,0x30334538)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x00000000,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x0,0x0,0)
AMBA_USB_Simple_Command: (0x0,0x8,0x2,0xc00fff94,0x39464232)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x00000000,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x0,0x0,0)
AMBA_USB_Simple_Command: (0x0,0x8,0x2,0xc00fff98,0x0)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x00000000,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x0,0x0,0)
AMBA_USB_Simple_Command: (0x0,0x8,0x2,0xc00fff9c,0x0)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x00000000,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x0,0x0,0)
AMBA_USB_Simple_Command: (0x0,0x8,0x2,0xc00fffa0,0x0)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x00000000,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x0,0x0,0)
AMBA_USB_Simple_Command: (0x0,0x8,0x2,0xc00fffa4,0x0)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x00000000,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x0,0x0,0)
AMBA_USB_Simple_Command: (0x0,0x8,0x2,0xc00fffa8,0x0)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x00000000,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x0,0x0,0)
AMBA_USB_Simple_Command: (0x0,0x8,0x2,0xc00fffac,0x0)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x00000000,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x0,0x0,0)
AMBA_USB_Simple_Send: (0x04680020,7639660,0x2,0xc0100000,0x0)
AMBA_USB_Simple_Command: (0x0,0x2,0xc0100000,0x0,0x0)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x00000000,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x0,0x0,0)
AMBA_USB_Simple_Command: (0x1,0xd6c805dc,0x0,0x0,0x0)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Data: (0,0x04680020,7639660)
AMBA_USB_Simple_Data. (0)
Wait for CRC (1528 ms)
AMBA_USB_Simple_Response: (0x00000000,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x0,0x0,0)
AMBA_USB_Simple_Send. (0)
C:\system\build\a2ssdk_camera\amboot\memfwprog\amboot_kernel_romfs_dsp_release.e2b sent, size=7639660
AMBA_Load_Kernel_File. (0)
AMBA_USB_Simple_Command: (0x0,0x8,0x1,0xc0100158,0x0)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x0447F3C8,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0xeb00013c,0x0,0)
AMBA_USB_Simple_Command: (0x0,0x8,0x1,0xc010015c,0x0)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x0447F3C8,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0xeb0026e6,0x0,0)
AMBA_USB_Simple_Command: (0x0,0x8,0x1,0xc0100160,0x0)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x0447F3C8,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0xe1200070,0x0,0)
AMBA_Patch_FWPROG: address=0xc0100160
AMBA_USB_Simple_Command: (0x0,0x8,0x2,0xc0100160,0xe3a04103)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x00000000,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x0,0x0,0)
AMBA_USB_Simple_Command: (0x0,0x8,0x2,0xc0100164,0xe12fff14)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x00000000,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x0,0x0,0)
AMBA_USB_Simple_Command: (0x0,0x8,0x2,0xc00a0000,0x0)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x00000000,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x0,0x0,0)
AMBA_USB_Simple_Command: (0x0,0x8,0x2,0xc00a0004,0x0)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x00000000,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x0,0x0,0)
AMBA_USB_Simple_Command: (0x0,0x8,0x2,0xc00a0008,0x0)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x00000000,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x0,0x0,0)
AMBA_USB_Simple_Command: (0x0,0x8,0x2,0xc00a000c,0x0)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x00000000,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x0,0x0,0)
AMBA_USB_Simple_Command: (0x0,0x8,0x2,0xc00a0010,0x0)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x00000000,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x0,0x0,0)
AMBA_USB_Simple_Command: (0x0,0x8,0x2,0xc00a0014,0x0)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x00000000,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x0,0x0,0)
AMBA_USB_Simple_Command: (0x0,0x8,0x2,0xc00a0018,0x0)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x00000000,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x0,0x0,0)
AMBA_USB_Simple_Command: (0x0,0x8,0x2,0xc00a001c,0x0)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x00000000,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x0,0x0,0)
AMBA_USB_Simple_Command: (0x0,0x8,0x2,0xc00a0020,0x0)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x00000000,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x0,0x0,0)
AMBA_USB_Simple_Command: (0x0,0x8,0x2,0xc00a0024,0x0)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x00000000,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x0,0x0,0)
AMBA_USB_Simple_Command: (0x0,0x8,0x2,0xc00a0028,0x0)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x00000000,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x0,0x0,0)
AMBA_USB_Simple_Command: (0x0,0x8,0x2,0xc00a002c,0x0)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x00000000,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x0,0x0,0)
AMBA_USB_Simple_Command: (0x0,0x15,0x0,0xc0100000,0x0)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x00000000,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x0,0x0,0)
Wait firmware programming...
=>Estimation(19099ms)
AMBA_Load_Kernel. (0)
[0] Done!!
AMBA_USB_Download. (0)
[0] AMBA_USB_Reinit_Wait: (1,5)
[0] Wait device re-init...
Reinit start signal.
AMBA_USB_Dev_Scan:()
Found 0 busses, 0 devices changed
AMBA_OS_Get_USB_Location:(0097AC68,0457F5EC,0457F5F0)
Filename=\\.\libusb0-0001--0x4255-0x0001
bus=0, port=0
AMBA_OS_Get_USB_Location.(0)
AMBA_USB_Configure:(0x0097AC68,0x0457F5F4)
Dev#1: 0x4255 (AMBA) : 0x0001 (Ambarella USB generic class) : 123456789ABC has 1 configs
AMBA_USB_Configure.(0x0097B0D8)
AMBA_Check_State: (0x0457F5F4)
State is LOAD
AMBA_Check_State. (0x1)
AMBA_USB_Simple_Command: (0x0,0x8,0x1,0xc00fff00,0x0)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x0457F540,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x99005544,0x0,0)
AMBA_Check_State: (0x0457F5F4)
State is LOAD
AMBA_Check_State. (0x1)
Found 1 AMBA device!
AMBA_USB_Dev_Scan.
Reinit start wait.
[0] Found.
[0] AMBA_USB_Reinit_Wait. (0)
AMBA_USB_Simple_Command: (0x0,0x8,0x1,0xc00a0000,0x0)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x0447F658,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x82c,0x0,0)
AMBA_USB_Simple_Command: (0x0,0x8,0x1,0xc00a0004,0x0)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x0447F658,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x228a0,0x0,0)
AMBA_USB_Simple_Command: (0x0,0x8,0x1,0xc00a0008,0x0)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x0447F658,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x0,0x0,0)
AMBA_USB_Simple_Command: (0x0,0x8,0x1,0xc00a000c,0x0)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x0447F658,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x3e8974,0x0,0)
AMBA_USB_Simple_Command: (0x0,0x8,0x1,0xc00a0010,0x0)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x0447F658,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x0,0x0,0)
AMBA_USB_Simple_Command: (0x0,0x8,0x1,0xc00a0014,0x0)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x0447F658,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x0,0x0,0)
AMBA_USB_Simple_Command: (0x0,0x8,0x1,0xc00a0018,0x0)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x0447F658,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x194900,0x0,0)
AMBA_USB_Simple_Command: (0x0,0x8,0x1,0xc00a001c,0x0)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x0447F658,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x198704,0x0,0)
AMBA_USB_Simple_Command: (0x0,0x8,0x1,0xc00a0020,0x0)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x0447F658,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0xb0329ac3,0x0,0)
AMBA_USB_Simple_Command: (0x0,0x8,0x1,0xc00a0024,0x0)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x0447F658,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x0,0x0,0)
AMBA_USB_Simple_Command: (0x0,0x8,0x1,0xc00a0028,0x0)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x0447F658,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x0,0x0,0)
AMBA_USB_Simple_Command: (0x0,0x8,0x1,0xc00a002c,0x0)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x0447F658,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x0,0x0,0)
AMBA_USB_Simple_Command: (0x0,0x8,0x1,0xc00a0030,0x0)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x0447F658,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x20205f5f,0x0,0)
AMBA_USB_Simple_Command: (0x0,0x8,0x1,0xc00a0034,0x0)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x0447F658,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0xd5f5f2e,0x0,0)
BST: success (2092)
BLD: success (141472)
PRI: success (4098420)
ROM: success (1657088)
DSP: success (1672964)
AMBA_USB_Simple_Command: (0x0,0x8,0x1,0xc00fff60,0x0)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x0447F608,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x0,0x0,0)
AMBA_USB_Simple_Command: (0x0,0x8,0x1,0xc00fff64,0x0)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x0447F608,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x0,0x0,0)
AMBA_USB_Simple_Command: (0x0,0x8,0x1,0xc00fff68,0x0)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x0447F608,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x0,0x0,0)
AMBA_USB_Simple_Command: (0x0,0x8,0x1,0xc00fff6c,0x0)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x0447F608,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x0,0x0,0)
Error=0, data=0x0, str_len=0, str_addr=0x0
Firmware Programming Success!


Прошивка z768

AMBA_USB_Dev_Deinit:()
AMBA_USB_Dev_Deinit.()
AMBA_USB_Init:()
AMBA_USB_Dev_Init:()
Found 0 busses, 0 devices changed
AMBA_OS_Get_USB_Location:(0097AC68,0012EEB4,0012EEB8)
Filename=\\.\libusb0-0001--0x4255-0x0001
bus=0, port=0
AMBA_OS_Get_USB_Location.(0)
AMBA_USB_Configure:(0x0097AC68,0x0012EEBC)
Dev#1: 0x4255 (Amba) : 0x0001 (A4 ) : 123456789ABC has 1 configs
AMBA_USB_Configure.(0x0097B0D8)
AMBA_Check_State: (0x0012EEBC)
State is BOOT
AMBA_Check_State. (0x0)
Found 1 AMBA device!
AMBA_USB_Dev_Init.
AMBA_USB_Init.(1)
ConvertELF(C:\Documents and Settings\Сергей\Рабочий стол\amboot\amboot\memfwprog\amboot_kernel_romfs_dsp_release.elf):
ConvertELF(0).
AMBA_Set_Boot_File: (0x1,C:\Documents and Settings\Сергей\Рабочий стол\amboot\amboot\memfwprog\amboot_kernel_romfs_dsp_release.e2b)
AMBA_Set_Boot_File. ()
Set_FWPROG_Cmd:(003D5A90,8)
0: 0x0
1: 0x0
2: 0x0
3: 0x0
4: 0x0
5: 0x0
6: 0x0
7: 0x0
Reinit start wait.
AMBA_USB_Download:(0,0x1,14)
AMBA_Load_File_BST: (C:\Program Files\Ambarella\DirectUSB II\bld\a2s.bin,0xc0000000,1)
AMBA_Load_File: (C:\Program Files\Ambarella\DirectUSB II\bld\a2s.bin,0x00000000,0x0493F238)
AMBA_Load_File. (0)
Load file start.
Load file end.
AMBA_Load_File_BST. (0)
[0] AMBA_USB_Reinit_Wait: (1,1)
[0] Wait device re-init...
Reinit start signal.
AMBA_USB_Dev_Scan:()
Found 0 busses, 0 devices changed
AMBA_OS_Get_USB_Location:(0097AC68,04A3F5EC,04A3F5F0)
Filename=\\.\libusb0-0001--0x4255-0x0001
bus=0, port=0
AMBA_OS_Get_USB_Location.(0)
AMBA_USB_Configure:(0x0097AC68,0x04A3F5F4)
Dev#1: 0x4255 (AMBA) : 0x0001 (Ambarella USB generic class) : 123456789ABC has 1 configs
AMBA_USB_Configure.(0x0097B0D8)
AMBA_Check_State: (0x04A3F5F4)
State is LOAD
AMBA_Check_State. (0x1)
AMBA_USB_Simple_Command: (0x0,0x8,0x1,0xc00fff00,0x0)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x04A3F540,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x99005544,0x0,0)
AMBA_Check_State: (0x04A3F5F4)
State is LOAD
AMBA_Check_State. (0x1)
Found 1 AMBA device!
AMBA_USB_Dev_Scan.
Reinit start wait.
[0] Found.
[0] AMBA_USB_Reinit_Wait. (0)
AMBA_Load_Kernel: (0xf)
AMBA_Load_Kernel_File: (C:\Documents and Settings\Сергей\Рабочий стол\amboot\amboot\memfwprog\amboot_kernel_romfs_dsp_release.e2b,0x0493F4AC,0x2,0xc0100000,0x0)
AMBA_Load_File: (C:\Documents and Settings\Сергей\Рабочий стол\amboot\amboot\memfwprog\amboot_kernel_romfs_dsp_release.e2b,0x00000000,0x0493F420)
AMBA_Load_File. (0)
AMBA_USB_Simple_Command: (0x0,0x8,0x2,0xc00fff40,0x0)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x00000000,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x0,0x0,0)
AMBA_USB_Simple_Command: (0x0,0x8,0x2,0xc00fff44,0x0)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x00000000,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x0,0x0,0)
AMBA_USB_Simple_Command: (0x0,0x8,0x2,0xc00fff48,0x0)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x00000000,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x0,0x0,0)
AMBA_USB_Simple_Command: (0x0,0x8,0x2,0xc00fff4c,0x0)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x00000000,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x0,0x0,0)
AMBA_USB_Simple_Command: (0x0,0x8,0x2,0xc00fff50,0x0)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x00000000,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x0,0x0,0)
AMBA_USB_Simple_Command: (0x0,0x8,0x2,0xc00fff54,0x0)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x00000000,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x0,0x0,0)
AMBA_USB_Simple_Command: (0x0,0x8,0x2,0xc00fff58,0x0)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x00000000,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x0,0x0,0)
AMBA_USB_Simple_Command: (0x0,0x8,0x2,0xc00fff5c,0x0)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x00000000,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x0,0x0,0)
AMBA_USB_Simple_Command: (0x0,0x8,0x2,0xc00fff60,0x0)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x00000000,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x0,0x0,0)
AMBA_USB_Simple_Command: (0x0,0x8,0x2,0xc00fff64,0x0)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x00000000,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x0,0x0,0)
AMBA_USB_Simple_Command: (0x0,0x8,0x2,0xc00fff68,0x0)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x00000000,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x0,0x0,0)
AMBA_USB_Simple_Command: (0x0,0x8,0x2,0xc00fff6c,0x0)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x00000000,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x0,0x0,0)
AMBA_USB_Simple_Command: (0x0,0x8,0x2,0xc00fff70,0x33313032)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x00000000,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x0,0x0,0)
AMBA_USB_Simple_Command: (0x0,0x8,0x2,0xc00fff74,0x35323530)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x00000000,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x0,0x0,0)
AMBA_USB_Simple_Command: (0x0,0x8,0x2,0xc00fff78,0x39364141)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x00000000,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x0,0x0,0)
AMBA_USB_Simple_Command: (0x0,0x8,0x2,0xc00fff7c,0x30434341)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x00000000,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x0,0x0,0)
AMBA_USB_Simple_Command: (0x0,0x8,0x2,0xc00fff80,0x38313144)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x00000000,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x0,0x0,0)
AMBA_USB_Simple_Command: (0x0,0x8,0x2,0xc00fff84,0x45344630)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x00000000,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x0,0x0,0)
AMBA_USB_Simple_Command: (0x0,0x8,0x2,0xc00fff88,0x38334339)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x00000000,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x0,0x0,0)
AMBA_USB_Simple_Command: (0x0,0x8,0x2,0xc00fff8c,0x38434544)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x00000000,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x0,0x0,0)
AMBA_USB_Simple_Command: (0x0,0x8,0x2,0xc00fff90,0x30334538)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x00000000,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x0,0x0,0)
AMBA_USB_Simple_Command: (0x0,0x8,0x2,0xc00fff94,0x39464232)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x00000000,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x0,0x0,0)
AMBA_USB_Simple_Command: (0x0,0x8,0x2,0xc00fff98,0x0)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x00000000,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x0,0x0,0)
AMBA_USB_Simple_Command: (0x0,0x8,0x2,0xc00fff9c,0x0)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x00000000,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x0,0x0,0)
AMBA_USB_Simple_Command: (0x0,0x8,0x2,0xc00fffa0,0x0)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x00000000,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x0,0x0,0)
AMBA_USB_Simple_Command: (0x0,0x8,0x2,0xc00fffa4,0x0)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x00000000,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x0,0x0,0)
AMBA_USB_Simple_Command: (0x0,0x8,0x2,0xc00fffa8,0x0)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x00000000,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x0,0x0,0)
AMBA_USB_Simple_Command: (0x0,0x8,0x2,0xc00fffac,0x0)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x00000000,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x0,0x0,0)
AMBA_USB_Simple_Send: (0x04B40020,7645228,0x2,0xc0100000,0x0)
AMBA_USB_Simple_Command: (0x0,0x2,0xc0100000,0x0,0x0)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x00000000,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x0,0x0,0)
AMBA_USB_Simple_Command: (0x1,0xb0cc694,0x0,0x0,0x0)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Data: (0,0x04B40020,7645228)
AMBA_USB_Simple_Data. (0)
Wait for CRC (1530 ms)
AMBA_USB_Simple_Response: (0x00000000,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x0,0x0,0)
AMBA_USB_Simple_Send. (0)
C:\Documents and Settings\Сергей\Рабочий стол\amboot\amboot\memfwprog\amboot_kernel_romfs_dsp_release.e2b sent, size=7645228
AMBA_Load_Kernel_File. (0)
AMBA_USB_Simple_Command: (0x0,0x8,0x1,0xc0100158,0x0)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x0493F3C8,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0xeb000138,0x0,0)
AMBA_USB_Simple_Command: (0x0,0x8,0x1,0xc010015c,0x0)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x0493F3C8,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0xeb1d280d,0x0,0)
AMBA_USB_Simple_Command: (0x0,0x8,0x1,0xc0100160,0x0)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x0493F3C8,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0xe1200070,0x0,0)
AMBA_Patch_FWPROG: address=0xc0100160
AMBA_USB_Simple_Command: (0x0,0x8,0x2,0xc0100160,0xe3a04103)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x00000000,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x0,0x0,0)
AMBA_USB_Simple_Command: (0x0,0x8,0x2,0xc0100164,0xe12fff14)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x00000000,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x0,0x0,0)
AMBA_USB_Simple_Command: (0x0,0x8,0x2,0xc00a0000,0x0)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x00000000,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x0,0x0,0)
AMBA_USB_Simple_Command: (0x0,0x8,0x2,0xc00a0004,0x0)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x00000000,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x0,0x0,0)
AMBA_USB_Simple_Command: (0x0,0x8,0x2,0xc00a0008,0x0)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x00000000,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x0,0x0,0)
AMBA_USB_Simple_Command: (0x0,0x8,0x2,0xc00a000c,0x0)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x00000000,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x0,0x0,0)
AMBA_USB_Simple_Command: (0x0,0x8,0x2,0xc00a0010,0x0)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x00000000,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x0,0x0,0)
AMBA_USB_Simple_Command: (0x0,0x8,0x2,0xc00a0014,0x0)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x00000000,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x0,0x0,0)
AMBA_USB_Simple_Command: (0x0,0x8,0x2,0xc00a0018,0x0)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x00000000,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x0,0x0,0)
AMBA_USB_Simple_Command: (0x0,0x8,0x2,0xc00a001c,0x0)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x00000000,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x0,0x0,0)
AMBA_USB_Simple_Command: (0x0,0x8,0x2,0xc00a0020,0x0)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x00000000,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x0,0x0,0)
AMBA_USB_Simple_Command: (0x0,0x8,0x2,0xc00a0024,0x0)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x00000000,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x0,0x0,0)
AMBA_USB_Simple_Command: (0x0,0x8,0x2,0xc00a0028,0x0)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x00000000,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x0,0x0,0)
AMBA_USB_Simple_Command: (0x0,0x8,0x2,0xc00a002c,0x0)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x00000000,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x0,0x0,0)
AMBA_USB_Simple_Command: (0x0,0x15,0x0,0xc0100000,0x0)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x00000000,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x0,0x0,0)
Wait firmware programming...
=>Estimation(19113ms)
AMBA_Load_Kernel. (0)
[0] Done!!
AMBA_USB_Download. (0)
[0] AMBA_USB_Reinit_Wait: (1,5)
[0] Wait device re-init...
Reinit start signal.
AMBA_USB_Dev_Scan:()
Found 0 busses, 0 devices changed
AMBA_OS_Get_USB_Location:(0097AC68,04A3F5EC,04A3F5F0)
Filename=\\.\libusb0-0001--0x4255-0x0001
bus=0, port=0
AMBA_OS_Get_USB_Location.(0)
AMBA_USB_Configure:(0x0097AC68,0x04A3F5F4)
Dev#1: 0x4255 (AMBA) : 0x0001 (Ambarella USB generic class) : 123456789ABC has 1 configs
AMBA_USB_Configure.(0x0097B0D8)
AMBA_Check_State: (0x04A3F5F4)
State is LOAD
AMBA_Check_State. (0x1)
AMBA_USB_Simple_Command: (0x0,0x8,0x1,0xc00fff00,0x0)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x04A3F540,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x99005544,0x0,0)
AMBA_Check_State: (0x04A3F5F4)
State is LOAD
AMBA_Check_State. (0x1)
Found 1 AMBA device!
AMBA_USB_Dev_Scan.
Reinit start wait.
[0] Found.
[0] AMBA_USB_Reinit_Wait. (0)
AMBA_USB_Simple_Command: (0x0,0x8,0x1,0xc00a0000,0x0)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x0493F658,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x82c,0x0,0)
AMBA_USB_Simple_Command: (0x0,0x8,0x1,0xc00a0004,0x0)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x0493F658,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x23a50,0x0,0)
AMBA_USB_Simple_Command: (0x0,0x8,0x1,0xc00a0008,0x0)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x0493F658,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x0,0x0,0)
AMBA_USB_Simple_Command: (0x0,0x8,0x1,0xc00a000c,0x0)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x0493F658,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x3e8974,0x0,0)
AMBA_USB_Simple_Command: (0x0,0x8,0x1,0xc00a0010,0x0)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x0493F658,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x0,0x0,0)
AMBA_USB_Simple_Command: (0x0,0x8,0x1,0xc00a0014,0x0)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x0493F658,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x0,0x0,0)
AMBA_USB_Simple_Command: (0x0,0x8,0x1,0xc00a0018,0x0)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x0493F658,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x194900,0x0,0)
AMBA_USB_Simple_Command: (0x0,0x8,0x1,0xc00a001c,0x0)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x0493F658,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x198704,0x0,0)
AMBA_USB_Simple_Command: (0x0,0x8,0x1,0xc00a0020,0x0)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x0493F658,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0xb0329ac3,0x0,0)
AMBA_USB_Simple_Command: (0x0,0x8,0x1,0xc00a0024,0x0)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x0493F658,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x0,0x0,0)
AMBA_USB_Simple_Command: (0x0,0x8,0x1,0xc00a0028,0x0)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x0493F658,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x0,0x0,0)
AMBA_USB_Simple_Command: (0x0,0x8,0x1,0xc00a002c,0x0)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x0493F658,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x0,0x0,0)
AMBA_USB_Simple_Command: (0x0,0x8,0x1,0xc00a0030,0x0)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x0493F658,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x60205fdf,0x0,0)
AMBA_USB_Simple_Command: (0x0,0x8,0x1,0xc00a0034,0x0)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x0493F658,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0xf5f5f2e,0x0,0)
BST: success (2092)
BLD: success (146000)
PRI: success (4098420)
ROM: success (1657088)
DSP: success (1672964)
AMBA_USB_Simple_Command: (0x0,0x8,0x1,0xc00fff60,0x0)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x0493F608,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x0,0x0,0)
AMBA_USB_Simple_Command: (0x0,0x8,0x1,0xc00fff64,0x0)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x0493F608,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x0,0x0,0)
AMBA_USB_Simple_Command: (0x0,0x8,0x1,0xc00fff68,0x0)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x0493F608,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x0,0x0,0)
AMBA_USB_Simple_Command: (0x0,0x8,0x1,0xc00fff6c,0x0)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x0493F608,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x0,0x0,0)
Error=0, data=0x0, str_len=0, str_addr=0x0
Firmware Programming Success!
Reinit start signal.


Лог восстановления до рабочего состояния!

AMBA_USB_Dev_Deinit:()
AMBA_USB_Dev_Deinit.()
AMBA_USB_Init:()
AMBA_USB_Dev_Init:()
Found 0 busses, 0 devices changed
AMBA_OS_Get_USB_Location:(036B1058,0012EEB4,0012EEB8)
Filename=\\.\libusb0-0001--0x4255-0x0001
bus=0, port=0
AMBA_OS_Get_USB_Location.(0)
AMBA_USB_Configure:(0x036B1058,0x0012EEBC)
Dev#1: 0x4255 (Amba) : 0x0001 (A4 ) : 123456789ABC has 1 configs
AMBA_USB_Configure.(0x036B27D8)
AMBA_Check_State: (0x0012EEBC)
State is BOOT
AMBA_Check_State. (0x0)
Found 1 AMBA device!
AMBA_USB_Dev_Init.
AMBA_USB_Init.(1)
ConvertELF(E:\Регистратор\ПО-прошивки для регистратора DOD GSE550\Эта прошивка через Директ сделала Каркам Q5\amboot_kernel_romfs_dsp_release.elf):
ConvertELF(0).
AMBA_Set_Boot_File: (0x1,E:\Регистратор\ПО-прошивки для регистратора DOD GSE550\Эта прошивка через Директ сделала Каркам Q5\amboot_kernel_romfs_dsp_release.e2b)
AMBA_Set_Boot_File. ()
Set_FWPROG_Cmd:(003D5A90,8)
0: 0x0
1: 0x0
2: 0x0
3: 0x0
4: 0x0
5: 0x0
6: 0x0
7: 0x0
Reinit start wait.
AMBA_USB_Download:(0,0x1,14)
AMBA_Load_File_BST: (C:\Program Files\Ambarella\DirectUSB II\bld\a2s.bin,0xc0000000,1)
AMBA_Load_File: (C:\Program Files\Ambarella\DirectUSB II\bld\a2s.bin,0x00000000,0x048BF238)
AMBA_Load_File. (0)
Load file start.
Load file end.
AMBA_Load_File_BST. (0)
[0] AMBA_USB_Reinit_Wait: (1,1)
[0] Wait device re-init...
Reinit start signal.
AMBA_USB_Dev_Scan:()
Found 0 busses, 0 devices changed
AMBA_OS_Get_USB_Location:(036B1058,049BF5EC,049BF5F0)
Filename=\\.\libusb0-0001--0x4255-0x0001
bus=0, port=0
AMBA_OS_Get_USB_Location.(0)
AMBA_USB_Configure:(0x036B1058,0x049BF5F4)
Dev#1: 0x4255 (AMBA) : 0x0001 (Ambarella USB generic class) : 123456789ABC has 1 configs
AMBA_USB_Configure.(0x036B27D8)
AMBA_Check_State: (0x049BF5F4)
State is LOAD
AMBA_Check_State. (0x1)
AMBA_USB_Simple_Command: (0x0,0x8,0x1,0xc00fff00,0x0)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x049BF540,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x99005544,0x0,0)
AMBA_Check_State: (0x049BF5F4)
State is LOAD
AMBA_Check_State. (0x1)
Found 1 AMBA device!
AMBA_USB_Dev_Scan.
Reinit start wait.
[0] Found.
[0] AMBA_USB_Reinit_Wait. (0)
AMBA_Load_Kernel: (0xf)
AMBA_Load_Kernel_File: (E:\Регистратор\ПО-прошивки для регистратора DOD GSE550\Эта прошивка через Директ сделала Каркам Q5\amboot_kernel_romfs_dsp_release.e2b,0x048BF4AC,0x2,0xc0100000,0x0)
AMBA_Load_File: (E:\Регистратор\ПО-прошивки для регистратора DOD GSE550\Эта прошивка через Директ сделала Каркам Q5\amboot_kernel_romfs_dsp_release.e2b,0x00000000,0x048BF420)
AMBA_Load_File. (0)
AMBA_USB_Simple_Command: (0x0,0x8,0x2,0xc00fff40,0x0)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x00000000,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x0,0x0,0)
AMBA_USB_Simple_Command: (0x0,0x8,0x2,0xc00fff44,0x0)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x00000000,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x0,0x0,0)
AMBA_USB_Simple_Command: (0x0,0x8,0x2,0xc00fff48,0x0)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x00000000,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x0,0x0,0)
AMBA_USB_Simple_Command: (0x0,0x8,0x2,0xc00fff4c,0x0)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x00000000,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x0,0x0,0)
AMBA_USB_Simple_Command: (0x0,0x8,0x2,0xc00fff50,0x0)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x00000000,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x0,0x0,0)
AMBA_USB_Simple_Command: (0x0,0x8,0x2,0xc00fff54,0x0)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x00000000,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x0,0x0,0)
AMBA_USB_Simple_Command: (0x0,0x8,0x2,0xc00fff58,0x0)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x00000000,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x0,0x0,0)
AMBA_USB_Simple_Command: (0x0,0x8,0x2,0xc00fff5c,0x0)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x00000000,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x0,0x0,0)
AMBA_USB_Simple_Command: (0x0,0x8,0x2,0xc00fff60,0x0)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x00000000,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x0,0x0,0)
AMBA_USB_Simple_Command: (0x0,0x8,0x2,0xc00fff64,0x0)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x00000000,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x0,0x0,0)
AMBA_USB_Simple_Command: (0x0,0x8,0x2,0xc00fff68,0x0)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x00000000,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x0,0x0,0)
AMBA_USB_Simple_Command: (0x0,0x8,0x2,0xc00fff6c,0x0)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x00000000,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x0,0x0,0)
AMBA_USB_Simple_Command: (0x0,0x8,0x2,0xc00fff70,0x33313032)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x00000000,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x0,0x0,0)
AMBA_USB_Simple_Command: (0x0,0x8,0x2,0xc00fff74,0x35323530)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x00000000,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x0,0x0,0)
AMBA_USB_Simple_Command: (0x0,0x8,0x2,0xc00fff78,0x39364141)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x00000000,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x0,0x0,0)
AMBA_USB_Simple_Command: (0x0,0x8,0x2,0xc00fff7c,0x30434341)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x00000000,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x0,0x0,0)
AMBA_USB_Simple_Command: (0x0,0x8,0x2,0xc00fff80,0x38313144)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x00000000,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x0,0x0,0)
AMBA_USB_Simple_Command: (0x0,0x8,0x2,0xc00fff84,0x45344630)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x00000000,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x0,0x0,0)
AMBA_USB_Simple_Command: (0x0,0x8,0x2,0xc00fff88,0x38334339)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x00000000,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x0,0x0,0)
AMBA_USB_Simple_Command: (0x0,0x8,0x2,0xc00fff8c,0x38434544)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x00000000,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x0,0x0,0)
AMBA_USB_Simple_Command: (0x0,0x8,0x2,0xc00fff90,0x30334538)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x00000000,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x0,0x0,0)
AMBA_USB_Simple_Command: (0x0,0x8,0x2,0xc00fff94,0x39464232)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x00000000,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x0,0x0,0)
AMBA_USB_Simple_Command: (0x0,0x8,0x2,0xc00fff98,0x0)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x00000000,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x0,0x0,0)
AMBA_USB_Simple_Command: (0x0,0x8,0x2,0xc00fff9c,0x0)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x00000000,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x0,0x0,0)
AMBA_USB_Simple_Command: (0x0,0x8,0x2,0xc00fffa0,0x0)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x00000000,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x0,0x0,0)
AMBA_USB_Simple_Command: (0x0,0x8,0x2,0xc00fffa4,0x0)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x00000000,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x0,0x0,0)
AMBA_USB_Simple_Command: (0x0,0x8,0x2,0xc00fffa8,0x0)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x00000000,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x0,0x0,0)
AMBA_USB_Simple_Command: (0x0,0x8,0x2,0xc00fffac,0x0)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x00000000,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x0,0x0,0)
AMBA_USB_Simple_Send: (0x04AC0020,8696436,0x2,0xc0100000,0x0)
AMBA_USB_Simple_Command: (0x0,0x2,0xc0100000,0x0,0x0)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x00000000,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x0,0x0,0)
AMBA_USB_Simple_Command: (0x1,0xe6f34c8e,0x0,0x0,0x0)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Data: (0,0x04AC0020,8696436)
AMBA_USB_Simple_Data. (0)
Wait for CRC (1740 ms)
AMBA_USB_Simple_Response: (0x00000000,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x0,0x0,0)
AMBA_USB_Simple_Send. (0)
E:\Регистратор\ПО-прошивки для регистратора DOD GSE550\Эта прошивка через Директ сделала Каркам Q5\amboot_kernel_romfs_dsp_release.e2b sent, size=8696436
AMBA_Load_Kernel_File. (0)
AMBA_USB_Simple_Command: (0x0,0x8,0x1,0xc0100158,0x0)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x048BF3C8,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0xe1200070,0x0,0)
AMBA_Patch_FWPROG: address=0xc0100158
AMBA_USB_Simple_Command: (0x0,0x8,0x2,0xc0100158,0xe3a04103)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x00000000,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x0,0x0,0)
AMBA_USB_Simple_Command: (0x0,0x8,0x2,0xc010015c,0xe12fff14)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x00000000,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x0,0x0,0)
AMBA_USB_Simple_Command: (0x0,0x8,0x2,0xc00a0000,0x0)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x00000000,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x0,0x0,0)
AMBA_USB_Simple_Command: (0x0,0x8,0x2,0xc00a0004,0x0)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x00000000,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x0,0x0,0)
AMBA_USB_Simple_Command: (0x0,0x8,0x2,0xc00a0008,0x0)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x00000000,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x0,0x0,0)
AMBA_USB_Simple_Command: (0x0,0x8,0x2,0xc00a000c,0x0)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x00000000,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x0,0x0,0)
AMBA_USB_Simple_Command: (0x0,0x8,0x2,0xc00a0010,0x0)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x00000000,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x0,0x0,0)
AMBA_USB_Simple_Command: (0x0,0x8,0x2,0xc00a0014,0x0)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x00000000,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x0,0x0,0)
AMBA_USB_Simple_Command: (0x0,0x8,0x2,0xc00a0018,0x0)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x00000000,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x0,0x0,0)
AMBA_USB_Simple_Command: (0x0,0x8,0x2,0xc00a001c,0x0)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x00000000,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x0,0x0,0)
AMBA_USB_Simple_Command: (0x0,0x8,0x2,0xc00a0020,0x0)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x00000000,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x0,0x0,0)
AMBA_USB_Simple_Command: (0x0,0x8,0x2,0xc00a0024,0x0)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x00000000,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x0,0x0,0)
AMBA_USB_Simple_Command: (0x0,0x8,0x2,0xc00a0028,0x0)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x00000000,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x0,0x0,0)
AMBA_USB_Simple_Command: (0x0,0x8,0x2,0xc00a002c,0x0)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x00000000,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x0,0x0,0)
AMBA_USB_Simple_Command: (0x0,0x15,0x0,0xc0100000,0x0)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x00000000,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x0,0x0,0)
Wait firmware programming...
=>Estimation(21741ms)
AMBA_Load_Kernel. (0)
[0] Done!!
AMBA_USB_Download. (0)
[0] AMBA_USB_Reinit_Wait: (1,5)
[0] Wait device re-init...
Reinit start signal.
AMBA_USB_Dev_Scan:()
Found 0 busses, 0 devices changed
AMBA_OS_Get_USB_Location:(036B1058,049BF5EC,049BF5F0)
Filename=\\.\libusb0-0001--0x4255-0x0001
bus=0, port=0
AMBA_OS_Get_USB_Location.(0)
AMBA_USB_Configure:(0x036B1058,0x049BF5F4)
Dev#1: 0x4255 (AMBA) : 0x0001 (Ambarella USB generic class) : 123456789ABC has 1 configs
AMBA_USB_Configure.(0x036B27D8)
AMBA_Check_State: (0x049BF5F4)
State is LOAD
AMBA_Check_State. (0x1)
AMBA_USB_Simple_Command: (0x0,0x8,0x1,0xc00fff00,0x0)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x049BF540,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x99005544,0x0,0)
AMBA_Check_State: (0x049BF5F4)
State is LOAD
AMBA_Check_State. (0x1)
Found 1 AMBA device!
AMBA_USB_Dev_Scan.
Reinit start wait.
[0] Found.
[0] AMBA_USB_Reinit_Wait. (0)
AMBA_USB_Simple_Command: (0x0,0x8,0x1,0xc00a0000,0x0)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x048BF658,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x82c,0x0,0)
AMBA_USB_Simple_Command: (0x0,0x8,0x1,0xc00a0004,0x0)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x048BF658,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x2399c,0x0,0)
AMBA_USB_Simple_Command: (0x0,0x8,0x1,0xc00a0008,0x0)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x048BF658,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x0,0x0,0)
AMBA_USB_Simple_Command: (0x0,0x8,0x1,0xc00a000c,0x0)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x048BF658,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x3acc74,0x0,0)
AMBA_USB_Simple_Command: (0x0,0x8,0x1,0xc00a0010,0x0)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x048BF658,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x0,0x0,0)
AMBA_USB_Simple_Command: (0x0,0x8,0x1,0xc00a0014,0x0)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x048BF658,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x0,0x0,0)
AMBA_USB_Simple_Command: (0x0,0x8,0x1,0xc00a0018,0x0)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x048BF658,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x2d2900,0x0,0)
AMBA_USB_Simple_Command: (0x0,0x8,0x1,0xc00a001c,0x0)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x048BF658,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x197318,0x0,0)
AMBA_USB_Simple_Command: (0x0,0x8,0x1,0xc00a0020,0x0)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x048BF658,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0xb0329ac3,0x0,0)
AMBA_USB_Simple_Command: (0x0,0x8,0x1,0xc00a0024,0x0)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x048BF658,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x0,0x0,0)
AMBA_USB_Simple_Command: (0x0,0x8,0x1,0xc00a0028,0x0)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x048BF658,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x0,0x0,0)
AMBA_USB_Simple_Command: (0x0,0x8,0x1,0xc00a002c,0x0)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x048BF658,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x0,0x0,0)
AMBA_USB_Simple_Command: (0x0,0x8,0x1,0xc00a0030,0x0)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x048BF658,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x0,0x0,0)
AMBA_USB_Simple_Command: (0x0,0x8,0x1,0xc00a0034,0x0)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x048BF658,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x0,0x0,0)
BST: success (2092)
BLD: success (145820)
PRI: success (3853428)
ROM: success (2959616)
DSP: success (1667864)
AMBA_USB_Simple_Command: (0x0,0x8,0x1,0xc00fff60,0x0)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x048BF608,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x0,0x0,0)
AMBA_USB_Simple_Command: (0x0,0x8,0x1,0xc00fff64,0x0)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x048BF608,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x0,0x0,0)
AMBA_USB_Simple_Command: (0x0,0x8,0x1,0xc00fff68,0x0)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x048BF608,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x0,0x0,0)
AMBA_USB_Simple_Command: (0x0,0x8,0x1,0xc00fff6c,0x0)
AMBA_USB_Simple_Command. (0)
AMBA_USB_Simple_Response: (0x048BF608,0x00000000)
AMBA_USB_Simple_Response. (0,0x55525350,0x0,0x0,0x0,0)
Error=0, data=0x0, str_len=0, str_addr=0x0
Firmware Programming Success!


У меня только одна идея пока. В конфигураторе нет второй партиции для моего регистратора - выбираю наугад, поэтому размер ее в прошивке меньше и начало 3(4) партиции сдвинуто, по сравнению со всеми прошивка что я смотрел в WinHex -ом!

добавлено сообщение
Собрал еще прошивку с BSP=isky_a16 - "кирпич"
Прошлые прошивки были с BSP=a2sbub - тоже "кирпичи"
Буду дальше перебирать варианты!

Mi81
, 16:04
Пока топчемся на месте, вспомним приемы работы с консолью.
Чтобы документировать лог, который выдает cygwin в консольном окне в ходе компиляции и сборки проекта, можно поступить следующим образом:
1. Левый клик на иконке в левом верхнем углу окна консоли в строке его заголовка.
2. Во всплывающем меню выбрать опцию "Умолчания"
3. Установить ширину и высоту буфера экрана и самого консольного окна.
На приведенном ниже рисунке приведен пример для разрешения экрана 1920х1200. При таких значения размеров окна (236 символов на 150 строк) у меня консоль занимает весь экран и благодаря большой длине строки (236) практически нет переносов строк, все пишется в одну строку. Если у вас меньшее или большее разрешение экрана подберите свои значения.
105479
Что касается документирования самого лога и сохранения его в файле, то здесь определяющими будут размеры экранного буфера, которые определяют сколько строк одновременно вы сможете увидеть при прокрутке окна.
В моем логе 2555 строк, поэтому я выставил 6000 с большим запасом, в принципе, должно хватить и 3000.
По окончании компиляции:
1. Левый клик на поверхности окна.
2. Во всплывающем меню выбрать "Выделить все"
3. Скопировать выделение в буфер обмена, для чего нажать Enter.
4. В любом текстовом редакторе создать новый файл и вставить в него данные из буфера обмена.
5. Сохранить текстовый файл.
Полный лог позволяет исправлять имеющиеся в сорцах ошибки, просматривая его.

SergMyz
, 07:56
Mi81,это все "житейские мелочи" делающие красивой и удобной работу по созданию прошивки.
Пока на повестке такой вопрос:
- работоспособная прошивка в плане хотя бы включения регистратора и попытки загрузки!
Мысли пока такая:
Создание своего раздела BSP, там описываются кнопки, включение-выключение регистратора, как бы "биос" (BIOS) регистратора, если он не подходит=получаем "кирпич"

добавлено сообщение
Очередной опыт:
Собрал прошивку с BSP=a2sbub_20 - не прошивается!
Вот лог:
AMBA_USB_Dev_Deinit:()
AMBA_USB_Dev_Deinit.()
AMBA_USB_Init:()
AMBA_USB_Dev_Init:()
Found 0 busses, 0 devices changed
AMBA_OS_Get_USB_Location:(0097AC68,0012EEB4,0012EEB8)
Filename=\\.\libusb0-0001--0x4255-0x0001
bus=0, port=0
AMBA_OS_Get_USB_Location.(0)
AMBA_USB_Configure:(0x0097AC68,0x0012EEBC)
Dev#1: 0x4255 (Amba) : 0x0001 (A4 ) : 123456789ABC has 1 configs
AMBA_USB_Configure.(0x0097B0D8)
AMBA_Check_State: (0x0012EEBC)
State is BOOT
AMBA_Check_State. (0x0)
Found 1 AMBA device!
AMBA_USB_Dev_Init.
AMBA_USB_Init.(1)
ConvertELF(C:\system\build\a2ssdk_camera\amboot\memfwprog\amboot_kernel_romfs_dsp_release.elf):
ConvertELF(0).
AMBA_Set_Boot_File: (0x1,C:\system\build\a2ssdk_camera\amboot\memfwprog\amboot_kernel_romfs_dsp_release.e2b)
AMBA_Set_Boot_File. ()
Set_FWPROG_Cmd:(003D5A90,8)
0: 0x0
1: 0x0
2: 0x0
3: 0x0
4: 0x0
5: 0x0
6: 0x0
7: 0x0
AMBA_USB_Download:(0,0x1,14)
Reinit start wait.
AMBA_Load_File_BST: (C:\Program Files\Ambarella\DirectUSB II\bld\a2.bin,0xc0000000,1)
AMBA_Load_File: (C:\Program Files\Ambarella\DirectUSB II\bld\a2.bin,0x00000000,0x037FF238)
AMBA_Load_File. (0)
Load file start.
Load file end.
AMBA_Load_File_BST. (0)
[0] AMBA_USB_Reinit_Wait: (1,1)
[0] Wait device re-init...
Reinit start signal.
AMBA_USB_Dev_Scan:()
Found 0 busses, 1 devices changed
Found 0 AMBA device!
AMBA_USB_Dev_Scan.
Reinit start wait.
Reinit start signal.
AMBA_USB_Dev_Scan:()
Found 0 busses, 0 devices changed
Found 0 AMBA device!
AMBA_USB_Dev_Scan.
Reinit start wait.
[0] Not found.
[0] AMBA_USB_Reinit_Wait. (-1)
BLD execute failed.
[0] Failed!!
AMBA_USB_Download. (-1)

Партиция BLD не устроила!
С BSP=a2sbub_512 - аналогично, не прошивается!
Остальные варианты - не собираются!

добавлено сообщение
Что то идеи заканчиваются! Кроме правки файлов bsp.c и bittons.c в папке BSP мыслей нет! Знать бы еще что править??? :'(
Вот думаю, как пристроить GPIO Table из даташита Ambarella-Yamaha к этим файлам!

добавлено сообщение
Последние вести с полей!

Собрал прошивку с BSP=a2sbub_20 - не прошивается! Прошивается! Просто не ту плату выбирал
С BSP=a2sbub_512 - аналогично, не прошивается!
Аналогично -прошивается!

На одной из этих прошивок, мой регистратор подал признак жизни = определился, как флешка в режиме доступа для чтения, папки только почему то не все, но видео проигрывает с нее! Не знаю радоваться или нет! Кнопки не реагируют, повторно определяется как флешка после reset.

Пробовал в bsp.h поменять параметры DRAM памяти = не реагирует!

Mi81
, 22:49
Последние вести с полей!Примерно такая же картина и у меня на моем "орандж олд".
Прошивка заливается нормально (пробовал только с карточки). После этого дивай реагирует на кнопку включения своим "тра-ля-ля", однако не светодиод, ни экран не светятся. При подключении внешнего питания тоже поет "тра-ля-ля", загорается светодиод, но экран не светится. По разрядке батареи видимо автоматически выключается, т.к. тоже ни с того ни с сего проигрывает свое "тра-ля-ля".
На карточке создает два директория, но при подключении к компу, карточка не видна.
Думаю, в моем случае причина в драйвере дисплея. Родного нет, а тот, что есть вешает прибор уже после "тра-ля-ля".

SergMyz
, 05:12
После этого дивай реагирует на кнопку включения своим "тра-ля-ля", однако не светодиод, ни экран не светятся.Нет у меня вообще светодиоды и кнопки не реагируют!!! Только как флешка для чтения определяется регистратор.
Пробовал собрать прошивку только с lcd dummy, собралась если в параметрах поставить lcd=dummy, где mm8=disable, подсмотрел это в конфиге GoPro! Попробуй - может "заведеться"!

Mi81
, 20:33
Попробуй - может "заведеться"!Сдается мне, что все board support packages (BSP), имеющиеся в SDK, принадлежат к семейству приборов yamaha. Чем отличается yamaha от sunty (к которой принадлежит "орандж олд"), я не знаю, возможно это вообще не принципиально, а возможно, есть существенные различия по железу.
если в параметрах поставить lcd=dummyМеня напрягает само слово dummy, кроме того мне не понятно, что в терминологии этой SDK означает "A3", "isky16", "A20". Может это разные платы?
К чему тогда вот такой комент в секции описания LCD в файле конфигурации:
# NOTE: Select at most 1 device for A1/A2 and at most 2 devices for A3 ?
A1, A2, A3 это что? Процессоры? Тогда для A2 (а у меня A2S60) можно указывать только один, а не 2 дисплея.

SergMyz
, 04:26
Сдается мне, что все board support packages (BSP), имеющиеся в SDK, принадлежат к семейству приборов yamaha. Чем отличается yamaha от sunty (к которой принадлежит "орандж олд"), я не знаю, возможно это вообще не принципиально, а возможно, есть существенные различия по железу.
Нет к Yamaha не относятся, у меня регистратор Yamaha (будем называть это тип платы). Yamaha = 9-ти кнопочные регистраторы, а в SDK все 5-ти кнопочные BSP, на это есть там описание. Вот у меня есть datashit на 9-ти кнопочную Yamaha = "ломаю голову" как этим можно воспользоваться!
SergMyz, Mi81, antonkam помогите нам с прошкой v3.04. Битрейт то подняли, но запись теперь корректно работает в цикле 1мин. 5 мин. и 10 мин., а вот в циклах 15, 30 и 45 минут как бэ не нужны на самом деле + перестали работать т.е. ролик пишет 10 мин. 35 секунд Если это найду в исходниках, а потом в прошивке, то получиться поменять. Но не обещаю! Mi81, знаешь, где это в исходниках описано??? Потом в прошивке найти дело техники!

добавлено через 6 минут
Меня напрягает само слово dummy, кроме того мне не понятно, что в терминологии этой SDK означает "A3", "isky16", "A20". Может это разные платы?
К чему тогда вот такой комент в секции описания LCD в файле конфигурации:
# NOTE: Select at most 1 device for A1/A2 and at most 2 devices for A3 ?
A1, A2, A3 это что? Процессоры? Тогда для A2 (а у меня A2S60) можно указывать только один, а не 2 дисплея.Я так думаю, dummy это типа отладочного монохромного дисплея! Выбираешь 1 дисплей и при сборке - ругается!!!

Позвонить в техподдержку Ambarella - "Хай! Я китайская программиста, однако не работать ваша штука........ругательства"!!!!! :-D

добавлено через 4 минуты
Мне бы хотя бы для начала светодиод включения - зажечь!!!!

antonkam
, 11:19
Если рег издаёт звук или видится как картридер, значит прошивка стартует и работает. теперь вам нужно изображение вывести на экран. смотрите драйвера lcd в \system\src\peripheral\vout. возможно потребуется даташит для дисплея.
по кнопкам. если посмотреть принципиальную схему f500, там видно, что джойстик подключен к АЦП - adc0 и имеет значения от 0 до 1023. каждое положение - интервал значений. описано в файле \system\bsp\isky_a16\buttons.c
{ __CHAN_NORM_POS, 0, 960, 1023 },
{ SET_BUTTON, 0, 680, 800 }, /* Set/OK of F500*/
{ LEFT_BUTTON, 0, 100, 250 }, /* Right key of F500 */
{ UP_BUTTON, 0, 0, 50 }, /* Up key of F500 */
{ RIGHT_BUTTON, 0, 500, 650 }, /* Left key of F500 */
{ DOWN_BUTTON, 0, 300, 460 }, /* Down key of F500 */
кнопки MODE, MENU... подключены к разным пинам(GPIO##) процессора. это можно подсмотреть в \system\bsp\isky_a16\bsp.c
{ POWER_BUTTON, GPIO(38), V_LOW, V_LOW, 0, 0, 0, 100, 0, "POWER key" }, // see above????
{ MODE_BUTTON, GPIO(11), V_LOW, V_LOW, 0, 0, 0, 100, 0, "MODE key" },
{ MENU_BUTTON, GPIO(52), V_LOW, V_LOW, 0, 0, 0, 100, 0, "MENU key" },
{ RECORD_BUTTON, GPIO(47), V_LOW, V_LOW, 0, 0, 0, 100, 0, "RECORD key" },

добавлено через 8 минут
Mi81, если рег включается(издаёт звук включения), а потом сам отключается с соотв звуком, то возможно он думает что низкий заряд батареи, для этого нужно найти где описываются значения напряжения батареи и к какому каналу АЦП она подключена. а возможно рег думает, что зажата кнопка питания.
Но в первую очередь, думаю, нужно разобраться с дисплеем.

если кому нужно определить значения напряжения на каждом канале АЦП, запускайте со скриптом autoexec.ash с содержимым: "t adc sense >> d:\adc.txt". если при включении держать одну из кнопок джойстика, то можно определить разброс значений напряжения и прописать их в buttons.c. этим же скриптом можно посмотреть напряжение батареи на одном из каналов adc.

у кого аналог texet 1gs. из схемы видно(фото ниже), что кнопки OK, MODE, DOWN, UP подключены к ADC0. кнопки POWER - GPIO71, SHUTTER - GPIO50. батарея к ADC3
для аналогов f500(3 кн.) джойстик - ADC0, кнопки POWER - GPIO38, MODE - GPIO11, MENU - GPIO52, REC - GPIO47. батарея на ADC1

напряжение батареи определяется в \system\src\app\f500isky\utility.c. в "static battery_range_t" значения напряжений. в "adc_sense_chan#(&volts);" можно сменить номер adc-канала, где # - номер канала
105580

105581

SergMyz
, 12:55
antonkam, спасибо! Уже интереснее!! :yahoo: Жаль я отправляюсь в отпуск и меня ждет совершенно другая работа, но буду появляться раз в неделю!

antonkam
, 13:09
кстати, судя по-всему, китайцы тоже что-то ковыряют исходники: .:: Скрытый текст (вы должны зарегистрироваться или войти под своим логином) ::.
только у них там всё посерьёзнее)))
вот бы у них свежачок надыбать)

z768
, 13:21
antonkam что нить похожее для novatek можно где нибудь нарыть?

antonkam
, 13:28
antonkam что нить похожее для novatek можно где нибудь нарыть?
z768, понятия не имею. на эту ссылку, можно сказать, случайно набрёл

Mi81
, 19:47
вот бы у них свежачок надыбатьСвежачок с этого ресурса убран в середине марта. То, чем мы пользуемся утянуто оттуда по случаю в январе и лежало под сукном, пока не появилась ясность, что это, после чего было выложено в паблик на забугорном ресурсе :)

Посмотрел инициализацию дисплея в заводской прошивке "орандж олд". Значения несколько отличаются от тех, что в bsp.

Mi81
, 23:39
помогите нам с прошкой v3.04
Относительно продолжительности записи файлов.
Начать искать, у кого есть время, можно с изучения system\src\app\платформа\menu_video.c
Описание основных структур меню menu_s и menu_item_s можно посмотреть в menu.h.
Чтобы найти нужную структуру в прошивке, похоже, достаточно знать как выглядит это меню (я, например, не знаю), а так же знать две вещи: сколько всего предлагается времен на выбор (я так понял, что их семь: 1, 3, 5, 10, 15, 30 и 45 минут) и какое из них дефолтное (т.е. при сбросе на заводские настройки). Но это только в том случае, если в этой прошивке используются такие же структуры для описания меню и его опций как и в имеющейся у нас SDK.
Найдя структуру можно попробовать измененить в структуре video_recycle количество опций меню на значение 4. Тогда, возможно, отсекутся последние опции - 15, 30 и 45 мин.
Другой вариант - сделать ненужные опции disabled.
Однако, это не гарантированный путь, т.к. все, что касается меню, принадлежит не амбареловскому коду, который более-менее фиксирован в различных прошивках, а коду приложения app, который у каждого разработчитка свой.
Более верный путь в данном случае - дизассемблирование третьей партиции и анализ ассемблерного листинга.

Что бы экспериментировать с прошивкой нужен под рукой искомый регистраторПолностью разделяю эту очевидную точку зрения, так что без обид. Без экземпляра устройства на руках результат не очевиден и времени может потребоваться не 1-3 дня, а значительно больше.

если рег включается(издаёт звук включения), а потом сам отключается с соотв звуком, то возможно он думает что низкий заряд батареиНет, он отключается не сразу, а когда действительно разрядится, минут через 20 после включения. Так что, скорее всего, нежелание работать связано с дисплеем.

Гость
, 09:39
Без экземпляра устройства на руках результат не очевиден и времени может потребоваться не 1-3 дня, а значительно больше.да ладно вам, готовых выступить донорами хоть отбавляй, вот я например или GoshanV и всегда на связи! Кстати проверял вчера пунктик в меню с разрешением съёмки 1920х1080 15 fps, то обнаружил, что рег всё равно снимает с 29.97 fps, проверил все оригинальные прошивки и не на одной он не снимает с 15 fps. Писал письмо китайскому проду, чтоб поговорил с инженерами на счет исходников, он сказал что спросит, но так и молчит пока. Вообщем мужики, если будет желание помочь многомиллионной армии держателей данной модели, то помогите :thank_you:

Mi81
, 12:30
проверял вчера пунктик в меню с разрешением съёмки 1920х1080 15 fps, рег всё равно снимает с 29.97 fpsВозможно, он переходит в этот режим только в условиях недостаточной освещенности, чтоб увеличить экспозицию и поднять освещенность картинки. А при более-менее нормальной освещенности снимает 30 к/с, т.к. 15 к/с это достаточно ущербный режим для сцен с большим количеством движения.
Действительно хороший аппарат должен снимать 60 к/с, тогда движение объектов в кадре будет плавным, а их контуры - резкими.
готовых выступить донорами хоть отбавляйК сожалению, лично у меня такого времени нет, хотя я и приступил к дизассемблированию вашей прошивки. Не факт, что хватит времени, мотивации и настойчивости, чтобы закончить.
чтоб поговорил с инженерами на счет исходниковЭто маловероятно, по некоторым источникам ценник на SDK начинается от 20 тысяч зеленых, доступен только корпоративным покупателям и доходит до 70, если все в исходных кодах. При этом в нагрузку нужно купить N-ное количество амбарелловских плат. По крайней мере так говорят парни из Тексета.
Именно поэтому до последнего времени в течение 11 лет в Инете не было ни строчки из исходников. Нам невероятно повезло, что китайский товарищ на минуту утратил бдительность. Все под защитой американского закона :)
Видеоаппаратура серьезный сегмент рынка.

Mi81
, 00:58
Похоже, удалось полностью расшифровать и документировать формат файла strings.bin.
Речь идет не о создании, а о модификации существующих прошивок.
Если я нигде не ошибся, редактирование любых строк, в т.ч. и в меню станет возможным, независимо от их длины.
Весьма не сложно написать программку, которая будет уметь редактировать strings.bin в любой стоковой прошивке.
Лично мне влом это делать, одна просьба, если вы используете этот материал в своей программе, в About, сошлитесь на ник Mi81. Такого проявления благодарности мне будет вполне достаточно :)
В качестве примера я создал вручную коротенький файл strings.bin, дамп которого вы можете видеть в нижней части рисунка. В нем два языка (языковых блока, второй языковой блок на рисунке не раскрашен, и к тому же оба блока английские, но это просто, чтоб в дампе были видны буквы), в каждом блоке по три строки. На примере этого дампа и составлена сама таблица (второй языковой блок в ней я не стал расписывать, его структура такая же как и первого). В примере этого нет, но если в каком-то языке отсутствует какая-либо строка (что встречается довольно часто), то в массиве смещения строк этого блока вместо смещения проставляется 4 нуля. Т.о. в массиве смещений любого блока число членов массива всегда равно значению, указанному в таблице по смещению 0х00000008, независимо от того, сколько строк фактически переведено на тот или иной язык. Обычно самый полный блок английский или китайский. Если вы хотите сделать полный перевод для своего языка, просто включите эти строки на свои места в соответствующий языковой блок.
Сам файл strings.bin извлекается из стоковой прошивки хексом или утилитой F500Tool, автором которой по одним сведениям является Mагнетто, по другим - Андромедыч.
А вот и сам формат в том виде в каком у меня хватило ума и способностей его задокументировать:
105658

SergMyz
, 07:30
Mi81, свою собранную прошивку удалось "оживить"?
По strings.bin - в SDK есть папка tools, там есть утилита для создания этого файла. Набираешь нужный текст в юникодовком формате (образец там присутствует), утилитой конвентируешь, на выходе получаться strings.bin, strings.с, strings.h, их добавляем в проект и собираем. Аналогично для значков, изображений, звуков.
А при модификации уже готовой прошивки проблема в свободном месте, что бы при добавлении лишних символов не сместить все следующие адреса! Либо делать за счет другого языка!

добавлено через 6 минут
3ppcshnikunamer, GoshanV не торопите время! Если данная тема завершиться удачно, будет у вас прошивка какая захотите!

Mi81
, 22:23
Ура!!! Есть первая самопальная прошивка для "орандж олд"!!! И работает :drinks: :roll: :russian:
Получился работоспособный эльф, брать .:: Скрытый текст (вы должны зарегистрироваться или войти под своим логином) ::.
Мне пока не важны ее достоинства или недостатки, главное, что она работает!
На заставку симакс не смотрите, это не он, просто сунул первую попавшуюся под руку.
Кстати, в директории DirectUSB, надо заменить файл arm-elf-objcopy.exe на более новый, иначе не прошьется. Старый переименуйте, именно переименуйте, а не удалите: вдруг еще понадобится. Брать здесь .:: Скрытый текст (вы должны зарегистрироваться или войти под своим логином) ::.

SergMyz
, 06:14
Ура!!! Есть первая самопальная прошивка для "орандж олд"!!! И работает
Получился работоспособный эльф, братьНа своем регистраторе попробовал = не работает! Только как флешка для чтения. Mi81, распиши, пожалуйста, подробней, что менял, в результате чего получилась работоспособная прошивка???
Есть предложение создать тему по модификации, посты из этой перенести туда, если да, то не вопрос. А с другой стороны мало ли народ головистый подтянется вам помощь, вообщем слово за вами Хорошее предложение! Только вот кто подтянется??? Я до середины июля буду редко появляться (отпуск)! Вот "свежие" головы, со свежими идеями и опытами придали ли бы стимул теме! :)
Интересно! Андромедыч читает эту тему? Еще пару человек я приглашал в эту тему поучаствовать, но что то тишина. Один сказал, что у него "контры" со здешней администрацией!

Mi81
, 08:05
На своем регистраторе попробовал = не работаетУ меня работает, пока обнаружена только одна проблема: подключение внешнего питания вешает его, требуется перезагрузка.
Meню такое - 105666

Mi81
, 09:31
добавлено через 11 минут
распиши, пожалуйста, подробней, что менялТолько конфигурацию. Остановился на такой:
.:: Скрытый текст (вы должны зарегистрироваться или войти под своим логином) ::. Но это именно под мой прибор (Типа Samoon DV5E5 или Texet DVR-601/1GP, правда GPS в своем проекте я не подключал, т.к. в моем приборе его нету).
Из глюков - подключение внешнего питания вешает прибор. При этом акум заряжается, а вот записать что-либо, естественно, не получится.
Пишет только от аккумулятора. Качество пристойное, меню отстойное (я имею в виду китайский перевод, но это поправимо). Как флешка не видится в силу описанного выше глюка с внешним питанием.
Выложи плиз, свой конфиг, чтоб я не тратил время а посмотрел твои настройки usb.
Возможно придется ковырять код, чтоб исправить проблему.
что у тебя не получается или что...Ну да, почему-то перестало получаться: фото и под спойлером и внизу сообщения.

Mi81
, 11:01
Не могу утверждать с уверенностью, т.к. на работе у меня монитор не FullHD, но, даже учитывая то, что работа кодека мне не очень нравится, читабельность номеров у самопальной прошивки будет малость повыше ну или не хуже, нежели у последней тексетовской, даже пропатченной на 18 Мб/с.
Правда, в моем распоряжении пока мало материала, только три утренних ролика и те при низком боковом или лобовом солнце, так что первое впечатление может оказаться обманчивым.
Вечером посмотрю на большом FullHD мониторе и телеке.

SergMyz
, 12:32
Выложи плиз, свой конфиг, чтоб я не тратил время а посмотрел твои настройки usb.:: Скрытый текст (вы должны зарегистрироваться или войти под своим логином) ::. Последний из .... конфигурация, определяется только как флешка для чтения. Реакции на кнопки нет. У меня DOD GSE550 9-ти кнопочный не считая сброса и отключения микрофона!

SergMyz
, 13:17
если кому нужно определить значения напряжения на каждом канале АЦП, запускайте со скриптом autoexec.ash с содержимым: "t adc sense >> d:\adc.txt". если при включении держать одну из кнопок джойстика, то можно определить разброс значений напряжения и прописать их в buttons.c. этим же скриптом можно посмотреть напряжение батареи на одном из каналов adc.Посмотрел:
185 (0.60 V) 932 (3.00 V) 1023 (3.30 V) 665 (2.14 V) ="ОК"
740 (2.38 V) 926 (2.98 V) 1023 (3.30 V) 661 (2.13 V) = "ВВЕРХ"
382 (1.23 V) 927 (2.99 V) 1023 (3.30 V) 516 (1.66 V) = "ВНИЗ"
570 (1.84 V) 929 (2.99 V) 1023 (3.30 V) 673 (2.17 V) = "ВЛЕВО"
904 (2.91 V) 929 (2.99 V) 1023 (3.30 V) 527 (1.70 V) = "ВПРАВО"
1023 (3.30 V) 929 (2.99 V) 1022 (3.29 V) 666 (2.15 V) = "МИКРОФОН"
1023 (3.30 V) 928 (2.99 V) 1021 (3.29 V) 523 (1.69 V) = "Не трогал кнопки"
1023 (3.30 V) 930 (3.00 V) 573 (1.85 V) 300 (0.97 V) = "MODE"
Кнопки "MENU" и "REC" при включении подключают регистратор как board для прошивки через директ.
Как посмотреть напряжение?

Mi81
, 16:01
Добавил в свою самопальную прошивку для "орандж олд" настройку GOP, 2-х фильтров шумов, и битрейта, включая переменный битрейт.
Победить проблему с питанием пока не удалось. GPS не подключал просто потому, что у меня дивай без GPS.
На свой страх и риск берем .:: Скрытый текст (вы должны зарегистрироваться или войти под своим логином) ::.Естественно в директории DirectUSB должен лежать обновленный arm-elf-objcopy.exe, ссылку на который приводил выше.

Добавлено: Похоже, я несколько погорячился, залив прошивку в прибор и увидев новые опции меню, сделал вывод, что они будут работать (не было времени проверить, нужно было уходить).
Сейчас проверил. К сожалению, опции присутствуют и выглядят заманчиво, но не работают. Надо разбираться в причинах: то ли в исходниках отсутствует нужный код, то ли мне его не удалось включить, т.к. объем прошивки явно вырос. :(

SergMyz
, 11:27
Боюсь я зашел в тупик! Теперь придется изучать Си. Полностью переписывать bcp.c bcp.h buttons.c, а то регистратор не запуститься.
Естественно в директории DirectUSB должен лежать обновленный arm-elf-objcopy.exe, ссылку на который приводил выше.Для чего? Ты хочешь сказать, что в Директе должен быть arm-elf-objcopy.exe с которым собирался проект, а не тот что в папке директа. Для корректной прошивки наших собранных прошивок???

Mi81
, 12:38
должен быть arm-elf-objcopy.exe с которым собирался проектДа, тот что был у меня в комплекте DirectUSB не мог преобразовать elf в bin, в результате прошивка не шла. Т.к. ДиректУСБ доступен из разных источников, возмножно у многих он уже обновлен и эта операция не потребуется. В принципе, работает ли он конкретно у вас, видно из лога прошивки.
Посмотрел ваш конфиг, в котором вы выбрали BSP ISKY_A16. Раз этот BSP подошел для моего 6-кнопочного прибора, вряд ли он подойдет для вашего 9-кнопочного.
Кроме того, когда я пытался прошиться новой прошивкой с карточки, как правило, получал кирпич. А вот эльфом после очистки флеши залилось и заработало, после чего стал принимать прошивки, собранные на этой же BSP и с карточки.

SergMyz
, 15:58
тот что был у меня в комплекте DirectUSB не мог преобразовать elf в bin, в результате прошивка не шлаУ меня прошивается без проблем с преобразованием, правда Директ у меня версия 2 для Ambarella A5 это для моего нового регистратора на A5+AR0330!

SergMyz
, 12:03
ВАУУУ!!! Заработало! В bsp.c все что увидел {GPIO(49), OUT, 1}, /* LCD back light*/ 49 поставил. Собрал прошивку-прошил-УВИДЕЛ ЗАСТАВКУ И МЕНЮ!!! Кнопки не работают правда, их еще прописывать надо в buttons.c через некоторое время переходит в режим флешки для чтения. Но как радует!

Еще: в bsp есть прописанные настройки на мой gpio(49), но почему по другим gpio"идет программа" - надо логику bsp.c разбирать, что по каким условиям "разветвляется"!
Это я пообщался с Андромедычем, вот и свежая мысль.
Командами через autoexec выловил какой gpio включает/выключает подсветку дисплея, методом перебора и даташита нашел, что на DOD GSE550 это gpio49:
t gpio 49 sw out0 - гасит подсветку LCD
t gpio 49 sw out1 - включает подсветку LCD
:yahoo:
Блин! Фото не вставить-поехал за шнурком.
105739
105740
105741

SergMyz
, 15:27
Пока с кнопками не получается!
Мои данные для кнопок выглядят так (через autoexec)
185 (0.60 V) 932 (3.00 V) 1023 (3.30 V) 665 (2.14 V) ="ОК"
740 (2.38 V) 926 (2.98 V) 1023 (3.30 V) 661 (2.13 V) = "ВВЕРХ"
382 (1.23 V) 927 (2.99 V) 1023 (3.30 V) 516 (1.66 V) = "ВНИЗ"
570 (1.84 V) 929 (2.99 V) 1023 (3.30 V) 673 (2.17 V) = "ВЛЕВО"
904 (2.91 V) 929 (2.99 V) 1023 (3.30 V) 527 (1.70 V) = "ВПРАВО"
1023 (3.30 V) 929 (2.99 V) 1022 (3.29 V) 666 (2.15 V) = "МИКРОФОН"
1023 (3.30 V) 928 (2.99 V) 1021 (3.29 V) 523 (1.69 V) = "Не трогал кнопки"
1023 (3.30 V) 930 (3.00 V) 573 (1.85 V) 300 (0.97 V) = "MODE"
По 4 значения напряжений, а в buttons.c так:
Сначала структура: идентификатор, канал, низкое напряжение, высокое напряжение=как соединить - "ума не приложу"
struct adc_btoc_s {
int bid; /**< Button ID */
int chan; /**< ADC channel */
u32 lv; /**< (Low range) voltage */
u32 hv; /**< (High range) voltage */
};

#define __CHAN_NORM_POS 0xffff /* Channel normal position ID */

/*A2BUB Platform*/
#ifndef A2BUB1_BUTTON

static struct adc_btoc_s G_adc_btoc[] =
{
#ifdef ENABLE_ISKY_A16_APP // Simulate 6 keys as those of A3 in order to use one code base.
{ __CHAN_NORM_POS, 0, 928, 1023 },
{ UP_BUTTON, 0, 740, 926 }, /* Left key of A16 */
{ DOWN_BUTTON, 0, 382, 927 }, /* Right key of A16 */
{ MODE_BUTTON, 0, 930, 1023 }, /* Mode key of A16*/
{ MENU_BUTTON, 0, 185, 932 }, /* Rec/OK of A16*/
{ -1, 0, 0, 0 }
#elif defined(ENABLE_ISKY_F500_APP)
{ __CHAN_NORM_POS, 0, 928, 1023 },
{ SET_BUTTON, 0, 185, 932 }, /* Set/OK of F500*/
{ RIGHT_BUTTON, 0, 680, 800 }, /* Right key of F500 */
{ UP_BUTTON, 0, 500, 630 }, /* Up key of F500 */
{ LEFT_BUTTON, 0, 300, 450 }, /* Left key of F500 */
{ DOWN_BUTTON, 0, 382, 927 }, /* Down key of F500 */
{ __CHAN_NORM_POS, 2, 523, 1021 },
{ MIRROR_BUTTON, 2, 620, 850 }, /* Play, test mirror key*/
{ MENU_BUTTON, 2, 350, 550 }, /* Menu */
{ MODE_BUTTON, 2, 80, 300 }, /* Mode */
{ RECORD_BUTTON, 2, 0, 60 }, /* Record */
{ -1, 0, 0, 0 }
#else
{ -1, 0, 0, 0 }
#endif
};

Пробовал менять значения на свои из первых двух колонок = не пролазит, не работает!

Попытки "зажечь" красный светодиод (Power) то же пока без результата, думаю может вообще он не через gpio заведен
Эксперименты с gpio40,42 = включили звук, теперь есть звуковое сопровождение включения и выключения через USB шнур.

SergMyz
, 16:26
В эннацатый.... раз перепрошился! Пока на месте. GPIO 40 = вкл/отк звук регистратора.
Вроде как GPIO 53 включает/отключает светодиод Power, но прописав его в bsp.c = реакции нет!
Может по куску даташита можно разобраться, как кнопки работают.
105746

SergMyz
, 10:37
Все каналы перепробовал - не работают кнопки. Только звук появился!

SergMyz
, 10:59
Вышел из отпуска. Пришел преобразователь уровней, купил такой .:: Скрытый текст (вы должны зарегистрироваться или войти под своим логином) ::.
Буду подключаться, разобрал регистратор, нашел на плате вот такую разметку, к RX подключен провод от GPS блока в экране "на землю", рядом TX не использованный. Как я понимаю это входы UART процессора, где на вход процессора идут данные GPS. Сюда и попробую подключиться!
106316
Опыта подобного подключения не было. Нужны подсказки, что куда подпаивать.
"Земля"="Земля", RXпреобразователя=TXпроцессора, TXпреобразователя=RXпроцессора????
Цель: "попасть в консоль" что бы видеть происходящие при загрузке регистратора.

SergMyz
, 12:21
Пришел преобразователь уровней.Спалил кажись я этот преобразователь! Тупо не понятно, что делать с выводами 3.3 B и 5 В То ли коротить на землю, то ли подавать напряжение. Описаний нигде нет, из даташита ничего не понятно. Методом перебора вариантов, увы сжигая этот преобразователь, что нибудь да найдем! При проверке RX-TX не работает преобразователь!

gsomgsom
, 15:43
Вот это да! Слов нет, одни эмоции!

В своё время ковырял strings.bin и смог сделать только чтение строк 0-го языка.
Дальше смекалки не хватило. Теперь можно смело пробовать делать декомпилятор (компилятор уже есть, и прекрасно работает). А ещё шрифты. Ура!
Мой CarCam F2000 будет ужасно рад, когда я наконец поправлю баги перевода и кривые шрифты.

SergMyz
, 10:02
Преобразователь цел. На скорости 9600 "прут" данные с GPS блока. Консолью процессора и не пахло. Либо не туда подключился, либо JTAG вообще не подключен и не распаян.
Маленькими пинками, появилось вот это при включении
[4h*****************************************************************
* *
* ambsh ;) *
* *
*****************************************************************

<0>rtos mesg disabled
<0>dsp mesg disabled
<0>type 'help' for help

<0>a:\> <0>
Чую, что то есть, реагирует на команду help на скорости 9600, сейчас отпаяю GPS блок и посмотрим....

Отпаял... Понял...... По русски-же, тьфу английски написано "RTOS сообщения отключены" то есть что грузит операционка мы не увидим... DSP = аналогично. Это прошивка какрам Q5 с GPS. Uart процессора настроен на скорость 9600 для общения с блоком GPS, поэтому такая ерунда. Сейчас залью "самопальную прошивку с нерабочими кнопками ......

дальше ....
Сообшения операционки включил командой mesg rtos on, правда после выключения питания ее надо прописывать заново.....

УРААА!!!!

Вот! Теперь смотреть, что за неопределенные устройства ...

Это лог загрузки моей самопальной прошивки с неработающими кнопками и подключении в режиме картридера для чтения.
_____ ___. .__ .__
/ _ \ _____\_ |__ _____ _______ ____ | | | | _____
/ /_\ \ / \| __ \\__ \\_ __ \_/ __ \| | | | \__ \
/ | \ Y Y \ \_\ \/ __ \| | \/\ ___/| |_| |__/ __ \_
\____|__ /__|_| /___ (____ /__| \___ >____/____(____ /
\/ \/ \/ \/ \/ \/
Ambarella System Software Running on PrKERNELv4
----------------------------------------------------------------
Ambarella(R) Copyright (C) 2004-2007

Branch: HEAD
Built: Сергей@Admin Thu Jun 13 16:38:01 2013
Memory Usage:
fios/dma: 0xc0000000 - 0xc007ffff [0x00080000]
rtos + app: 0xc0100000 - 0xc078787f [0x00687880]
cached heap: 0xc0790000 - 0xc349ffff [0x02d10000]
non-cached heap: 0xc34a0000 - 0xc34fffff [0x00060000]
dsp: 0xc3500000 - 0xc7ffffff [0x04b00000]
total memory: 0x08000000
cache id trademark: 0x41
cache id architecture: 0x6
Architecture (ARMv5TEJ)
cache id part number: 0x926
cache id revision: 0x5
cache type: write back
separate i-cache and d-cache
cache type d-cache size: 16 KB
cache type d-cache associativities: 0x4
cache type d-cache multiplier: 0x0
cache type d-cache line size: 32 byte
cache type i-cache size: 16 KB
cache type i-cache associativities: 0x4
cache type i-cache multiplier: 0x0
cache type i-cache line size: 32 byte
rtc in pwc mode
lcd_drv_init(): device name = AMLCD_ILI9342 ...(in fact, it is TXD 2" LCD.)
HDMI use cyclic timer mode(2) to detect HPD and RX Sense
reg(0x6000b508) = 0x03b5030c
reg(0x6000b50c) = 0x01fa013c
reg(0x6000b510) = 0x01fa007e
reg(0x6000b514) = 0x00000400
reg(0x6000b53c) = 0x002f004f
reg(0x6000b540) = 0x032902c4
reg(0x6000b544) = 0x002f004f
CEC Message Handler task ready
yamaha_gpio_init YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY
yamaha_gpio_button_init() ...
No Display was registered.
Initialize SCM
Initialize STK task
Initialize debou task
Initialize FL1 block driver ...
fl1prf2 - fat pages:32, dat pages:32, fat buf:4, data buf:8
Initialize SD0 block driver ...
sdprf2 - fat pages:64, dat pages:32, fat buf:4, data buf:8
Initialize SD2 block driver ...
sdprf2 - fat pages:64, dat pages:32, fat buf:4, data buf:8
Initialize AMB flash host controller
SAMSUNG K9F5608_32MB_PG512 with (id: 0xec750000) (banks: 1)
Initialize AMB SD host controller 0
ROMFS: initialized
FW_PART: initialized
usb cable is inserted
gpio_key_scan(): RECORD key key down
TLV320AIC31 ADC flag (0x44)
TLV320AIC31 DAC flag (0xde)
Global audio cachable heap is created successfully......
Global audio cachable heap is created successfully(10)......
Global audio non-cache heap is allocated successfully......
Global audio non-cache heap is created successfully (11)......
**** UCLD START 226 ****
audio tasks init done
DRAM_DSP_BASE register setting is 0x7E007F
Initialize cavlc task
Format cache 387608 1144 1160
----- img_eis_init: sensor cell size is not correct! -----
bits buffer addr = 0xC33CAFA0
desc buffer is zero or negative
AMBA_YUVMON: the YUV device didn't support auto detect
allocate tsmux_par_t size 3280
allocate data_tracksize 96
allocate tsmux_misc_t 224
allocate tsmux_par_t size 3280
allocate data_tracksize 96
allocate tsmux_misc_t 224
AMBA tsmux was inited before, maybe avchd already init
register illegal video signal id
Recoder module init OK
-----------------c22ff5a0 32
-----------------c22ff5c0 32
========== cavlc encode init ===========
========== cavlc encode init ===========
Player state transition manager ready
Player video pipeline controller ready
Playback video manager ready
========== cavlc decode init ===========
DeMux manager ready
Player photo pipeline controller ready
Playback photo manager ready
DeMux manager ready
Player sound pipeline controller ready
Playback sound manager ready
DeMux manager ready
Player thumb pipeline controller ready
Playback thumb manager ready
DeMux manager ready
State transition manager ready, mbx_id = 5
CAVLC Boot.........
Host control manager ready
@@@@@@@@@@@@@@@ A3 Application start to init --- 244
app_init_pref(): generate new preference settings data. (version = 0x45)
Recorder Mux Manager ready, mbxid = 6
Player DeMux manager ready
amba_editor_task is ready
Load main(code) ucode to 0xc7e00000 successful, size = 585688
User preference sizes didn't match
Save default preference
Re-load default preference
SENSOR OUTPUT
Panel resolution is 320x240, 1.5"
sys_status.hdmi_plugin_flag = 0,
sys_status.cs_plugin_flag = 0,
sys_status.hp_plugin_flag = 0,
sys_status.mjack_plugin_flag = 0,
av_jack_audio_handler(): AMP_select_audio_output(1)
Unknown YUV signal
DemoApp set to CarDV type
gpio_key_scan(): POWER key key down
Load sub0(me) ucode to 0xc7f00000 successful, size = 824796
app_init_gui()
Load default binary ucode to 0xc7eb9c00 successful, size = 262144
**** UCODE DONE 442 ****
**** AORC DONE 442 ****
@@@@@@ (VOUT-0 SW. Scalar) Remain HEAP_MPLID: 28143940 @@@@@@
@@@@@@ (VOUT-0 OSD Buffer) Remain HEAP_MPLID: 26300704 @@@@@@
@@@@@@ (G-Blending Buffer) Remain HEAP_MPLID: 25113812 @@@@@@
app_init_osd_window()
[CAL]load calib ID:2 size:4096
[CAL]load calib ID:3 size:204800
[CAL]load calib ID:4 size:2048
[CAL]init site 01: enable:1 status:0x00 size:2048(af)
[CAL]init site 02: enable:1 status:0x00 size:256(gyro)
[CAL]init site 03: enable:1 status:0x00 size:256(mshutter)
[CAL]init site 04: enable:1 status:0x00 size:256(iris)
[CAL]init site 05: enable:1 status:0x00 size:512(lsc)
[CAL]init site 06: enable:1 status:0x00 size:71680(vignette)
[CAL]check site 7: version mismatched:1/2 (badpixel)
[CAL]save calib ID:3 size:204800
[CAL]init site 07: enable:1 status:0x00 size:133120(badpixel)
[CAL]init site 08: enable:1 status:0x00 size:256(wb)
[CAL]init site 09: enable:1 status:0x00 size:256(iso)
[CAL]init site 10: enable:1 status:0x00 size:256(blc)
app_change_mode(): currapp = 0, newapp = 1
AMP_set_disp_device(): vout_s = 0x0, mode = 0x26
unknown device
Don't turn on LCD when start up
================ Booting DSP start to decode
**** BOOT START 1179 ****
wait_load_ucode_done(1)
del UCLD task
===============================
u_code version = 2011/10/11 15.0
===============================
DSP boot done in DECODE_MODE
*** Chip ID: 0 ***
================ Booting DSP end
@@@@@@@@@@@@@@@@@@@@ A3 Application boot DSP --- 1223
[4h*****************************************************************
* *
* ambsh ;) *
* *
*****************************************************************

<0>rtos mesg enabled
<0>dsp mesg disabled
<0>type 'help' for help

<0>a:\> <0>AMBA fio stream can't open file
fmt_exifdemux_open(): p_strio_new->open(Z) fail.
fmt_get_media_info() fmt->open fail
AMBA file io private_context of stream has NULL
fmt_exifdemux_close(): p_strio_new->close() fail.
plyr_thumb_state_func: force stop image is not valid
DemoApp DCF set to type CarDV
DemoApp DCF format set to MP4, audio CODEC set to AAC
@@@@@@@@@@@@@@@ A3 Application start to handle messages --- 2627
handler(): HMSG_USB_DETECT_CONNECT
HMSG_USB_DETECT_CONNECT: system is NOT idle ..., ignore this msg.
application receives user command 0xFFFE000C
handler(): ignore key pressed event when LCD backlight is off.
application receives user command 0xFFFE0002
handler(): ignore key pressed event when LCD backlight is off.
application receives user command 0xFFFE000A
handler(): ignore key pressed event when LCD backlight is off.
Exifdemux: No IFD1
bits buffer addr = 0xC250E720
desc buffer addr = 0xC34FD120
A drive is not formatted: format a
app_change_mode(): currapp = 1, newapp = 38
switch_to(): curapp = 1, newapp = 38
usb_sel_start(): start ...
DSP is in DECODE_MODE
unknown device
USB Selection Item = 0
app_change_mode(): currapp = 38, newapp = 37
switch_to(): curapp = 38, newapp = 37
Initialize USB Mass Storage Class
[msc] drive 2 is not valid...
audio beep flow mem had been released
unknown device
[msc] 0: D SD/MMC


Вот концовка лога с вставленной картой, как видим пишет "защищена от записи"! Почему??? Как отключить??? У кого какие идеи???
<0>a:\> <0>app_change_mode(): currapp = 1, newapp = 38
switch_to(): curapp = 1, newapp = 38
usb_sel_start(): start ...
DSP is in DECODE_MODE
application receives user command 0xFFFE0002
handler(): ignore key pressed event when LCD backlight is off.
unknown device
Card inserted: D
Write protected
fopen D error, 2
No DBOS was registered.
USB Selection Item = 0
app_change_mode(): currapp = 38, newapp = 37
switch_to(): curapp = 38, newapp = 37
Initialize USB Mass Storage Class
[msc] drive 2 is not valid...
audio beep flow mem had been released
unknown device
[msc] 0: D SD/MMC

Вот реакция на нажатия кнопок. Все не реагируют, есть реакция на кнопки POWER и REC, я их правил в bittons.c bsp.c
gpio_key_scan(): POWER key key up
application receives user command 0xFFFEA00A
gpio_key_scan(): POWER key key down
application receives user command 0xFFFE000A
handler(): ignore key pressed event when LCD backlight is off.
application receives user command 0xFFFEA002
application receives user command 0xFFFE0002
handler(): ignore key pressed event when LCD backlight is off.
То же все непонятно = разбираться надо!

Вытащил USB кабель = хотя бы на это реагирует!!!
usb cable is removed
handler(): HMSG_USB_DETECT_REMOVE
HMSG_USB_DETECT_REMOVE: sys_status.usb_connect = 0, sys_status.usb_active_flag = 2
usb cable is removed
handler(): HMSG_USB_DETECT_REMOVE
HMSG_USB_DETECT_REMOVE: sys_status.usb_connect = 0, sys_status.usb_active_flag = 2
============================
======= Power Off (0)=======
============================

============================
======= Power Off (0)=======
============================

Сейчас залью каркамовскую рабочую прошивку и "поиграю" кнопками.....

Процесс прошивки
[4l
core freq: 216000000
Entered USB download mode (02)...
init_usb_dev done
init_usb_hardware done
entering usb_task
start to recv data, crc=0xe6f34c8e
\totoal rcv data length = 8696436 bytes, crc32 = 0xe6f34c8e
entering usb_task
Start to run...
[4l

------------------------------------------------------
In-memory Firmware Flash Programming Utility (by C.C.)
Ambarella(R) Copyright (C) 2004-2008
------------------------------------------------------
BST code found in firmware!
crc32: 0x601c15e6
ver_num: 1.3
ver_date: 2012/3/8
img_len: 1836
mem_addr: 0x00000000
flag: 0x00000001
magic: 0xa324eb90
program bst to NAND flash ...
verifying image crc ... done
progress: 100%

program ok

BLD code found in firmware!
crc32: 0x8e6a1d97
ver_num: 1.3
ver_date: 2012/3/8
img_len: 145564
mem_addr: 0xc0000000
flag: 0x00000000
magic: 0xa324eb90
program bld to NAND flash ...
verifying image crc ... done
progress: 11%
progress: 22%
progress: 33%
progress: 45%
progress: 56%
progress: 67%
progress: 78%
progress: 90%
progress: 100%

program ok

kernel image found in firmware!
crc32: 0x8c52ca9d
ver_num: 0.1
ver_date: 2012/3/13
img_len: 3853172
mem_addr: 0xc0100000
flag: 0x00000000
magic: 0xa324eb90
program pri to NAND flash ...
verifying image crc ... done
progress: 0%
progress: 0%
progress: 1%
progress: 1%
progress: 2%
progress: 2%
progress: 2%
progress: 3%
progress: 3%
progress: 4%
progress: 4%
progress: 5%
progress: 5%
progress: 5%
progress: 6%
progress: 6%
progress: 7%
progress: 7%
progress: 8%
progress: 8%
progress: 8%
progress: 9%
progress: 9%
progress: 10%
progress: 10%
progress: 11%
progress: 11%
progress: 11%
progress: 12%
progress: 12%
progress: 13%
progress: 13%
progress: 14%
progress: 14%
progress: 14%
progress: 15%
progress: 15%
progress: 16%
progress: 16%
progress: 17%
progress: 17%
progress: 17%
progress: 18%
progress: 18%
progress: 19%
progress: 19%
progress: 19%
progress: 20%
progress: 20%
progress: 21%
progress: 21%
progress: 22%
progress: 22%
progress: 22%
progress: 23%
progress: 23%
progress: 24%
progress: 24%
progress: 25%
progress: 25%
progress: 25%
progress: 26%
progress: 26%
progress: 27%
progress: 27%
progress: 28%
progress: 28%
progress: 28%
progress: 29%
progress: 29%
progress: 30%
progress: 30%
progress: 31%
progress: 31%
progress: 31%
progress: 32%
progress: 32%
progress: 33%
progress: 33%
progress: 34%
progress: 34%
progress: 34%
progress: 35%
progress: 35%
progress: 36%
progress: 36%
progress: 36%
progress: 37%
progress: 37%
progress: 38%
progress: 38%
progress: 39%
progress: 39%
progress: 39%
progress: 40%
progress: 40%
progress: 41%
progress: 41%
progress: 42%
progress: 42%
progress: 42%
progress: 43%
progress: 43%
progress: 44%
progress: 44%
progress: 45%
progress: 45%
progress: 45%
progress: 46%
progress: 46%
progress: 47%
progress: 47%
progress: 48%
progress: 48%
progress: 48%
progress: 49%
progress: 49%
progress: 50%
progress: 50%
progress: 51%
progress: 51%
progress: 51%
progress: 52%
progress: 52%
progress: 53%
progress: 53%
progress: 54%
progress: 54%
progress: 54%
progress: 55%
progress: 55%
progress: 56%
progress: 56%
progress: 56%
progress: 57%
progress: 57%
progress: 58%
progress: 58%
progress: 59%
progress: 59%
progress: 59%
progress: 60%
progress: 60%
progress: 61%
progress: 61%
progress: 62%
progress: 62%
progress: 62%
progress: 63%
progress: 63%
progress: 64%
progress: 64%
progress: 65%
progress: 65%
progress: 65%
progress: 66%
progress: 66%
progress: 67%
progress: 67%
progress: 68%
progress: 68%
progress: 68%
progress: 69%
progress: 69%
progress: 70%
progress: 70%
progress: 71%
progress: 71%
progress: 71%
progress: 72%
progress: 72%
progress: 73%
progress: 73%
progress: 73%
progress: 74%
progress: 74%
progress: 75%
progress: 75%
progress: 76%
progress: 76%
progress: 76%
progress: 77%
progress: 77%
progress: 78%
progress: 78%
progress: 79%
progress: 79%
progress: 79%
progress: 80%
progress: 80%
progress: 81%
progress: 81%
progress: 82%
progress: 82%
progress: 82%
progress: 83%
progress: 83%
progress: 84%
progress: 84%
progress: 85%
progress: 85%
progress: 85%
progress: 86%
progress: 86%
progress: 87%
progress: 87%
progress: 88%
progress: 88%
progress: 88%
progress: 89%
progress: 89%
progress: 90%
progress: 90%
progress: 90%
progress: 91%
progress: 91%
progress: 92%
progress: 92%
progress: 93%
progress: 93%
progress: 93%
progress: 94%
progress: 94%
progress: 95%
progress: 95%
progress: 96%
progress: 96%
progress: 96%
progress: 97%
progress: 97%
progress: 98%
progress: 98%
progress: 99%
progress: 99%
progress: 99%
progress: 100%

program ok

romfs found in firmware!
crc32: 0x5a106007
ver_num: 2.0
ver_date: 2012/3/13
img_len: 2959360
mem_addr: 0x00000000
flag: 0x00000001
magic: 0xa324eb90
program rom to NAND flash ...
verifying image crc ... done
progress: 0%
progress: 1%
progress: 1%
progress: 2%
progress: 2%
progress: 3%
progress: 3%
progress: 4%
progress: 4%
progress: 5%
progress: 6%
progress: 6%
progress: 7%
progress: 7%
progress: 8%
progress: 8%
progress: 9%
progress: 9%
progress: 10%
progress: 11%
progress: 11%
progress: 12%
progress: 12%
progress: 13%
progress: 13%
progress: 14%
progress: 14%
progress: 15%
progress: 16%
progress: 16%
progress: 17%
progress: 17%
progress: 18%
progress: 18%
progress: 19%
progress: 19%
progress: 20%
progress: 21%
progress: 21%
progress: 22%
progress: 22%
progress: 23%
progress: 23%
progress: 24%
progress: 24%
progress: 25%
progress: 26%
progress: 26%
progress: 27%
progress: 27%
progress: 28%
progress: 28%
progress: 29%
progress: 29%
progress: 30%
progress: 31%
progress: 31%
progress: 32%
progress: 32%
progress: 33%
progress: 33%
progress: 34%
progress: 34%
progress: 35%
progress: 35%
progress: 36%
progress: 37%
progress: 37%
progress: 38%
progress: 38%
progress: 39%
progress: 39%
progress: 40%
progress: 40%
progress: 41%
progress: 42%
progress: 42%
progress: 43%
progress: 43%
progress: 44%
progress: 44%
progress: 45%
progress: 45%
progress: 46%
progress: 47%
progress: 47%
progress: 48%
progress: 48%
progress: 49%
progress: 49%
progress: 50%
progress: 50%
progress: 51%
progress: 52%
progress: 52%
progress: 53%
progress: 53%
progress: 54%
progress: 54%
progress: 55%
progress: 55%
progress: 56%
progress: 57%
progress: 57%
progress: 58%
progress: 58%
progress: 59%
progress: 59%
progress: 60%
progress: 60%
progress: 61%
progress: 62%
progress: 62%
progress: 63%
progress: 63%
progress: 64%
progress: 64%
progress: 65%
progress: 65%
progress: 66%
progress: 66%
progress: 67%
progress: 68%
progress: 68%
progress: 69%
progress: 69%
progress: 70%
progress: 70%
progress: 71%
progress: 71%
progress: 72%
progress: 73%
progress: 73%
progress: 74%
progress: 74%
progress: 75%
progress: 75%
progress: 76%
progress: 76%
progress: 77%
progress: 78%
progress: 78%
progress: 79%
progress: 79%
progress: 80%
progress: 80%
progress: 81%
progress: 81%
progress: 82%
progress: 83%
progress: 83%
progress: 84%
progress: 84%
progress: 85%
progress: 85%
progress: 86%
progress: 86%
progress: 87%
progress: 88%
progress: 88%
progress: 89%
progress: 89%
progress: 90%
progress: 90%
progress: 91%
progress: 91%
progress: 92%
progress: 93%
progress: 93%
progress: 94%
progress: 94%
progress: 95%
progress: 95%
progress: 96%
progress: 96%
progress: 97%
progress: 97%
progress: 98%
progress: 99%
progress: 99%
progress: 100%

program ok

DSP microcode found in firmware!
crc32: 0x57ec5f30
ver_num: 1.0
ver_date: 2012/3/8
img_len: 1667608
mem_addr: 0xc34fffb0
flag: 0x00000000
magic: 0xa324eb90
program dsp to NAND flash ...
verifying image crc ... done
progress: 0%
progress: 1%
progress: 2%
progress: 3%
progress: 4%
progress: 5%
progress: 6%
progress: 7%
progress: 8%
progress: 9%
progress: 10%
progress: 11%
progress: 12%
progress: 13%
progress: 14%
progress: 15%
progress: 16%
progress: 17%
progress: 18%
progress: 19%
progress: 20%
progress: 21%
progress: 22%
progress: 23%
progress: 24%
progress: 25%
progress: 26%
progress: 27%
progress: 28%
progress: 29%
progress: 30%
progress: 31%
progress: 32%
progress: 33%
progress: 34%
progress: 35%
progress: 36%
progress: 37%
progress: 38%
progress: 39%
progress: 40%
progress: 41%
progress: 42%
progress: 43%
progress: 44%
progress: 45%
progress: 46%
progress: 47%
progress: 48%
progress: 49%
progress: 50%
progress: 51%
progress: 52%
progress: 53%
progress: 54%
progress: 55%
progress: 56%
progress: 56%
progress: 57%
progress: 58%
progress: 59%
progress: 60%
progress: 61%
progress: 62%
progress: 63%
progress: 64%
progress: 65%
progress: 66%
progress: 67%
progress: 68%
progress: 69%
progress: 70%
progress: 71%
progress: 72%
progress: 73%
progress: 74%
progress: 75%
progress: 76%
progress: 77%
progress: 78%
progress: 79%
progress: 80%
progress: 81%
progress: 82%
progress: 83%
progress: 84%
progress: 85%
progress: 86%
progress: 87%
progress: 88%
progress: 89%
progress: 90%
progress: 91%
progress: 92%
progress: 93%
progress: 94%
progress: 95%
progress: 96%
progress: 97%
progress: 98%
progress: 99%
progress: 100%

program ok

------ Report ------
BST: success
BLD: success
PRI: success
ROM: success
DSP: success

- Program Terminated -
[4l
core freq: 216000000
Entered USB download mode (02)...
init_usb_dev done
init_usb_hardware done
entering usb_task



Вот: после включения питания включил в консоли вывод сообщений операционки, понажимал кнопки и выбрал режим картридера.
rtos mesg enabled
<0>dsp mesg disabled
<0>a:\> <0>Press: DOWN
application receives user command 0xFFFE0001
[App=USB_MENU] - on_key
usb_menu_app.on_key
>>>>> usb_menu.screen_on_paint()
Release: DOWN
application receives user command 0xFFFEA001
Press: UP
application receives user command 0xFFFE0000
[App=USB_MENU] - on_key
usb_menu_app.on_key
>>>>> usb_menu.screen_on_paint()
Release: UP
application receives user command 0xFFFEA000
Press: L
application receives user command 0xFFFE0002
Release: L
application receives user command 0xFFFEA002
Press: R
application receives user command 0xFFFE0003
Release: R
application receives user command 0xFFFEA003
Press: R
application receives user command 0xFFFE0003
Release: R
application receives user command 0xFFFEA003
Press: MENU
application receives user command 0xFFFE0010
Release: MENU
application receives user command 0xFFFEA010
Press: SET
application receives user command 0xFFFE0011
[App=USB_MENU] - on_key
usb_menu_app.on_key
[App=USB_MENU] - stop
usb_menu_app.on_stop
>>>>> usb_menu.screen_on_paint()
pop app[App=MAIN] from stack
[App=MSC] - init
msc_app.on_init
[App=MSC] - start
>>>>> Created param file! 128
Initialize USB Mass Storage Class
>>>>> msc.screen_on_paint()
Release: SET
prev mw = 0, curr mw = 7
application receives user command 0xFFFEA011
[msc] 0: A NFTL Media
[msc] 1: D SD/MMC

Пока на данный момент выводы:

В каркамовской прошивке с GPS консоль работает на скорости 9600, для того что бы получать данные координат от блока GPS, у DOD аналогично. Причем в момент загрузки скорость 115200 потом переключается на 9600.

У моей собранной прошивки скорость консоли 115200.

Очень нужны идеи, мысли ????? Как дальше?

z768
, 15:27
Так у тебя появилось приглашение к вводу команд
<0>a:\> <0>
Посмотри внимательно ту ссылку что я тебе давал.
Для начала набери после
<0>a:\> <0>help и энтер жмакай...
Попробуй в путти скорость поднять до 115200.
И еще один совет..
Сразу путти запускай на подключенном реге (но без аккума), потом подавай питание на рег и смотри лог (должен пойти лог загрузки ядра).

да и еще, выложи фото платы с точками подключения по Uart...

SergMyz
, 16:51
На команды реагирует. Использую Terminal+.

z768
, 20:36
Ладно экспериментируй, точней исследуй, но фото желательно в студию...
Попробуй в путти запустить, попытка не пытка.
Она получше всяких терминалов.

SergMyz
, 11:26
Разбираюсь почему карточка в режиме для чтения:

Лог выдает ошибку:
Card inserted: D
Write protected
fopen D error, 2 = ошибка открытия файла на D (SD карточке) 2
Нашел в system/src/ui/ambsh.c описание 2 ошибки 1719 строка вроде "permission denied" = недостаточно прав......
Что за права??? Где их менять???

.....
Переделал прошивку. Переставил в начальном меню по умолчанию загрузку "WEB камеры" вместо "картридера".
Загрузился. В Виндовс появилось USB-видеоустройство, правда изображения с него нет, драйвера из SDK для вебкамеры не подходят.
Вот лог: загрузка как вебкамера в конце это инициализация камеры, когда в виндовс выбираешь устройство.
*****************************************************************
* *
* ambsh ;) *
* *
*****************************************************************

<0>rtos mesg enabled
<0>dsp mesg disabled
<0>type 'help' for help

<0>a:\> <0>app_change_mode(): currapp = 1, newapp = 38
switch_to(): curapp = 1, newapp = 38
usb_sel_start(): start ...
DSP is in DECODE_MODE
unknown device
Card inserted: D
Write protected
fopen D error, 2
No DBOS was registered.
USB Selection Item = 1
app_change_mode(): currapp = 38, newapp = 45
switch_to(): curapp = 38, newapp = 45
[WEBCAM] use UVC Webcam.
Initialize USB Ambarella Video Class
audio beep flow mem had been released
unknown device
sync, carry = 0
sync, carry = 0
Start to run uavc control task
Start to run UVC it control task
Start to run UVC pu control task
Start to run xu control task
Start to run UVC oc control task
Start to run UVC xu control task
Start to run UAC FU control task
[UAVC] uavc_task_terminate(): don't terminate all tasks in PCCAM mode.
---- set interface to 1, alternate setting = 0 ----
[Webcam] usb_stop_encode(): not in encoding state.
---- set interface to 1, alternate setting = 0 ----
[Webcam] usb_stop_encode(): not in encoding state.
set flick mode to 1
set flick mode to 1
AMP_set_disp_device(): vout_s = 0x0, mode = 0x26
unknown device
amba_img_select_video_source +++ > start
amba_img_select_video_source +++ > sensor_init
Contrast Control : GET_DEF.
Received UVC OC mailbox message
dwMaxPayloadTransferSize : 0x200
Received UVC OC mailbox message
Length of Probe Control = 26.
dwMaxPayloadTransferSize : 0x0
Received UVC OC mailbox message
dwMaxPayloadTransferSize : 0x200
Received UVC OC mailbox message
dwMaxPayloadTransferSize : 0x200
---- set interface to 1, alternate setting = 1 ----
---- set interface to 1, alternate setting = 0 ----

SergMyz
, 09:25
Разбираюсь почему карточка в режиме для чтения:

Лог выдает ошибку:
Card inserted: D
Write protected
fopen D error, 2

нашел в system/src/app/a16isky/utility/card.c

/**
* Do test when card inserted
*
* return:
* 0 - success
* -1 - fail
**/
static int app_card_1st_access_test(int slot)
{
int rval;
int n=131072; //Should be modified if the block size which recoder uses is change.
MCHAR drive = (slot+'A');
MCHAR tmp[16]={0};
MCHAR f_mode[3]={'w','+','\0'};
char tmp2[16]={0};
FF_FILE *ff;
FF_DEV_INF dev;

{
PF_VOL_CFG vol_config;

/** the 1st getdev takes much more time, and to check driver status by the way. **/
/* Enlarge FAT buffer to speed up the 1st ff_getdev() */
pf_getvolcfg(drive, &vol_config);

/* Set large fat buffer size */
vol_config.volume_config |= PF_SET_FAT_CACHE_SIZE;
vol_config.fat_buff_size <<= 3;
pf_setvolcfg(drive, &vol_config);

rval = ff_getdev(drive, &dev);

/* Set fat buffer size back */
vol_config.volume_config |= PF_SET_FAT_CACHE_SIZE;
vol_config.fat_buff_size >>= 3;
pf_setvolcfg(drive, &vol_config);

if(rval<0){
printk("drive is not valid");
return -1;
}
}

//printk("Write dummy file\n");
sprintf(tmp2, "%c%s\0", drive, ":\\.zzz");
asc_to_uni(tmp2,tmp);
for(rval=0;rval<16;rval++){
tmp2[rval]=rval;
}

ff = ff_fopen(tmp,f_mode);
if(ff != NULL){
rval = ff_fwrite(tmp2,1,n,ff);
if(rval != n){
printk("fwrite fail %d",pf_errnum());
rval=(((dev.ecl*dev.bps)>>10) * dev.spc); //in KB
if(rval < (n>>10)){ //error due to space run out
rval = 0;
} else {
scardmgr_status_t card_status;

scardmgr_get_status(slot, &card_status);
if(card_status.wp){ //error due to write protect
rval = 0;
} else {
rval = -2;
}
}
goto access_check_done;
}
#if 0
ff_fseek(ff,0,FF_SEEK_SET);
rval = ff_fread((void *)tmp2,1,16,ff);
if(rval!=16){
printk("fread fail %d",pf_errnum());
rval=-3;
goto access_check_done;
}
for(rval=0;rval<16;rval++){
if(tmp2[rval]!=rval){
printk("file read/write check fail");
rval=-4;
goto access_check_done;
}
}
#endif
} else {
scardmgr_status_t card_status;
printk("fopen %s error, %d",tmp,pf_errnum());
scardmgr_get_status(slot, &card_status);
if(card_status.wp){ //error due to write protect
rval = 0;
} else {
rval = -6;
}
}

access_check_done:
if(ff!=NULL){
ff_fclose(ff);
if(ff_remove(tmp) < 0){
printk("ffremove fail %d",pf_errnum());
}
}

if(rval<0){
return -1;
}

return 0;
}
При тестировании карточки выдает ошибку! Почему?

добавлено сообщение
Закончились эксперименты! Отвалился "пятак" TX с платы, все мелкое-неудобное. Тупик конкретный, скорей всего придется бросить это дело-бесперспективное!

добавлено сообщение
"Перепаялся" - продолжаю эксперименты. "Подопытный", правда, на родной прошивке подвисает.

Гость
, 12:49
"Подопытный", правда, на родной прошивке подвисает.а сидишка какая? может в ней дело?
нашел в system/src/app/a16isky/utility/card.c
встречается такая строка .:: Скрытый текст (вы должны зарегистрироваться или войти под своим логином) ::.

SergMyz
, 10:04
Карточка что-ли? Может и она!

добавлено сообщение
3ppcshnikunamer, Спасибо. Есть пара мыслей. Завтра опробую. Еще бы китаец писал бы строки, которые менял. Надеюсь поможет.

добавлено сообщение
Вот что выдает додовская и каркамовская прошивки на запрос информации о карте.
<0>a:\> <0>cardmgr d info

slot 'd' info
<0>present: yes
<0>type: SDHC memory
<0>name: SD8GB0
<0>bus width: 4
<0>total sectors: 15597568
<0>sector size: 512
<0>write-protect: no
<0>format: FAT32
<0>speed: 24000000 Hz
<0>a:\> <0>

А вот моя прошивка
<0>a:\> <0>cardmgr d info

slot 'd' info
<0>present: yes
<0>type: SDHC memory
<0>name: SD8GB0
<0>bus width: 4
<0>total sectors: 15597568
<0>sector size: 512
<0>write-protect: yes
<0>format: FAT32
<0>speed: 24000000 Hz
<0>a:\> <0>

Параметр: write-protect: на моей прошивке = yes - включена защита от записи. Вот и мучаюсь!!!

Составил "сводную" таблицу GPIO (моя прошивка, DOD, Каркам)

GPIO Моя DODGSE550 Каркам Q5
gpio0: HW 1 HW 1 HW 1
gpio1: HW 1 HW 1 HW 1
gpio2: HW 0 HW 0 HW 0
gpio3: HW 0 HW 0 HW 0
gpio4: HW 0 HW 0 HW 0
gpio5: HW 1 SW 0 SW 0
gpio6: HW 1 HW 1 HW 1
gpio7: HW 1 HW 1 HW 0
gpio8: HW 0 HW 0 HW 0
gpio9: HW 1 HW 1 HW 0
gpio10: SW 1 SW 1 SW 1
gpio11: HW 0 SW 0 SW 0
gpio12: HW 0 SW 0 SW 0
gpio13: SW 0 SW 0 SW 0
gpio14: HW 1 HW 0 HW 1
gpio15: HW 1 HW 1 HW 1
gpio16: HW 0 SW 0 SW 0
gpio17: HW 0 HW 0 HW 0
gpio18: HW 1 HW 0 HW 0
gpio19: HW 1 HW 0 HW 0
gpio20: HW 0 HW 0 HW 0
gpio21: HW 0 HW 0 HW 0
gpio22: HW 0 HW 0 HW 0
gpio23: HW 0 HW 0 HW 0
gpio24: HW 0 HW 0 HW 0
gpio25: HW 0 HW 0 HW 0
gpio26: HW 0 HW 0 HW 0
gpio27: HW 0 HW 0 HW 0
gpio28: HW 0 HW 0 HW 0
gpio29: HW 1 SW 1 HW 1
gpio30: HW 1 HW 1 HW 1
gpio31: HW 0 HW 1 HW 0
gpio32: HW 0 SW 0 SW 0
gpio33: HW 0 HW 1 HW 1
gpio34: HW 0 HW 1 HW 1
gpio35: HW 1 HW 1 HW 1
gpio36: SW 0 SW 0 SW 0
gpio37: HW 0 SW 0 SW 0
gpio38: SW 0 SW 0 SW 0
gpio39: SW 0 SW 0 SW 0
gpio40: SW 1 SW 1 SW 1
gpio41: SW 0 SW 0 SW 0
gpio42: SW 1 SW 0 SW 0
gpio43: HW 0 SW 0 SW 0
gpio44: HW 0 SW 0 SW 0
gpio45: SW 0 SW 0 SW 0
gpio46: SW 1 SW 0 HW 0
gpio47: SW 0 SW 0 SW 0
gpio48: SW 1 SW 1 SW 1
gpio49: SW 1 SW 1 SW 1
gpio50: SW 0 SW 0 SW 0
gpio51: SW 0 SW 0 SW 0
gpio52: SW 1 SW 1 SW 1
gpio53: SW 0 SW 1 SW 0
gpio54: SW 0 HW 0 HW 0
gpio55: HW 0 SW 0 SW 0
gpio56: HW 0 SW 0 SW 0
gpio57: HW 0 SW 0 SW 0
gpio58: SW 0 SW 0 SW 0
gpio59: HW 0 HW 0 HW 0
gpio60: HW 0 HW 0 HW 0
gpio61: HW 0 HW 0 HW 0
gpio62: HW 0 HW 0 HW 0
gpio63: HW 0 HW 0 HW 0
gpio64: SW 1 SW 1 SW 1
gpio65: HW 0 HW 0 HW 0
gpio66: HW 0 HW 1 HW 1
gpio67: HW 0 HW 0 HW 0
gpio68: HW 0 HW 1 HW 1
gpio69: HW 0 SW 0 SW 0
gpio70: HW 0 SW 0 SW 0
gpio71: HW 0 SW 0 SW 0
gpio72: HW 0 SW 0 SW 0
gpio73: HW 0 SW 0 SW 0
gpio74: HW 0 SW 0 SW 0
gpio75: HW 0 SW 0 SW 0
gpio76: HW 0 SW 0 SW 0
gpio77: HW 0 HW 0 HW 1
gpio78: HW 0 HW 1 HW 0
gpio79: HW 0 HW 0 HW 0
gpio80: HW 0 HW 0 HW 1

Моя идея с GPIO 45 не сработала (то что было у китайца про проблемы с SD картой)
Попутно узнал, что за файл .history там содержится список команд, которые выдает RTOS (например, я ввожу в консоли) в случае с DOD GSE550 и Каркам Q5, где сообщения RTOS отключены файл .history пустой, для работы на скорости 9600 с GPS модулем.
Глючил "подопытный" регистратор поменял прошивку на DOD = не глючит, что такое не знаю.

Пока попробую по вышеуказанной таблице выставить свои GPIO, как в додовской прошивке.

Что такое SW и HW не знаю??? Кто знает? Чем отличаются?

Mi81
, 00:08
на моей прошивке = yes - включена защита от записи А не проще найти это место в исходнике? Возможно, там просто ошибка в переходе по условию.
И еще, не знаю поможет ли, но попробуйте отформатировать карту с размером кластера 32КБ, некоторые регистраторы любят этот размерчик.
Из-под винды как-то так:
format диск: /FS:FAT32 /A:32k
Ну или в exFAT попробуйте.

SergMyz
, 10:41
Лог выдает ошибку:
Card inserted: D
Write protected
fopen D error, 2

нашел в system/src/app/a16isky/utility/card.c

/**
* Do test when card inserted
*
* return:
* 0 - success
* -1 - fail
**/
static int app_card_1st_access_test(int slot)
{
int rval;
int n=131072; //Should be modified if the block size which recoder uses is change.
MCHAR drive = (slot+'A');
MCHAR tmp[16]={0};
MCHAR f_mode[3]={'w','+','\0'};
char tmp2[16]={0};
FF_FILE *ff;
FF_DEV_INF dev;

{
PF_VOL_CFG vol_config;

/** the 1st getdev takes much more time, and to check driver status by the way. **/
/* Enlarge FAT buffer to speed up the 1st ff_getdev() */
pf_getvolcfg(drive, &vol_config);

/* Set large fat buffer size */
vol_config.volume_config |= PF_SET_FAT_CACHE_SIZE;
vol_config.fat_buff_size <<= 3;
pf_setvolcfg(drive, &vol_config);

rval = ff_getdev(drive, &dev);

/* Set fat buffer size back */
vol_config.volume_config |= PF_SET_FAT_CACHE_SIZE;
vol_config.fat_buff_size >>= 3;
pf_setvolcfg(drive, &vol_config);

if(rval<0){
printk("drive is not valid");
return -1;
}
}

//printk("Write dummy file\n");
sprintf(tmp2, "%c%s\0", drive, ":\\.zzz");
asc_to_uni(tmp2,tmp);
for(rval=0;rval<16;rval++){
tmp2[rval]=rval;
}

ff = ff_fopen(tmp,f_mode);
if(ff != NULL){
rval = ff_fwrite(tmp2,1,n,ff);
if(rval != n){
printk("fwrite fail %d",pf_errnum());
rval=(((dev.ecl*dev.bps)>>10) * dev.spc); //in KB
if(rval < (n>>10)){ //error due to space run out
rval = 0;
} else {
scardmgr_status_t card_status;

scardmgr_get_status(slot, &card_status);
if(card_status.wp){ //error due to write protect
rval = 0;
} else {
rval = -2;
}
}
goto access_check_done;
}
#if 0
ff_fseek(ff,0,FF_SEEK_SET);
rval = ff_fread((void *)tmp2,1,16,ff);
if(rval!=16){
printk("fread fail %d",pf_errnum());
rval=-3;
goto access_check_done;
}
for(rval=0;rval<16;rval++){
if(tmp2[rval]!=rval){
printk("file read/write check fail");
rval=-4;
goto access_check_done;
}
}
#endif
} else {
scardmgr_status_t card_status;
printk("fopen %s error, %d",tmp,pf_errnum());
scardmgr_get_status(slot, &card_status);
if(card_status.wp){ //error due to write protect
rval = 0;
} else {
rval = -6;
}
}

access_check_done:
if(ff!=NULL){
ff_fclose(ff);
if(ff_remove(tmp) < 0){
printk("ffremove fail %d",pf_errnum());
}
}

if(rval<0){
return -1;
}

return 0;
}

Вот параметр card_status.wp выдает Yes. Почему? Не могу найти функцию в исходниках с этим параметром.
Пробовал в строке int n=131072; //Should be modified if the block size which recoder uses is change. n=524288 (512 Кб) размер кластера на моей SD карточке = все равно выдает "карта защищена от записи"!

добавлено через 52 секунды
А не проще найти это место в исходнике? Возможно, там просто ошибка в переходе по условию.
Не могу найти.

Mi81
, 12:39
Не могу найти.Ну для грубого анализа я бы начал с поиска в исходниках строк MSG_CARD_PROTECT, STR_CARD_PROTECTED, APP_WP_CARD, переменных card_act и card_wp. Ведь вам нужно выяснить из-за чего это происходит, значит найти место где происходит эта проверка и понять происходит ли она правильно.
Обратите внимание на сруктуры sys_status и card_status, которые по ходу исполнения обмениваются значениями и на функцию app_card_1st_access_test.
Наконец, принудительно задайте в этой функции значение rval=0 при проверке
if(card_status.wp){ //error due to write protect
и посмотрите на результат.
Если вы используете приложение iskyappbase, то обратите внимание, что в файле card.c в строке 17 неверно указан путь в диррективе include, в результате, возможно, в проект включается не тот файл apps.h.
Как я понимаю, карта прибором читается? Пробовали закинуть на нее ролик и просмотреть в регистраторе?
Директорий DCIM (или как он там называется) создается?
Поддается ли карточка форматированию прибором?
Ну и последнее. Может у вас домашние компы завирусованы? Сами карточку видят, а на других устройствах она protected?

SergMyz
, 10:24
Грубый анализ не помогает! Поиск выдает только использование этих функций и переменных, а где все это задается не понятно.
rval=0 ставил везде = не помогает, все равно стоит защита от записи.
Карта совершенно нормальная! С нее все читается, на том же регистраторе на других прошивках все нормально работает.
Скорей всего это результат того что прошивка собрана на другом BSP у моего регистратора это yamaha, а в исходниках ее нет.

SergMyz
, 10:54
Есть такая вот структура в system/include/fio/scardmgr.h typedef struct scardmgr_status_s
{
u8 card_present; /**< Whether a card is present */
u32 card_type; /**< Type of card */
/* Card types could be combo cards! */
#define SCARDMGR_CARD_MEM 0x1 /**< Memory card */
#define SCARDMGR_CARD_IO 0x2 /**< IO card */
#define SCARDMGR_CARD_MECH 0x4 /**< Mechanical (not solid state) */
#define SCARDMGR_CARD_SD 0x8 /**< SD card */
#define SCARDMGR_CARD_MMC 0x10 /**< MMC card */
#define SCARDMGR_CARD_SDHC 0x20 /**< SDHC card */
u8 bus_width; /**< Data bus width */
u32 manfid; /**< Manufacture ID */
u32 vers; /**< Version */
char name[64]; /**< Name of card (if any) */

u32 seccnt; /**< Number of sectors */
u16 secsize; /**< Sector size */
u8 wp; /**< Whether card is Write protected */
int format; /**< Format of card */
char speed[16]; /**< current card speed */
void *extra; /**< pointer to extra infomation */
} scardmgr_status_t;

В card.c строка scardmgr_status_t card_status;
Только найти не могу! Где заполняется параметр WP u8 wp; /**< Whether card is Write protected */ защита от записи???

Mi81
, 15:35
В card.c строка scardmgr_status_t card_status;
Только найти не могу! Где заполняется параметр WP u8 wp
Для грубой прикидки можно в функции :
int scardmgr_get_status(int slot, scardmgr_status_t *status)
{
scardmgr_dev_t *dev = scardmgr_get_dev(slot);

if (dev == NULL || dev->get_status == NULL)
return -1;

return dev->get_status(status);
}

создать переменную
int rval;
перед return'ом выполнить
rval= dev->get_status(status);
после этого проверить, что речь идет именно об SD-карточке по условию
if staus->card_type=SCARDMGR_CARD_SD
и если это так, то принудительно установить wp в ноль, типа карточка не защищена
{
staus->wp = 0;
}
а затем вернуть значение rval
return rval;

И еще раз посмотрите свою конфигурацию, возможно, в ней просто что-то не так.

Mi81
, 14:45
Ну что, страдальцы, ловим: .:: Скрытый текст (вы должны зарегистрироваться или войти под своим логином) ::.
Рождественский подарок :D

Mi81
, 16:40
Скачал наконец. Но ни фига не понял. Во-первых, нет BSP, т.е. периферии, во-вторых, это какой-то монстр, где все перемешано и амбарелла и S3Cхххх и еще куча платформ, и линукс и андроид, и главное - нет конфигураций DVCAM и CAR-DV.
Короче, долго разбираться нужно, что же это такое.

Mi81
, 20:19
Ну слава Богу, драйвер MT9T002 таки есть.
Смотрим дальше.
Ага, оказывается у этой матрицы уже 5 версий...

GoshanV
, 21:15
Ага, оказывается у этой матрицы уже 5 версий...
А, что это значит :-[ и можно ли будет улучшить качество картинки например на DOD F900LHD?

Mi81
, 21:36
А, что это значит Это значит, что их, матриц, которые AR0330, слишком дофига и фиг его знает, какая именно матрица стоит в том или ином конкретном дивайсе.
Эта SDK, конечно, шаг вперед, но создавать полноценную прошивку с ее помощью не получится, т.к. это прошивка IP-камеры. Хотя некоторые вещи, возможно, удастся использовать для углубления понимания и модификации существующих прошивок. На безрыбье и рак - рыба.
Я, честно говоря, видел, что это SDK для ip-камеры, но, пока не скачал, надеялся, что все-таки в ней будет больше, чем оказалось на самом деле. В таком виде она интересна только специалистам.

echenko
, 07:44
В этом топике нашлось уже 2 версии SDK от Амбы (или больше если я пропустил чего), но похоже я не понимаю неких базовых вещей - как в целом устроена система image processing, основные стадии (raw->yuv->h264?) и API, конфигурации image quality

На сайте Амбы вместе с SDK обещают предоставить документацию, в частности
> Programmer’s guide, application notes, API documents

Нет ли у кого этих документов, пускай и для старых SDK? Гугл в этом вопросе мне не помог.

gvitas
, 20:24
Уважаемые други,случилось у меня несчастье.. грохнул я оригинальную прошивку и теперь не могу ничего подобрать. Перепробовал уже кучу всяких-толку 0.
Что я имею:
1.Пародия на каркам Q2
2.Древний дисплей(матовый) EK 020 THEG
3. Sensor -F500AB sensor vc
4. плата -F500AB main vo xsl 42 12
5. Ambarella A2S60 + память 200 мб
Сейчас стоит прошивка v5.0 085-GH
Итог: не работают кнопки "моде" "плей" ,меню при нажатии пропускает включение камеры, кнопка выключения не выключает, девайс просто перезагружается. Не работает зум, не отключается микрофон и дисплей джойстиком
Кто откликнется или подскажет прошивку всем спасибо и сильно не пинайте. Да почему-то не скачать прогу для смены лого.:'(

infoehra
, 00:34
Ну что, страдальцы, ловим: *** скрытый текст ***
Рождественский подарок :D

Ссылка не работает, дайте новую пожалуйста)