ЗАО «ЗЭО»

Техническая поддержка пользователей => ОС Linux, U-Boot => Тема начата: faa от 21 Сентября, 2009, 15:06:17

Название: toolchain с gcc-4.2.4-eabi для ТИОН, ТИОН-ПРО и т.п.
Отправлено: faa от 21 Сентября, 2009, 15:06:17
Собрал EABI crunch-tools для ТИОН-ов с патчами от Martin Guy (http://martinwguy.co.uk/martin/crunch/ (http://martinwguy.co.uk/martin/crunch/))  и патчами от OE (http://www.openembedded.org/ (http://www.openembedded.org/)).
Включает в себя binutils-2.19, gcc-4.2.4, uClibc-0.9.29.
Ключи для оптимизации -mcpu=ep9312 -mfpu=maverick -mfloat-abi=softfp -ffast-math -O2 (подробнее про ключи у Мартина на странице).
Лежит на ftp://ftp.ntcsm.ru/pub/tion9315/crunch-tools-gcc4.2.4-src.tar.bz2 (ftp://ftp.ntcsm.ru/pub/tion9315/crunch-tools-gcc4.2.4-src.tar.bz2).
Можно тестировать :)
Название: Re: toolchain с gcc-4.2.4-eabi для ТИОН, ТИОН-ПРО и т.п.
Отправлено: speculzzz от 22 Сентября, 2009, 08:32:07
Собирал как мартин (кстати, сентябрьский патч?) только gcc или же g++ тоже собран?
А что uClibc-0.9.30.1 не используешь?

До этого пробывал собирать тулчейн crunch-tools-1.4.3... Так вот g++ намана не собирал, т.к. патчами отключались некоторые функции преобразования вещественных в целые, на них  были ссылки из libstdc++ - и программа не собиралась. Но так как мне необходим g++ пришлось пока собрать тулчейн c softfloat-ом 4.3.4-920t-eabi (пользовался последней версией buildroot).
Название: Re: toolchain с gcc-4.2.4-eabi для ТИОН, ТИОН-ПРО и т.п.
Отправлено: faa от 22 Сентября, 2009, 09:50:08
Собирал как мартин (кстати, сентябрьский патч?) только gcc или же g++ тоже собран?
А что uClibc-0.9.30.1 не используешь?

Патч Мартина сентябрьский и добавлены патчи от OE.
cross-gcc собран как
$SRC_DIR/$GCC/configure --target=$TARGET --prefix=$INSTALL_DIR --enable-languages=c,c++ \
                        --disable-multilib --disable-libmudflap --disable-libssp \
                         2>&1; status=$?
т.е. g++ есть.

uClibc 0.9.30 не собирается с gcc 4.2.4 - разбираюсь.
Мартин пишет: gcc-4.3.4 медленнее, чем 4.2.4.
ЗЫ: Могу выложить архив только с патчами и скриптами без исходников bu, gcc и uClibc.
Название: Re: toolchain с gcc-4.2.4-eabi для ТИОН, ТИОН-ПРО и т.п.
Отправлено: speculzzz от 22 Сентября, 2009, 15:22:55
uClibc 0.9.30 не собирается с gcc 4.2.4 - разбираюсь.
Мартин пишет: gcc-4.3.4 медленнее, чем 4.2.4.

На счет uClibc 0.9.30.1 - глянь патчи/скрипты http://buildroot.uclibc.org/downloads/buildroot-2009.08.tar.bz2 (http://buildroot.uclibc.org/downloads/buildroot-2009.08.tar.bz2), там тулчейн с этой либой собирается.

ЗЫ: Могу выложить архив только с патчами и скриптами без исходников bu, gcc и uClibc.

