3PPC.net - лучшее для Смартфонов, GPS-навигаторов и Видеорегистраторов  

Вернуться   3PPC.net - лучшее для Смартфонов, GPS-навигаторов и Видеорегистраторов > Основной форум > Видеорегистраторы > Создание и модификация ПО

Создание и модификация ПО Раздел для программистов желающих собрать или модифицировать прошивку

Ответ
 
Опции темы
Старый 23.04.2013, 15:12   #1
antonkam
Вникающий
 
Регистрация: 13.11.2012
Адрес: Томск
Сообщений: 32
Репутация: 43
Устройство: Нет
Создание прошивок для ВР на чипе Ambarella

Итак, господа, удалось-таки собрать прошивку из исходников 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, потом через кадр.
- Нужно отзеркалить изображение на дисплее и добавить в меню переворот.
- При пересвете на видео появляются полосы.
- ...
Прикладываю фотографии меню.

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

Глючное тестовое видео:
Скрытый текст (вы должны зарегистрироваться или войти под своим логином):
У вас нет прав чтобы видеть скрытый текст, содержащейся здесь.


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

Полезная информация для оформления сообщений:
Работа с вложениями на форуме — как выложить файл или вставить картинку
Как пользоваться спойлером или как красиво убрать большой кусок текста


Вместо слов благодарности поднимайте репутацию вашим помощникам при помощи кнопки : и вам удобно и им приятно

Последний раз редактировалось Гость; 11.06.2013 в 22:13. Причина: перезалил
antonkam вне форума   Цитировать выделенное Ответить с цитированием
17 пользователя(ей) сказали cпасибо:
Показать/Скрыть список поблагодаривших

Старый 07.06.2013, 12:32   #141
SergMyz
Местный
 
Регистрация: 04.03.2013
Сообщений: 85
Репутация: 23
Устройство: Нет
Цитата:
Сообщение от Mi81 Посмотреть сообщение
Выложи плиз, свой конфиг, чтоб я не тратил время а посмотрел твои настройки usb
Последний из .... конфигурация, определяется только как флешка для чтения. Реакции на кнопки нет. У меня DOD GSE550 9-ти кнопочный не считая сброса и отключения микрофона!

Последний раз редактировалось Гость; 07.06.2013 в 20:13.
SergMyz вне форума   Цитировать выделенное Ответить с цитированием
Старый 07.06.2013, 13:17   #142
SergMyz
Местный
 
Регистрация: 04.03.2013
Сообщений: 85
Репутация: 23
Устройство: Нет
Цитата:
Сообщение от antonkam Посмотреть сообщение
если кому нужно определить значения напряжения на каждом канале АЦП, запускайте со скриптом 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 для прошивки через директ.
Как посмотреть напряжение?
SergMyz вне форума   Цитировать выделенное Ответить с цитированием
Старый 07.06.2013, 16:01   #143
Mi81
Знающий
 
Регистрация: 28.09.2008
Сообщений: 166
Репутация: 36
Устройство: Нет
Добавил в свою самопальную прошивку для "орандж олд" настройку GOP, 2-х фильтров шумов, и битрейта, включая переменный битрейт.
Победить проблему с питанием пока не удалось. GPS не подключал просто потому, что у меня дивай без GPS.
На свой страх и риск берем
Скрытый текст (вы должны зарегистрироваться или войти под своим логином):
У вас нет прав чтобы видеть скрытый текст, содержащейся здесь.
Естественно в директории DirectUSB должен лежать обновленный arm-elf-objcopy.exe, ссылку на который приводил выше.

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

Последний раз редактировалось Mi81; 07.06.2013 в 20:10.
Mi81 вне форума   Цитировать выделенное Ответить с цитированием
Старый 08.06.2013, 11:27   #144
SergMyz
Местный
 
Регистрация: 04.03.2013
Сообщений: 85
Репутация: 23
Устройство: Нет
Боюсь я зашел в тупик! Теперь придется изучать Си. Полностью переписывать bcp.c bcp.h buttons.c, а то регистратор не запуститься.
Цитата:
Сообщение от Mi81 Посмотреть сообщение
Естественно в директории DirectUSB должен лежать обновленный arm-elf-objcopy.exe, ссылку на который приводил выше.
Для чего? Ты хочешь сказать, что в Директе должен быть arm-elf-objcopy.exe с которым собирался проект, а не тот что в папке директа. Для корректной прошивки наших собранных прошивок???

Последний раз редактировалось SergMyz; 08.06.2013 в 11:28. Причина: Добавлено сообщение
SergMyz вне форума   Цитировать выделенное Ответить с цитированием
Старый 08.06.2013, 12:38   #145
Mi81
Знающий
 
