ЗАО «ЗЭО»

Техническая поддержка пользователей => ОС Linux, U-Boot => Тема начата: yh от 24 Мая, 2011, 15:49:13

Название: Buildroot-2011.02
Отправлено: yh от 24 Мая, 2011, 15:49:13
  На днях переполз на buildroot 2011.02. Использую тулчейн на gcc-4.2.4 c патчами для плавающей запятой. Ядро 2.6.38.6, от поддержки графического акселератора отказался, потому что он сильно мешает нандовской флэшке на первом чипселекте. Создается впечатление, что он залазит в чужие адреса и гонит какие-то свои данные по шине прямо на флэш. :(

  Все остальное как в старой моей теме про buildroot 2010.05. Рабочий конфиг и пояснения находятся в архиве, архив находится тут ftp://kicad.r4b.ru/pub/tion9315/buildroot/buildroot-2011.02.tar.bz2 (ftp://kicad.r4b.ru/pub/tion9315/buildroot/buildroot-2011.02.tar.bz2).

  Если кто сможет собрать busybox 18.3 тулчейном на gcc 4.5.2 - пишите, очень интересно.

 
Название: Re: Buildroot-2011.02
Отправлено: zverro от 21 Июня, 2011, 19:47:35
У Вас получилось собрать ядро 2.6.38.6 ?  Оно заработала ?  Видит Тионовскую переферию ?

Мне это интерестно со страшной силой, в новых ядрах много камер поддерживаеца.
Название: Re: Buildroot-2011.02
Отправлено: yh от 22 Июня, 2011, 13:39:36
Да, ядро 2.6.38.6 собирается и нормально работает, ту переферию, которую мы используем - видит. А используем мы nand flash, usb клаву и флэшки, различные девайсы на SPI и i2c шинах, xilinx spartan, gpio, keypad, touchscreen или АЦП вместо него.

Пробовал ядро 2.6.39, не понравилась работа nfs, решил остановиться на 2.6.38

Ядро можно собрать и отдельно от buildroot с любым тулчейном (например codesourcery lite), только накатить патчик и конфиг из buildroot на исходники, сделать
make ARCH=arm oldconfig
make -j4 ARCH=arm CROSS_COMPILE=/home/roman/CodeSourcery/Sourcery-2010.09-50-gnueabi/bin/arm-none-linux-gnueabi-

при желании
make ARCH=arm menuconfig - и конфигурируй как надо, только осторожно ))
Название: Re: Buildroot-2011.02
Отправлено: zverro от 22 Июня, 2011, 14:12:54
Спасибо,  буду пробовать.