Было бы здорово! :)
Кстати, а патч для bu (на который ссылаются в разделе http://martinwguy.co.uk/martin/crunch/#KnownBugs) добавлял?


Название: Re: toolchain с gcc-4.2.4-eabi для ТИОН, ТИОН-ПРО и т.п.
Отправлено: faa от 22 Сентября, 2009, 17:10:49

На счет uClibc 0.9.30.1 - глянь патчи/скрипты http://buildroot.uclibc.org/downloads/buildroot-2009.08.tar.bz2 (http://buildroot.uclibc.org/downloads/buildroot-2009.08.tar.bz2), там тулчейн с этой либой собирается.
Патчи для uClibc брал в OE. С ними 0.9.30 не собирается gcc4.2.4.
Патчи от buildroot посмотрю - сравню с ОЕ.

Выложил туда же архив без исходников - только скрипты и патчи (ftp://ftp.ntcsm.ru/pub/tion9315/crunch-tools-gcc4.2.4-nosrc.tar.bz2 (http://ftp://ftp.ntcsm.ru/pub/tion9315/crunch-tools-gcc4.2.4-nosrc.tar.bz2)).

Кстати, а патч для bu (на который ссылаются в разделе http://martinwguy.co.uk/martin/crunch/#KnownBugs) добавлял?


Не добавлял. При следующей итерации добавлю (когда буду с uClibc разбираться). Там в основном glibc патчится, для bu только один файлик.
Название: Re: toolchain с gcc-4.2.4-eabi для ТИОН, ТИОН-ПРО и т.п.
Отправлено: faa от 23 Сентября, 2009, 09:53:12
С uClibc-0.9.30 и 0.9.30.1 не собирается - вываливается на
  CC libc/sysdeps/linux/arm/ioperm.os
In file included from ./include/sys/sysctl.h:44,
                 from libc/sysdeps/linux/arm/ioperm.c:46:
/home/CRUS/crunch-tools-gcc4.2.4/eabi/ep93xx-eabi-fast/include/linux/sysctl.h:41: error: expected ':', ',', ';', '}' or '__attribute__' before '*' token
make: *** [libc/sysdeps/linux/arm/ioperm.os] Ошибка 1
ERROR: making uClibc-0.9.30.1 failed

Сборка 0.9.30 в этом же месте вываливается.
Разбираться пока времени нет. Оставил как было - с uClibc-0.9.29.

К bu патчик добавил. Соберется - выложу.
Название: Re: toolchain с gcc-4.2.4-eabi для ТИОН, ТИОН-ПРО и т.п.
Отправлено: faa от 02 Октября, 2009, 13:08:03
С uClibc-0.9.30 и 0.9.30.1 не собирается
Причина была в заголовках ядра - староваты :)
Собрал toolchain с uClibc-0.9.30.1 и gcc-4.2.4. Выложил туда же ftp://ftp.ntcsm.ru/pub/tion9315/ (http://ftp://ftp.ntcsm.ru/pub/tion9315/).
Заголовки ядра свежие от 2.6.30.

Название: Re: toolchain с gcc-4.2.4-eabi для ТИОН, ТИОН-ПРО и т.п.
Отправлено: speculzzz от 23 Октября, 2009, 10:37:50
Собрал toolchain с uClibc-0.9.30.1 и gcc-4.2.4. Выложил туда же ftp://ftp.ntcsm.ru/pub/tion9315/ (http://ftp://ftp.ntcsm.ru/pub/tion9315/).
Заголовки ядра свежие от 2.6.30.

Решил попробовать собранный тулчейн. При запуске любого "ехе-шника" выдается сообщение "Исключение в операции с плавающей точкой" и перывается работа :(. С чем это может быть связано?
Название: Re: toolchain с gcc-4.2.4-eabi для ТИОН, ТИОН-ПРО и т.п.
Отправлено: faa от 23 Октября, 2009, 10:49:54
Решил попробовать собранный тулчейн. При запуске любого "ехе-шника" выдается сообщение "Исключение в операции с плавающей точкой" и перывается работа :(. С чем это может быть связано?

Ходы и логи в студию.
ЗЫ: Телепаты на выставке :)
Название: Re: toolchain с gcc-4.2.4-eabi для ТИОН, ТИОН-ПРО и т.п.
Отправлено: speculzzz от 23 Октября, 2009, 16:33:00
Решил попробовать собранный тулчейн. При запуске любого "ехе-шника" выдается сообщение "Исключение в операции с плавающей точкой" и перывается работа :(. С чем это может быть связано?

Ходы и логи в студию.
ЗЫ: Телепаты на выставке :)
"Собранный" - в смысле тобой который сделан :).
Тут в параллельной ветке ты сказал что под х86_64 собирал тулчейн. А у меня на виртуалке Федора Коре 5 х86 стоит... может с этим связано?

Ну а так вот лог моих действий:
#mkdir /tion/toolchain
#cd /tion/toolchain
#tar -xjf /tmp/gcc-4.2.4-bu-2.19-uclibc-0.9.30.1-eabi-crunch.tar.bz2
#cd ./ep93xx-eabi-fast/bin
#./arm-linux-uclibcgnueabi-gcc -V
Исключение в операции с плавающей точкой
#file ./arm-linux-uclibcgnueabi-gcc
./arm-linux-uclibcgnueabi-gcc: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.6.9, dynamically linked (uses shared libs), for GNU/Linux 2.6.9, not stripped
#

Название: Re: toolchain с gcc-4.2.4-eabi для ТИОН, ТИОН-ПРО и т.п.
Отправлено: faa от 23 Октября, 2009, 19:33:29
Тут в параллельной ветке ты сказал что под х86_64 собирал тулчейн. А у меня на виртуалке Федора Коре 5 х86 стоит... может с этим связано?


FC 5 - это не прошлого века? ;)

Вот под Mandriva 2007.1 x86
[faa@faa bin]$ ./arm-linux-uclibcgnueabi-gcc -V
arm-linux-uclibcgnueabi-gcc: ключ '-V' требует аргумента
[faa@faa bin]$ ./arm-linux-uclibcgnueabi-gcc -v
Используются внутренние спецификации.
Целевая архитектура: arm-linux-uclibcgnueabi
Параметры конфигурации: /home/CRUS/crunch-tools-gcc4.2.4/build/gcc-4.2.4/configure --target=arm-linux-uclibcgnueabi --prefix=/home/CRUS/crunch-tools-gcc4.2.4/eabi/ep93xx-eabi-fast --enable-languages=c,c++ --disable-multilib --disable-libmudflap --disable-libssp --disable-checking --disable-werror
Модель многопотоковости: posix
gcc версия 4.2.4
[faa@faa bin]$ file arm-linux-uclibcgnueabi-gcc
arm-linux-uclibcgnueabi-gcc: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.6.9, dynamically linked (uses shared libs), not stripped

Вот под Mandriva 2009.1 x86_64
[faa@tresh bin]$ ./arm-linux-uclibcgnueabi-gcc -V
arm-linux-uclibcgnueabi-gcc: ключ '-V' требует аргумента
[faa@tresh bin]$ ./arm-linux-uclibcgnueabi-gcc -v
Используются внутренние спецификации.
Целевая архитектура: arm-linux-uclibcgnueabi
Параметры конфигурации: /home/faa/CRUS/crunch-tools-gcc4.2.4/build/gcc-4.2.4/configure --target=arm-linux-uclibcgnueabi --prefix=/home/faa/CRUS/crunch-tools-gcc4.2.4/eabi/ep93xx-eabi-fast --enable-languages=c,c++ --disable-multilib --disable-libmudflap --disable-libssp --disable-checking --disable-werror
Модель многопотоковости: posix
gcc версия 4.2.4
[faa@tresh bin]$
[faa@tresh bin]$ file arm-linux-uclibcgnueabi-gcc
arm-linux-uclibcgnueabi-gcc: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.9, not stripped

Все без виртуалок, нативно.

ЗЫ: Может есть смысл обновить дистрибутив? На дворе уже давно Fedora 11.
Название: Re: toolchain с gcc-4.2.4-eabi для ТИОН, ТИОН-ПРО и т.п.
Отправлено: speculzzz от 26 Октября, 2009, 10:00:47
Под Убунтой 9.04 запустился. Но не факт что в Федоре 11 этот тулчейн запуститься  :)...
В свое время в ФедореКоре ребята решили отпимизировать кое-что в Эльф-формате:
12.2.2.1. Caveats