Регистрация: 28.09.2008
Сообщений: 166
Репутация: 36
Устройство: Нет
Цитата:
Сообщение от SergMyz Посмотреть сообщение
должен быть arm-elf-objcopy.exe с которым собирался проект
Да, тот что был у меня в комплекте DirectUSB не мог преобразовать elf в bin, в результате прошивка не шла. Т.к. ДиректУСБ доступен из разных источников, возмножно у многих он уже обновлен и эта операция не потребуется. В принципе, работает ли он конкретно у вас, видно из лога прошивки.
Посмотрел ваш конфиг, в котором вы выбрали BSP ISKY_A16. Раз этот BSP подошел для моего 6-кнопочного прибора, вряд ли он подойдет для вашего 9-кнопочного.
Кроме того, когда я пытался прошиться новой прошивкой с карточки, как правило, получал кирпич. А вот эльфом после очистки флеши залилось и заработало, после чего стал принимать прошивки, собранные на этой же BSP и с карточки.
Mi81 вне форума   Цитировать выделенное Ответить с цитированием
Старый 08.06.2013, 15:58   #146
SergMyz
Местный
 
Регистрация: 04.03.2013
Сообщений: 85
Репутация: 23
Устройство: Нет
Цитата:
Сообщение от Mi81 Посмотреть сообщение
тот что был у меня в комплекте DirectUSB не мог преобразовать elf в bin, в результате прошивка не шла
У меня прошивается без проблем с преобразованием, правда Директ у меня версия 2 для Ambarella A5 это для моего нового регистратора на A5+AR0330!
SergMyz вне форума   Цитировать выделенное Ответить с цитированием
Старый 11.06.2013, 12:03   #147
SergMyz
Местный
 
Регистрация: 04.03.2013
Сообщений: 85
Репутация: 23
Устройство: Нет
ВАУУУ!!! Заработало! В 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

Оффтопик

Последний раз редактировалось SergMyz; 11.06.2013 в 14:04.
SergMyz вне форума   Цитировать выделенное Ответить с цитированием
Пользователь сказал cпасибо:
GoshanV (11.06.2013)
Старый 11.06.2013, 15:27   #148
SergMyz
Местный
 