Вчера я попытался откомпилировать этот buildroot на ALT Linux 6.0,  он долго работал а потом сообщил ошибку при сборке какого-то пакета для хоста, линкер сказал что не может найти библиотеку -lc  (libc), но она у меня лежит  в /usr/lib/libc.so.
Наверное ALT-овцы что-то намудрили в системе, было бы что-то в исходникак я бы поправил, а такие заскоки в системе я отлаживать не умею, и сейчас пробую компилировать на openSUSE. В данный момент процесс еще идёт...
Название: Re: Buildroot-2011.02
Отправлено: yh от 22 Июня, 2011, 16:55:31
надо поставить glibc-static-devel
Название: Re: Buildroot-2011.02
Отправлено: zverro от 25 Июня, 2011, 02:02:44
   Получилось скомпилировать .  Чтобы включить USB камеры искал в меню, там нашел очень мало. Залез вручную а .config едра, и там нашел для одной из камер что у меня есть опцию CONFIG_USB_GSCPA_SPCA561, включил её (=y), а рядом нашел целую пачку CONFIG_USB_GSCPA_... устройств, включил всё что было.  ядро собралось. Камеры при втыкании определяются три типа что у меня есть, он пишет название и всякое там...   Но сносно заработала только одна из них - Genius SPCA561.  Из них, к сожалению не пошла A4TECH USB2.0 PC Camera J  (она по параметрам ничё и по цене, а главное размер маленький, встраивать удобно во всякие устройства, в роботов и т.д...  Но в принципе заработало,  а камеры можно поподбирать еще какие-нибудь.

    Еще у меня почему-то экранная область ушла немного вверх за пределы.  Заставочный пингвин рисуется не весь, а на пол-головы скрывшимся  за верхний край экрана. И программы  на QT работают сдвинутыми вверх, и перемещаются вниз мышью только до некоторого расстояния от нижнего края, где-то пол-сантиметра.  Я использую тип "8"  (8' 640х480)
  Неверное где-то неправильно стоит начало экранной памяти. Попробую поискать.

Звук еще не пробовал, попробую при первой возможности.

Спасибо за помощь
Название: Re: Buildroot-2011.02
Отправлено: asv от 25 Июня, 2011, 09:38:37
>  Неверное где-то неправильно стоит начало экранной памяти. Попробую поискать.

Смотрите настройки таймингов дисплея.
Название: Re: Buildroot-2011.02
Отправлено: zverro от 26 Июня, 2011, 00:56:05
Я поправил тайминги. Положение нормально сделалось.  Только у меня почему-то яркие разноцветные точки в некоторых местах на пингвине. Некоторые из точек моргают. Запускаю qt приложение всё нормально, но когда я вывожу картинку, например с камеры, то на ней тоже появляются яркие точки, в основном ярко-зелёные, некая такая редкая сыпь. Пока не понимаю в чём дело.  Раньше в точности такое было когда я запускал систему сделанную на crater-е, мне порекомендовали кое-какие слова в командной строке запуска ядра и все стало нормально, а сейчас это не срабатывает.
Название: Re: Buildroot-2011.02
Отправлено: asv от 26 Июня, 2011, 23:25:09
> Только у меня почему-то яркие разноцветные точки в некоторых местах на пингвине.

Полярность pixel clock поменяйте.
Название: Re: Buildroot-2011.02
Отправлено: zverro от 27 Июня, 2011, 00:36:54
Поменял полярность и всё стало нормально. Спасибо.

Пытаюсь разобраться почему не виден ac97. У меня Сириус.
Название: Re: Buildroot-2011.02
Отправлено: yh от 27 Июня, 2011, 10:37:03
Пытаюсь разобраться почему не виден ac97. У меня Сириус.

Насчет сириуса не подскажу, но для тиона инициализацию АС97 я не делаю.
Нужно зарегистрировать устройство, в файле машины в static void __init tion9315_init_machine(void) вставить вызов void __init ep93xx_register_ac97(void).
И в конфиге нужно включить правильный драйвер для него.


Название: Re: Buildroot-2011.02
Отправлено: zverro от 28 Июня, 2011, 04:33:32
Я попробовал поставить SoC драйвер для AC97 и ниже там галочка "собрать все драйверы"
При загрузке он говорит

...
...
usbcore: registered new interface driver usbhid                                                                                                                                 
usbhid: USB HID core driver                                                                                                                                                     
Cirrus Logic CS4270 ALSA SoC Codec Driver                                                                                                                                       
ALSA device list:                                                                                                                                                               
  No soundcards found.

Я даже попробовал добавить куски от патча для 2.6.20.21, но это тоже не заработало. Там шли выводы о том что он пишет затем читает всякие регистры кодека, но потом говорит что ошибка в ep93xx_ac97_modprob.

Пытаюсь разобраться
Название: Re: Buildroot-2011.02
Отправлено: zverro от 28 Июня, 2011, 19:45:14
Запихал кусок AC97 от старого buildroot 2009.08, там вроде бы кодек cs4202 работал. Он кажется несколько раз подряд пытается инициализироваться, но безуспешно, в конце  "AC'97 0 access error (not audio or modem codec)"

ep93xx_audio_init
ep93xx_init_ac97_controller - enter
ep93xx-ac97: AC97RXCR1: 0x00000000
ep93xx-ac97: AC97TXCR1: 0x00000000
ep93xx_set_hw_format
ep93xx_set_hw_format: setting serial mode to 16 bit compact

 ... ... ... ... ...  

ep93xx_write_mixer: val:0x8000
ep93xx_write_mixer: wrote OSS chan:22 (ac97 0x14), l:0, r:0
ep93xx_write_mixer: val:0x8000
ep93xx_write_mixer: wrote OSS chan:14 (ac97 0x16), l:0, r:0
ep93xx_write_mixer: val:0x8000
snd_ep93xx_pcm_new - enter
The substream item:
  pcm->streams[0].substream->dma_buffer.addr  = 0x0
  pcm->streams[0].substream->dma_buffer.area  = 0xc59e0000
  pcm->streams[0].substream->dma_buffer.bytes = 0x20000
  pcm->streams[1].substream->dma_buffer.addr  = 0x0
  pcm->streams[1].substream->dma_buffer.area  = 0xc5b00000
  pcm->streams[1].substream->dma_buffer.bytes = 0x20000
snd_ep93xx_pcm_new - exit
ep93xx_ac97_reset
ep93xx_audio_init
ep93xx_init_ac97_controller - enter
ep93xx-ac97: AC97RXCR1: 0x00008018
ep93xx-ac97: AC97TXCR1: 0x00008018
ep93xx_set_hw_format
ep93xx_set_hw_format: setting serial mode to 16 bit compact
ep93xx-ac97: AC97RXCR1: 0x00008018
ep93xx-ac97: AC97TXCR1: 0x00008018
ep93xx_init_ac97_controller: success
ep93xx_init_ac97_codec
ep93xx_set_samplerate: Fs: 44100
ep93xx_set_samplerate: phase: 30121, divider: 557
ep93xx_write_mixer: wrote OSS chan:0 (ac97 0x2), l:100, r:100

 ... ... ... ... ... 

 ep93xx_ac97_write: codec:0 reg:0x1c val:0x8a06
ep93xx_ac97_read: codec:0 reg:0x1c val:0x8000
ep93xx_ac97_read: codec:0 reg:0x3c val:0x0
AC'97 0 access error (not audio or modem codec)
ep93xx_ac97_probe: snd_ac97_mixer error
ep93xx_ac97_probe: error
ep93xx-ac97: probe of ep93xx-ac97 failed with error -13
ALSA device list:
  No soundcards found.

Наверное там с новым ядром что-то  нестыкуется.

И еще я пробовал там где задается кодек на SoC,  насильственно, включить штатный драйвер /sound/soc/ep93xx/ep93xx-ac97.c, путём правки  /sound/soc/ep93xx/Kconfig.  Все равно не определяется, только на этот раз никаких комментариев не выводится, только
ALSA device list:                                                                                                                                                                
  No soundcards found.
Название: Re: Buildroot-2011.02
Отправлено: zverro от 30 Июня, 2011, 23:39:29
В общем начал у меня видиться кодек.  Выдача в конце такая

.....
ep93xx_write_mixer: val:0x8000                                                                                                                                                   
ep93xx_write_mixer: wrote OSS chan:8 (ac97 0x12), l:0, r:0                                                                                                                       
ep93xx_write_mixer: val:0x8000                                                                                                                                                   
ep93xx_write_mixer: wrote OSS chan:22 (ac97 0x14), l:0, r:0                                                                                                                     
ep93xx_write_mixer: val:0x8000                                                                                                                                                   
ep93xx_write_mixer: wrote OSS chan:14 (ac97 0x16), l:0, r:0                                                                                                                     
ep93xx_write_mixer: val:0x8000                                                                                                                                                   
Cirrus Logic EP93xx AC97 audio initialized                                                                                                                                       
ep93xx_ac97_probe: exit                                                                                                                                                         
ALSA device list:
  #0: Cirrus Logic AC97 Audio with CS4202A


Но воспроизведение не работает. При этом mpg123 говорит

ALSA lib confmisc.c:768:(parse_card) cannot find card '0'                                                                                                                       
ALSA lib conf.c:4154:(_snd_config_evaluate) function snd_func_card_driver returned error: No such file or directory                                                             
ALSA lib confmisc.c:392:(snd_func_concat) error evaluating strings                                                                                                               
ALSA lib conf.c:4154:(_snd_config_evaluate) function snd_func_concat returned error: No such file or directory                                                                   
ALSA lib confmisc.c:1251:(snd_func_refer) error evaluating name                                                                                                                 
ALSA lib conf.c:4154:(_snd_config_evaluate) function snd_func_refer returned error: No such file or directory                                                                   
ALSA lib conf.c:4633:(snd_config_expand) Evaluate error: No such file or directory                                                                                               
ALSA lib pcm.c:2211:(snd_pcm_open_noupdate) Unknown PCM default                                                                                                                 
[alsa.c:165] error: cannot open device default                                                                                                                                   
[audio.c:627] error: failed to open audio device                                                                                                                                 
[audio.c:180] error: Unable to find a working output module in this list: alsa                                                                                                   
[audio.c:529] error: Failed to open audio output module                                                                                                                         
[mpg123.c:869] error: Failed to initialize output, goodbye.                                                                                                                     


Устройства /dev/audio  /dev/audio  /dev/audio1 я скопировал, но всё равно не работает
Название: Re: Buildroot-2011.02
Отправлено: zverro от 02 Июля, 2011, 18:21:22
     В общем так я и не понял почему не работает звук, хотя карта определяется.  Я бы выложил архив исходников, тогда бы кто-нибудь посмотрел в чем дело, но я не знаю как выцарапать его, отскрести от объектников и прочих промежуточных файлов, сохранив при этом конфиги. Иначе он будет огромен.

  Пока придётся обходиться без звука, но хотелось бы чтобы робот-тележка мог не только видеть но и  говорить и слышать.
Название: Re: Buildroot-2011.02
Отправлено: zverro от 29 Июля, 2011, 01:05:10
Народ, может кто подсказать, как сделать чтобы память ОЗУ меньше съедалось системой или еще чем. У меня так получается, что Сириус не открывает нормально две USB камеры, одна при этом может работать а другая. при попытке чтения ругается, что ресурс занят. По некоторым косвенным признакам это нехватка ОЗУ.  И еще точно также не работают одновременно одна камера и Wifi. Причина та же.  Можно ли как-нибудь сконфигурировать систему чтобы память всё же хватало. (Вроде бы на все буферы при открытии камеры тратится в пределах 1 Мб, кроме тех которые может быть где-то там внутри v4l возможно задействуются)
То что в ядре назначается объем RAM-диска, это влияет на то сколько свободной памяти остается?
Название: Re: Buildroot-2011.02
Отправлено: asv от 29 Июля, 2011, 09:23:55
Какой вывод у free?
Название: Re: Buildroot-2011.02
Отправлено: zverro от 02 Августа, 2011, 22:31:20
До открытия камер

              total         used         free       shared      buffers
Mem:        57856        28404        29452            0            0
Swap:            0            0            0
Total:        57856        28404        29452


После открытия камер

              total         used         free       shared      buffers
Mem:        57856        30064        27792            0            0
Swap:            0            0            0
Total:        57856        30064        27792


В процессе открытия и настройки второй камеры вылазит сообщение
Error: No space left on device

На какой операции еще не уследил, наверное на  mmap.
Название: Re: Buildroot-2011.02
Отправлено: asv от 03 Августа, 2011, 10:24:21
Как видите свободная память уменьшилась всего примерно на 1.5 МБ и её ещё свободно примерно 27.7 МБ.

Может быть проблема в драйвере USB или V4L при одновременной работе их с несколькими устройствами?
Есть ли такая проблема, если камера одна?
Название: Re: Buildroot-2011.02
Отправлено: zverro от 03 Августа, 2011, 17:23:14
С одной камерой работает, и TCP сервер отдаёт изображение по ethernet. Но включаю wifi и уже не работает ни по ethernet ни по wifi
Название: Re: Buildroot-2011.02
Отправлено: zverro от 03 Августа, 2011, 18:02:06
И еще,  на нетбуке asus eepc всё полностью работает с двумя камерами и wifi.   (qt4 приложения легко переносимы, перекомпиляция длится лишь несколько секунд)
Название: Re: Buildroot-2011.02
Отправлено: zverro от 11 Августа, 2011, 20:51:34
Прослышал я про одну версию, почему не работает вторая камера. Гоаорят что некторые драйверы блокируют доступ у устройствию, если им кажется что машина для этого слабая. Придецо смотреть драйвер
Название: Re: Buildroot-2011.02
Отправлено: vitvrn от 05 Апреля, 2013, 20:13:32
А есть у кого-нибудь рабочий конфиг нового ядра (2.6.38.6) для Тиона Про 2?
С тем, что в этом Buildroot-2011.02, не удается подмонтировать КФС на внутренней флешке.
Собирал тулчейном от buildroot-2010.05-rev37.
tar xjf linux-2.6.38.6.tar.bz2
# патч из buildroot-2011.02 не стал править, просто переименовал каталог с распакованным ядром + создал ссылку
mv linux-2.6.38.6 linux-2.6.38.6-production
ln -s linux-2.6.38.6-production linux-2.6.38.6-orig
patch -p0 <linux-2.6.38.6-production.patch
cd linux-2.6.38.6-production
make ARCH=arm oldconfig
make -j4 ARCH=arm CROSS_COMPILE=/media/data/andreika/tion_project/output/staging-4.2.4/usr/bin/arm-unknown-linux-uclibcgnueabi-
mkimage -A arm -O linux -T kernel -C none -a 0x8000 -e 0x8000 -d arch/arm/boot/zImage /srv/tion/kernels/2.6.38.6/uImage-2.6.38.6
Загружал ядро не прошивая во флешку
setenv kern_file kernels/2.6.38.6/uImage-2.6.38.6
setenv machid 0x61f
tftpboot 0x800000 ${kern_file}
bootm 0x800000
Логи загрузки прилагаю Второй, uImage-2.6.38.6-201304051844-boot.log - после добавления кое-каких опций из скачанного с zao-zeo.ru конфига к ядру 2.6.20.21:
CONFIG_MTD_PHYSMAP_START=0x60000000
CONFIG_MTD_PHYSMAP_LEN=0x3ff0000
CONFIG_MTD_PHYSMAP_BANKWIDTH=4
Меня смущали строки лога загрузки:
physmap platform flash device: 00800000 at 60000000
physmap-flash.0: Found 2 x16 devices at 0x0 in 32-bit bank. Manufacturer ID 0x000089 Chip ID 0x00891f
NOR chip too large to fit in mapping. Attempting to cope...
Intel/Sharp Extended Query Table at 0x010A
Intel/Sharp Extended Query Table at 0x010A
Intel/Sharp Extended Query Table at 0x010A
Intel/Sharp Extended Query Table at 0x010A
Intel/Sharp Extended Query Table at 0x010A
Using buffer write method
Using auto-unlock on power-up/resume
cfi_cmdset_0001: Erase suspend on write enabled
Reducing visibility of 65536KiB chip to 8192KiB
Подумал, что это связано с тем, что в просто Тионе Про флешка 8Мбайт. Но пока вышеназванные опции из рабочего конфига ничего не дали.
Название: Re: Buildroot-2011.02
Отправлено: asv от 08 Апреля, 2013, 11:58:15
В вашем .config есть CONFIG_MTD_CMDLINE_PARTS. Вам нужно (1) используя
CONFIG_MTD_CMDLINE_PART в bootargs передавать значение mtdparts (то же что и
в U-Boot, но название должно соответствовать названию указанному в ядре,
скорее всего "physmap-flash") или (2) дописав соответствующий код в файл
arch/arm/mach-ep93xx/tion9315.c
 
Вы можете обновить U-Boot
www.zao-zeo.ru/dokuwiki/doku.php/u-boot#файлы_u-boot_2010.09
насколько я помню, там уже изменено название на "physmap-flash" и можно
делать в bootcmd: se bootargs ${bootargs} ${mtdparts}
Название: Re: Buildroot-2011.02
Отправлено: vitvrn от 08 Апреля, 2013, 19:18:22
Спасибо! С Флешки заработала КФС. С такими параметрами:
Цитировать
setenv bootargs console=ttyAM0,57600n8 root=/dev/mtdblock2 rootfstype=jffs2 mtdparts=physmap-flash.0:512k(u-boot)ro,2560k(kernel)ro,60928k(fs)
Только для этого пришлось поправить размер NOR flash в arch/arm/mach-ep93xx/tion9315.c с SZ_8M на SZ_64M:
Цитировать
    .end        = EP93XX_CS6_PHYS_BASE + SZ_64M - 1,

Дальше буду пробовать в конфиге включать опции, которые нужны (тоже созрела необходимость подключать камеры) и разбираться с rtc.

Пока есть проблема с КФС на NFS. Выдает ошибки (полный лог прикрепил):
IP-Config: Guessing netmask 255.255.255.0
IP-Config: Complete:
     device=eth0, addr=192.168.0.100, mask=255.255.255.0, gw=255.255.255.255,
     host=tion, domain=, nis-domain=(none),
     bootserver=255.255.255.255, rootserver=192.168.0.13, rootpath=
VFS: Mounted root (nfs filesystem) on device 0:13.
Freeing init memory: 132K
can't open /dev/null: Permission denied
can't open /dev/null: Permission denied
can't open /dev/null: Permission denied
can't open /dev/null: Permission denied
can't open /dev/ttyAM0: Permission denied
can't open /dev/null: Permission denied
По поводу "rootpath=" (хотя в bootargs было прописано значение) говорят, что это нормально, тем более в syslog на хосте была запись:
Цитировать
Apr  8 18:53:33 vitcmp mountd[3668]: authenticated mount request from 192.168.0.100:689 for /media/data/andreika/nfs1 (/media/data/andreika/nfs1)
Старое ядро загрузилось с этими же параметрами (может быть, в новом что-то поменялось по этому поводу?):
Цитировать
setenv bootargs 'console=ttyAM0,57600n8 root=/dev/nfs rw nfsroot=192.168.0.13:/srv/tion/nfs1 ip=192.168.0.100::::tion:eth0:off ep93xx_eth.hw_eth_addr=00:50:c2:bb:49:3f'
Название: Re: Buildroot-2011.02
Отправлено: asv от 08 Апреля, 2013, 19:44:47
> Старое ядро загрузилось с этими же параметрами (может быть, в новом что-то поменялось по этому поводу?):

Скорее не чего-то не хватает в .config
Название: Re: Buildroot-2011.02
Отправлено: vitvrn от 13 Мая, 2013, 15:54:05
Заработало после правки конфига nfs на хосте.
Цитата: /etc/exports
/home/andreika/nfs1 *(rw,sync,no_subtree_check,no_root_squash)