Fedora developers have introduced changes in the ELF .hash section
that provides symbols for dynamic linking. This new .gnu.hash section,
which is produced with the new default --hash-style=gnu option for
gcc, serves the same purpose as previous hash sections. It provides,
however, an approximately 50% increase in dynamic linking speed.
Binaries and libraries produced with the new hashing function are
incompatible with older glibc and dynamic linker releases. To use the
old-style hashing routines for compatibility with older glibc-based
systems, pass the --hash-style=sysv option instead.

В отладчике ловим сигнал SIGFPE в функции do_lookup_x (в недрах загрузчика эльфовского файла). Так что при необходимости просто пересоберу тулчейн :) (переводить виртуалку под новый дистрибутив пока лениво  :D)
Название: Re: toolchain с gcc-4.2.4-eabi для ТИОН, ТИОН-ПРО и т.п.
Отправлено: yekm от 12 Января, 2010, 18:37:37
http://ru.gentoo-wiki.com/wiki/Кросскомпилирование_с_emerge_(ARM,_MaverickCrunch_FPU)
Название: Re: toolchain с gcc-4.2.4-eabi для ТИОН, ТИОН-ПРО и т.п.
Отправлено: scad от 15 Января, 2010, 09:36:23
Решил попробовать toolchain от faa.
Скачал:
ftp://ftp.ntcsm.ru/pub/tion9315/gcc-4.2.4-bu-2.19-uclibc-0.9.30.1-eabi-crunch.tar.bz2 (http://ftp://ftp.ntcsm.ru/pub/tion9315/gcc-4.2.4-bu-2.19-uclibc-0.9.30.1-eabi-crunch.tar.bz2)
Скачал кратер с vlc-плеером вот отсюда:
http://arm.cirrus.com/files/linux/heelrod/linux-crater_20080104_d-src.tar.bz2
Указал путь к тулчейну. Поправил в файле packages/Makefile.in флаги компилятора
ifeq ($(EABI),y)
KERNEL_CROSS=$(TOOLCHAIN_DIR)/bin/arm-linux-uclibcgnueabi-
TARGET_CROSS=$(TOOLCHAIN_DIR)/bin/arm-linux-uclibcgnueabi-
TARGET_CC='$(TARGET_CROSS)gcc -mcpu=ep9312 -mfpu=maverick -mfloat-abi=softfp -O2 -ffast-math'
TARGET_CXX='$(TARGET_CROSS)g++ -mcpu=ep9312 -mfpu=maverick -mfloat-abi=softfp -O2 -ffast-math'
REAL_GNU_TARGET_NAME=arm-linux-uclibcgnueabi
endif
Выбрал ядро 2.6.21.5. Попытался поставить к нему патч:
ftp://ftp.ntcsm.ru/pub/tion9315/tion9315-2.6.21.5-eabi.patch.bz2 (http://ftp://ftp.ntcsm.ru/pub/tion9315/tion9315-2.6.21.5-eabi.patch.bz2)
Патч не поставился:
patching file /home/CRUS/crater-eabi-orig/kernel/linux-2.6.21.5/arch/arm/configs/tion9315_defconfig
patching file /home/CRUS/crater-eabi-orig/kernel/linux-2.6.21.5/arch/arm/mach-ep93xx/Kconfig      
patching file /home/CRUS/crater-eabi-orig/kernel/linux-2.6.21.5/arch/arm/mach-ep93xx/Makefile      
patching file /home/CRUS/crater-eabi-orig/kernel/linux-2.6.21.5/arch/arm/mach-ep93xx/Makefile.boot
patching file /home/CRUS/crater-eabi-orig/kernel/linux-2.6.21.5/arch/arm/mach-ep93xx/ssp.c        
patching file /home/CRUS/crater-eabi-orig/kernel/linux-2.6.21.5/arch/arm/mach-ep93xx/tion9315.c    
patching file /home/CRUS/crater-eabi-orig/kernel/linux-2.6.21.5/arch/arm/tools/mach-types          
patching file /home/CRUS/crater-eabi-orig/kernel/linux-2.6.21.5/drivers/ide/Kconfig                
patching file /home/CRUS/crater-eabi-orig/kernel/linux-2.6.21.5/drivers/mtd/maps/Kconfig          
patching file /home/CRUS/crater-eabi-orig/kernel/linux-2.6.21.5/drivers/mtd/maps/Makefile          
patching file /home/CRUS/crater-eabi-orig/kernel/linux-2.6.21.5/drivers/mtd/maps/tion9315.c        
patch: **** malformed patch at line 2296: diff -Nur /home/CRUS/crater-eabi-orig/kernel/linux-2.6.21.5/drivers/mtd/nand/Kconfig /home/CRUS/crater-eabi-tion/kernel/linux-2.6.21.5/drivers/mtd/nand/Kconfig  
Ну да ладно... mtd/nnad использовать не будем - КФС на флешке.
Ядро собралось.
А вот busybox не хочет этого делать - не находит файлы assert.h и другие:
applets/applets.c:15:20: error: assert.h: Нет такого файла или каталога                                   
In file included from include/libbb.h:13,                                                                 
                 from include/busybox.h:10,                                                               
                 from applets/applets.c:16:                                                               