Регистрация: 04.03.2013
Сообщений: 85
Репутация: 23
Устройство: Нет
Пока с кнопками не получается!
Мои данные для кнопок выглядят так (через 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 вне форума   Цитировать выделенное Ответить с цитированием
Старый 11.06.2013, 16:26   #149
SergMyz
Местный
 
Регистрация: 04.03.2013
Сообщений: 85
Репутация: 23
Устройство: Нет
В эннацатый.... раз перепрошился! Пока на месте. GPIO 40 = вкл/отк звук регистратора.
Вроде как GPIO 53 включает/отключает светодиод Power, но прописав его в bsp.c = реакции нет!
Может по куску даташита можно разобраться, как кнопки работают.
SergMyz вне форума   Цитировать выделенное Ответить с цитированием
Старый 14.06.2013, 10:37   #150
SergMyz
Местный
 
Регистрация: 04.03.2013
Сообщений: 85
Репутация: 23
Устройство: Нет
Все каналы перепробовал - не работают кнопки. Только звук появился!
__________________
DOD GSE550 - для экспериментов, катается в машине TrendVision TV-Q5NV
SergMyz вне форума   Цитировать выделенное Ответить с цитированием
Старый 19.07.2013, 10:59   #151
SergMyz
Местный
 
Регистрация: 04.03.2013
Сообщений: 85
Репутация: 23
Устройство: Нет
Вышел из отпуска. Пришел преобразователь уровней, купил такой
Скрытый текст (вы должны зарегистрироваться или войти под своим логином):
У вас нет прав чтобы видеть скрытый текст, содержащейся здесь.

Буду подключаться, разобрал регистратор, нашел на плате вот такую разметку, к RX подключен провод от GPS блока в экране "на землю", рядом TX не использованный. Как я понимаю это входы UART процессора, где на вход процессора идут данные GPS. Сюда и попробую подключиться!

Опыта подобного подключения не было. Нужны подсказки, что куда подпаивать.
"Земля"="Земля", RXпреобразователя=TXпроцессора, TXпреобразователя=RXпроцессора????
Цель: "попасть в консоль" что бы видеть происходящие при загрузке регистратора.
__________________
DOD GSE550 - для экспериментов, катается в машине TrendVision TV-Q5NV
SergMyz вне форума   Цитировать выделенное Ответить с цитированием
Пользователь сказал cпасибо:
GoshanV (20.07.2013)
Старый 22.07.2013, 12:21   #152
SergMyz
Местный
 
Регистрация: 04.03.2013
Сообщений: 85
Репутация: 23
Устройство: Нет
Цитата:
Сообщение от SergMyz Посмотреть сообщение
Пришел преобразователь уровней.
Спалил кажись я этот преобразователь! Тупо не понятно, что делать с выводами 3.3 B и 5 В То ли коротить на землю, то ли подавать напряжение. Описаний нигде нет, из даташита ничего не понятно. Методом перебора вариантов, увы сжигая этот преобразователь, что нибудь да найдем! При проверке RX-TX не работает преобразователь!
__________________
DOD GSE550 - для экспериментов, катается в машине TrendVision TV-Q5NV

Последний раз редактировалось GoshanV; 22.07.2013 в 22:30. Причина: del off
SergMyz вне форума   Цитировать выделенное Ответить с цитированием
Старый 22.07.2013, 15:43   #153
gsomgsom
Новичок
 
Регистрация: 02.09.2011
Сообщений: 1
Репутация: 0
Устройство: Другое устройство (сообщите администрации какое — мы добавим)
Вот это да! Слов нет, одни эмоции!

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

Последний раз редактировалось gsomgsom; 22.07.2013 в 16:00.
gsomgsom вне форума   Цитировать выделенное Ответить с цитированием
Старый 23.07.2013, 10:02   #154
SergMyz
Местный
 
Регистрация: 04.03.2013
Сообщений: 85
Репутация: 23
Устройство: Нет
Преобразователь цел. На скорости 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.

Очень нужны идеи, мысли ????? Как дальше?
__________________
DOD GSE550 - для экспериментов, катается в машине TrendVision TV-Q5NV

Последний раз редактировалось SergMyz; 23.07.2013 в 12:40.
SergMyz вне форума   Цитировать выделенное Ответить с цитированием
Пользователь сказал cпасибо:
GoshanV (23.07.2013)
Старый 23.07.2013, 15:27   #155
z768
Вникающий
 
Регистрация: 01.05.2013
Сообщений: 37
Репутация: 5
Устройство: Нет
Так у тебя появилось приглашение к вводу команд
<0>a:\> <0>
Посмотри внимательно ту ссылку что я тебе давал.
Для начала набери после
<0>a:\> <0>help и энтер жмакай...
Попробуй в путти скорость поднять до 115200.
И еще один совет..
Сразу путти запускай на подключенном реге (но без аккума), потом подавай питание на рег и смотри лог (должен пойти лог загрузки ядра).

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

Последний раз редактировалось z768; 23.07.2013 в 15:50.
z768 вне форума   Цитировать выделенное Ответить с цитированием
Старый 23.07.2013, 16:51   #156
SergMyz
Местный
 
Регистрация: 04.03.2013
Сообщений: 85
Репутация: 23
Устройство: Нет
На команды реагирует. Использую Terminal+.
__________________
DOD GSE550 - для экспериментов, катается в машине TrendVision TV-Q5NV
SergMyz вне форума   Цитировать выделенное Ответить с цитированием
Старый 23.07.2013, 20:36   #157
z768
Вникающий
 
Регистрация: 01.05.2013
Сообщений: 37
Репутация: 5
Устройство: Нет
Ладно экспериментируй, точней исследуй, но фото желательно в студию...
Попробуй в путти запустить, попытка не пытка.
Она получше всяких терминалов.
z768 вне форума   Цитировать выделенное Ответить с цитированием
Старый 24.07.2013, 11:26   #158
SergMyz
Местный
 
Регистрация: 04.03.2013
Сообщений: 85
Репутация: 23
Устройство: Нет
Разбираюсь почему карточка в режиме для чтения:

Лог выдает ошибку:
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 ----
__________________
DOD GSE550 - для экспериментов, катается в машине TrendVision TV-Q5NV

Последний раз редактировалось SergMyz; 24.07.2013 в 11:57.
SergMyz вне форума   Цитировать выделенное Ответить с цитированием
Старый 08.08.2013, 09:25   #159
SergMyz
Местный
 
Регистрация: 04.03.2013
Сообщений: 85
Репутация: 23
Устройство: Нет
Цитата:
Сообщение от SergMyz Посмотреть сообщение
Разбираюсь почему карточка в режиме для чтения:
Лог выдает ошибку:
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 с платы, все мелкое-неудобное. Тупик конкретный, скорей всего придется бросить это дело-бесперспективное!

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

Последний раз редактировалось GoshanV; 08.08.2013 в 10:41.
SergMyz вне форума   Цитировать выделенное Ответить с цитированием
Пользователь сказал cпасибо:
GoshanV (08.08.2013)
Старый 08.08.2013, 12:49   #160
Гость
Гость
 
Сообщений: n/a
Устройство: нет кпк
Цитата:
Сообщение от SergMyz Посмотреть сообщение
"Подопытный", правда, на родной прошивке подвисает.
а сидишка какая? может в ней дело?
Цитата:
Сообщение от SergMyz Посмотреть сообщение
нашел в system/src/app/a16isky/utility/card.c
встречается такая строка
Скрытый текст (вы должны зарегистрироваться или войти под своим логином):
У вас нет прав чтобы видеть скрытый текст, содержащейся здесь.

Последний раз редактировалось Гость; 08.08.2013 в 15:22.
  Цитировать выделенное Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 04:36. Часовой пояс GMT +3.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd. Перевод: zCarot