include/platform.h:102:23: error: byteswap.h: Нет такого файла или каталога                               
include/platform.h:103:21: error: endian.h: Нет такого файла или каталога                                 
include/platform.h:135:24: error: arpa/inet.h: Нет такого файла или каталога                               
include/platform.h:301:23: error: sys/mount.h: Нет такого файла или каталога                               
In file included from include/busybox.h:10,                                                               
                 from applets/applets.c:16:                                                               
include/libbb.h:15:19: error: ctype.h: Нет такого файла или каталога                                       
include/libbb.h:16:20: error: dirent.h: Нет такого файла или каталога                                     
include/libbb.h:17:19: error: errno.h: Нет такого файла или каталога                                       
include/libbb.h:18:19: error: fcntl.h: Нет такого файла или каталога                                       
include/libbb.h:19:22: error: inttypes.h: Нет такого файла или каталога                                   
include/libbb.h:20:20: error: mntent.h: Нет такого файла или каталога                                     
include/libbb.h:21:19: error: netdb.h: Нет такого файла или каталога                                       
include/libbb.h:22:20: error: setjmp.h: Нет такого файла или каталога                                     
include/libbb.h:23:20: error: signal.h: Нет такого файла или каталога                                     
include/libbb.h:24:19: error: stdio.h: Нет такого файла или каталога                                       
include/libbb.h:25:20: error: stdlib.h: Нет такого файла или каталога                                     
include/libbb.h:28:20: error: string.h: Нет такого файла или каталога                                     
include/libbb.h:30:23: error: sys/ioctl.h: Нет такого файла или каталога                                   
include/libbb.h:31:22: error: sys/mman.h: Нет такого файла или каталога                                   
include/libbb.h:32:24: error: sys/socket.h: Нет такого файла или каталога                                 
include/libbb.h:33:22: error: sys/stat.h: Нет такого файла или каталога                                   
include/libbb.h:34:24: error: sys/statfs.h: Нет такого файла или каталога                                 
include/libbb.h:35:22: error: sys/time.h: Нет такого файла или каталога                                   
include/libbb.h:36:23: error: sys/types.h: Нет такого файла или каталога                                   
include/libbb.h:37:22: error: sys/wait.h: Нет такого файла или каталога                                   
include/libbb.h:38:21: error: termios.h: Нет такого файла или каталога                                     
include/libbb.h:39:18: error: time.h: Нет такого файла или каталога                                       
include/libbb.h:40:20: error: unistd.h: Нет такого файла или каталога                                     
include/libbb.h:41:19: error: utime.h: Нет такого файла или каталога 
Такое ощущение что нет kernel-headers.
Что делать дальше? что я до этого делал не так?

Название: Re: toolchain с gcc-4.2.4-eabi для ТИОН, ТИОН-ПРО и т.п.
Отправлено: scad от 20 Января, 2010, 14:52:10
С предыдущими проблемами разобрался - все дело было в симлинках.
Ядро тоже пропатчил успешно.
Выбрал архитектуру TION9315.
Собрал ядро. Записал в тион - ядро не запускается
Unpacking linux...
и все. У меня ТИОН v1.
Название: Re: toolchain с gcc-4.2.4-eabi для ТИОН, ТИОН-ПРО и т.п.
Отправлено: speculzzz от 20 Января, 2010, 15:44:06
тебе надо еще загрузчик править, чтоб он код платформы TION_EP9315 ядру передавал
Название: Re: toolchain с gcc-4.2.4-eabi для ТИОН, ТИОН-ПРО и т.п.
Отправлено: scad от 21 Января, 2010, 18:16:28
СПАСИБО!
Пропатчил загрузчик. Загрузил ядро 2.6.21.5-eabi, в конфиге SCSI USB support и USB Mass Storage включены, но флешка с КФС не монтируется.
Может кто-нибудь сталкивался с этим?
Название: Re: toolchain с gcc-4.2.4-eabi для ТИОН, ТИОН-ПРО и т.п.
Отправлено: speculzzz от 22 Января, 2010, 10:50:35
Ну такое ядро я не ставил, но вот в 2.6.32.3 флешка не работала без "SCSI disk support"(CONFIG_BLK_DEV_SD=y)
Название: Re: toolchain с gcc-4.2.4-eabi для ТИОН, ТИОН-ПРО и т.п.
Отправлено: scad от 22 Января, 2010, 15:15:51
стоит это все...
и поддержка scsi disk и usb mass storage.
Скачал последний кратер (svn819) с сайте zao-zeo собрал с конфигурацией по умолчанию. проверил что включена поддержка всех типов USB mass storage и scsi. Собирал компилятором 4.1.1 опять же с сайта zao-zeo.
VFS: Unable to mount root fs via NFS, trying floppy.
VFS: Cannot open root device "sdb1" or unknown-block(2,0)
Please append a correct "root=" boot option
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(2,0)
В чем проблема не пойму. У меня нормальный образ собирается только из crater-svn741. С ядром 2.6.20.4
Название: Re: toolchain с gcc-4.2.4-eabi для ТИОН, ТИОН-ПРО и т.п.
Отправлено: faa от 23 Января, 2010, 17:06:15
В чем проблема не пойму. У меня нормальный образ собирается только из crater-svn741. С ядром 2.6.20.4
КФС на внешней USB-флешке?
USB и SCSI драйверы модулями? Если модулями, initrd (или типа того) пользуем?
Если вкомпилены, ядру rootdelay= в cmdline стоит?
Название: Re: toolchain с gcc-4.2.4-eabi для ТИОН, ТИОН-ПРО и т.п.
Отправлено: scad от 26 Января, 2010, 12:58:23
Спасибо. Все заработало. Дело было в rootdelay. Стоял 3 секунды - на 2.6.20.4 флешка успевала монтироваться, а в 2.6.21.5 нет. Сейчас поставил 6 сек. - все ок.

Еще вопрос. Никто vlc - плеер этим тулчейном не пробовал собирать. У меня все собирается, но при запуске не может найти символ
__gnu_uldivmod_helper.
Название: Re: toolchain с gcc-4.2.4-eabi для ТИОН, ТИОН-ПРО и т.п.
Отправлено: scad от 26 Января, 2010, 17:48:29
Собрал.
vlc: Undefined symbol __gnu_uldivmod_helper лечится следующим образом. Добавляем
unsigned long long
__gnu_uldivmod_helper (unsigned long long a,
                        unsigned long long b,
                        unsigned long long *remainder)
{
   unsigned long long quotient;

   quotient = __udivdi3 (a, b);
   *remainder = a - b * quotient;
   return quotient;
}
в vlc.c
В итоге собрал вот этот кратер:http://arm.cirrus.com/files/linux/heelrod/linux-crater_20080104_d-src.tar.bz2 (http://arm.cirrus.com/files/linux/heelrod/linux-crater_20080104_d-src.tar.bz2) (в нем есть vlc - медиа плеер, ogg+ffmpeg кодеки) для ТИОН с ядром 2.6.21.5 и патчами от faa.

Ogg и mp3 файлы проигрываются очень медленно, хотя поддержка сопроцессора включена. Видео не проигрывается.
Ключи при сборке:
-mcpu=ep9312 -mfpu=maverick -mfloat-abi=softfp -O2 -ffast-math

Забыл добавить: Загрузка процессора при проигрывании 5-10%, но все равно проигрывается все медленно.
mpg123 "из коробки" не заработал
Название: Re: toolchain с gcc-4.2.4-eabi для ТИОН, ТИОН-ПРО и т.п.
Отправлено: scad от 27 Января, 2010, 09:49:01
Собрал тоже самое, но тулчейном от cirrus-а (gcc-4.1.2). Все равно при проигрывании mp3 или ogg файлов все играется очень медленно. Может быть дело в alsa или в ядре? Но aplay, arecord работают нормально - файлы записываются и проигрываются...

Да. Еще момент - у меня звуковая карточка не от ЗАО-ЗЭО - просто нашел подходящий модуль от Advantech-овского пром. компа и подключил соответствующие входы-выходы. Кодек там Realtek ALC202 http://www.realtek.com/products/productsView.aspx?Langid=1&PFid=29&Level=5&Conn=4&ProdID=53 (http://www.realtek.com/products/productsView.aspx?Langid=1&PFid=29&Level=5&Conn=4&ProdID=53)

to faa: А вы не пробовали своим тулчейном собирать кодеки и играть звук?
Название: Re: toolchain с gcc-4.2.4-eabi для ТИОН, ТИОН-ПРО и т.п.
Отправлено: faa от 27 Января, 2010, 12:23:16
to faa: А вы не пробовали своим тулчейном собирать кодеки и играть звук?

Звук не пробовал. А fftbench работает.
Но gcc4.2.4-eabi чуть медленнее, чем gcc4.1.2-eabi. Хотя это могли быть погрешности измерений. Особо не исследовал.
Будет время - звук соберу, проверю. Мои платы без звука. Надо Сириуса реанимировать и на нем смотреть :)
Название: Re: toolchain с gcc-4.2.4-eabi для ТИОН, ТИОН-ПРО и т.п.
Отправлено: scad от 12 Мая, 2010, 09:01:24
Случайно обнаружил еще одну вещь. Почему-то GPIO не работает.
Ядро 2.6.21.5.
Патч отсюда: ftp://ftp.ntcsm.ru/pub/tion9315/tion9315-2.6.21.5-eabi.patch.bz2 (http://ftp://ftp.ntcsm.ru/pub/tion9315/tion9315-2.6.21.5-eabi.patch.bz2)

делаю примерно так:
базовый адрес GPIO: 0x80840000
получаю mmap указатель на этот адрес
порт С и порт D (обычные выходы GPIO) находятся по адресам 0x80840008 и 0x8084000C соответственно.
Пишу, читаю байты.
В 2.6.20.4 - все работало, в 2.6.21.5 пишет Segmentation fault при попытке чтения или записи...
Название: Re: toolchain с gcc-4.2.4-eabi для ТИОН, ТИОН-ПРО и т.п.
Отправлено: faa от 12 Мая, 2010, 21:18:37
В 2.6.20.4 - все работало, в 2.6.21.5 пишет Segmentation fault при попытке чтения или записи...
uclibc какая? в 0.9.29 была ошибка - mmap старше 0х7fffffff криво работал.
патч я кидал в группу на гугле.
в тулчейне с фтп этот патч есть
Название: Re: toolchain с gcc-4.2.4-eabi для ТИОН, ТИОН-ПРО и т.п.
Отправлено: scad от 13 Мая, 2010, 11:29:31
Да. действительно патча не было. Наложил патч и на uClibc, которая в crunch-tools и на ту, которая собирается для таргета. Пересобрал тулчейн, потом новым тулчейном пересобрал ядро и uClibc. не помогло ???
Название: Re: toolchain с gcc-4.2.4-eabi для ТИОН, ТИОН-ПРО и т.п.
Отправлено: faa от 13 Мая, 2010, 15:09:58
Да. действительно патча не было. Наложил патч и на uClibc, которая в crunch-tools и на ту, которая собирается для таргета. Пересобрал тулчейн, потом новым тулчейном пересобрал ядро и uClibc. не помогло ???
Исходник в студию.
ЗЫ: У меня devmem работает (и от busybox, и devmem2, и devmem). Свои программки тоже все работают.
ЗЫЗЫ: Вот кусочки от рабочей devmem.
#define MAP_SIZE 1024UL
#define MAP_MASK (MAP_SIZE - 1)

    if((fd = open("/dev/mem", O_RDWR | O_SYNC)) == -1) FATAL;
    printf("/dev/mem opened.\n");
    fflush(stdout);
   
    /* Map one page */
    map_base = mmap(0, MAP_SIZE, PROT_READ | PROT_WRITE, MAP_SHARED, fd, target & ~MAP_MASK);
    if(map_base == (void *) -1) FATAL;
    printf("Memory mapped at address %p.\n", map_base);
    fflush(stdout);
   
    virt_addr = map_base + (target & MAP_MASK);
/* skip */
*((volatile unsigned char *) virt_addr) = writeval;
read_result = *((volatile unsigned char *) virt_addr);