ЗАО «ЗЭО»

Пожалуйста, войдите или зарегистрируйтесь.

Расширенный поиск  

Новости:

Автор Тема: Каково быстодействие Тиона?  (Прочитано 29143 раз)

0 Пользователей и 1 Гость просматривают эту тему.

faa

  • Jr. Member
  • **
  • Оффлайн Оффлайн
  • Сообщений: 72
Re: Каково быстодействие Тиона?
« Ответ #30 : 04 Августа, 2009, 17:17:06 »

С Redboot и 2.6.20.21 получается 6.95 с, надо пересмотреть инициализацию в U-Boot.

ИМХО, времянки контроллера сдрам надо смотреть, если это не эффект от eabi и оптимизации gcc.

ЗЫ: Шину SMC я разгонял - эффект поразительный :)
« Последнее редактирование: 04 Августа, 2009, 17:55:42 от faa »
Записан

nibbler

  • Newbie
  • *
  • Оффлайн Оффлайн
  • Сообщений: 12
Re: Каково быстодействие Тиона?
« Ответ #31 : 05 Августа, 2009, 14:30:43 »

ХАха рано обрадовался.

Цитировать
Что изменили?

Забыл дисплей включить. Таким образом:
U-Boot 1.3.3-svn200
Linux tion-pro 2.6.20.4 #1 PREEMPT Wed Aug 5 12:44:09 EEST 2009 armv4tl unknown (скомпилен gcc4.2.2)

arm-linux-gcc -v
Reading specs from /home/nibbler/eldk/usr/bin/../lib/gcc/arm-linux-gnueabi/4.2.2/specs
Target: arm-linux-gnueabi
Configured with: /opt/eldk/build/arm-2008-11-24/work/usr/src/denx/BUILD/crosstool-0.43/build/gcc-4.2.2-glibc-20070515T2025-eldk/arm-linux-gnueabi/gcc-4.2.2/configure --target=arm-linux-gnueabi --host=i686-host_pc-linux-gnu --prefix=/var/tmp/eldk.ywMqKk/usr/crosstool/gcc-4.2.2-glibc-20070515T2025-eldk/arm-linux-gnueabi --disable-hosted-libstdcxx --with-headers=/var/tmp/eldk.ywMqKk/usr/crosstool/gcc-4.2.2-glibc-20070515T2025-eldk/arm-linux-gnueabi/arm-linux-gnueabi/include --with-local-prefix=/var/tmp/eldk.ywMqKk/usr/crosstool/gcc-4.2.2-glibc-20070515T2025-eldk/arm-linux-gnueabi/arm-linux-gnueabi --disable-nls --enable-threads=posix --enable-symvers=gnu --enable-__cxa_atexit --enable-languages=c,c++,java --enable-shared --enable-c99 --enable-long-long --without-x
Thread model: posix
gcc version 4.2.2

Всё осталось по-прежнему: 20 сек.
 :(

1) ядро 2.6.20.21 с новым патчем linux-2.6.20.21_tion_svn618_200907131105  не компилится
  CC      drivers/mtd/chips/map_ram.o
drivers/mtd/chips/map_ram.c: In function 'map_ram_probe':
drivers/mtd/chips/map_ram.c:69: error: 'struct mtd_info' has no member named 'get_unmapped_area'
make[3]: *** [drivers/mtd/chips/map_ram.o] Ошибка 1
make[2]: *** [drivers/mtd/chips] Ошибка 2
make[1]: *** [drivers/mtd] Ошибка 2
make: *** [drivers] Ошибка 2

2)
Цитировать
надо пересмотреть инициализацию в U-Boot.
Где её можно посмотреть? В исходниках?

3)
Цитировать
ЗЫ: Шину SMC я разгонял - эффект поразительный
А это каким образом?
Записан

faa

  • Jr. Member
  • **
  • Оффлайн Оффлайн
  • Сообщений: 72
Re: Каково быстодействие Тиона?
« Ответ #32 : 05 Августа, 2009, 15:25:08 »


Цитировать
надо пересмотреть инициализацию в U-Boot.
Где её можно посмотреть? В исходниках?

Именно там :)
Смотрел вчера долго на redboot и uboot - по аппаратной части ничего, кроме как разной частоты рефреша у сдрам, не высмотрел.

Цитировать
Цитировать
ЗЫ: Шину SMC я разгонял - эффект поразительный
А это каким образом?


У меня там FPGA висит.
По умолчанию стоит максимальная длительность RD и WR. С ней и программируем FPGA.
        /* set up CS7, 32 bit data bus, idcy 2, wst1 = 0x1ff, rble enabled, wst2 = 0x1ff */
        writel(0x2000ffe1, EP93XX_SMC_SMCBCR7);

А потом:
        /* set up CS7, 32 bit data bus, idcy 2, wst1 = 0x100, rble enabled, wst2 = 0x11 */
        writel(0x20001C81, EP93XX_SMC_SMCBCR7);

Записан

asv

  • Hero Member
  • *****
  • Оффлайн Оффлайн
  • Сообщений: 1405
Re: Каково быстодействие Тиона?
« Ответ #33 : 05 Августа, 2009, 17:00:22 »

> ХАха рано обрадовался.
> Всё осталось по-прежнему: 20 сек.

У меня если экран отключен, то 10 с, если включен, то 20.

Включить
echo 0 > /sys/class/graphics/fb0/blank

Выключить
echo 1 > /sys/class/graphics/fb0/blank


> 1) ядро 2.6.20.21 с новым патчем linux-2.6.20.21_tion_svn618_200907131105  не компилится
>  CC      drivers/mtd/chips/map_ram.o
> drivers/mtd/chips/map_ram.c: In function 'map_ram_probe':
> drivers/mtd/chips/map_ram.c:69: error: 'struct mtd_info' has no member named 'get_unmapped_area'
> make[3]: *** [drivers/mtd/chips/map_ram.o] Ошибка 1
> make[2]: *** [drivers/mtd/chips] Ошибка 2
> make[1]: *** [drivers/mtd] Ошибка 2
> make: *** [drivers] Ошибка 2

С каким defconfig?


> 2) Цитировать
> надо пересмотреть инициализацию в U-Boot.
> Где её можно посмотреть? В исходниках?

Да, но в основном, то что в патче. Я пока ничего не увидел из сравнения
инициализации Redboot и U-Boot. Сейчас думаю посмотреть на состояние
регистров контроллера памяти для обоих после загрузки.
Записан

nibbler

  • Newbie
  • *
  • Оффлайн Оффлайн
  • Сообщений: 12
Re: Каково быстодействие Тиона?
« Ответ #34 : 05 Августа, 2009, 17:12:30 »

c tion_defconfig

А где взять redBoot ?
« Последнее редактирование: 05 Августа, 2009, 18:43:56 от nibbler »
Записан

asv

  • Hero Member
  • *****
  • Оффлайн Оффлайн
  • Сообщений: 1405
Re: Каково быстодействие Тиона?
« Ответ #35 : 05 Августа, 2009, 20:33:03 »

Redboot есть в Crater.

Между Redboot и U-Boot разница есть, надо ещё раз смотреть инициализацию:

R: 0x80060004            0x80000000        GlConfig: Global Configurati
U: 0x80060004            0x80000020        GlConfig: Global Configurati

R: 0x80060008                 0x2F0        RefrshTimr: Refresh Timer
U: 0x80060008                  0x23        RefrshTimr: Refresh Timer

Записан

faa

  • Jr. Member
  • **
  • Оффлайн Оффлайн
  • Сообщений: 72
Re: Каково быстодействие Тиона?
« Ответ #36 : 06 Августа, 2009, 08:40:29 »

Redboot есть в Crater.

Между Redboot и U-Boot разница есть, надо ещё раз смотреть инициализацию:

R: 0x80060004            0x80000000        GlConfig: Global Configurati
U: 0x80060004            0x80000020        GlConfig: Global Configurati

R: 0x80060008                 0x2F0        RefrshTimr: Refresh Timer
U: 0x80060008                  0x23        RefrshTimr: Refresh Timer

R: Частота регенерации (refresh) да загрузки ядра - 0x2f0, после загрузки ядра - 0x2f0.
Можно накрутить до 0x30d - максимум, что можно для такой памяти. (64мсек/8192 = 7,81мксек ~ 7810/Thclk = 781).
Но на скорость это почти не повлияло :)
Попробовал поставить 0x23 - результаты привожу:

/ # devmem 0x80060008
/dev/mem opened.
Memory mapped at address 0x40006000.
Value at address 0x80060008 (0x40006008): 0x2F0
/ # time tstftdi -t
total 153600000
real    0m 6.12s
user    0m 6.09s
sys     0m 0.00s
/ # devmem 0x80060008 w 0x30d
/dev/mem opened.
Memory mapped at address 0x40006000.
Written 0x30D; readback 0x30D
/ # time tstftdi -t
total 153600000
real    0m 6.12s
user    0m 6.09s
sys     0m 0.01s
/ # devmem 0x80060008 w 0x23
/dev/mem opened.
Memory mapped at address 0x40006000.
Written 0x23; readback 0x23
/ # time tstftdi -t
total 153600000
real    0m 19.32s
user    0m 19.28s
sys     0m 0.02s
/ #

ЗЫ: в uboot-е 0 надо дописать к 0x23
/ # devmem 0x80060008 w 0x230
/dev/mem opened.
Memory mapped at address 0x40006000.
Written 0x230; readback 0x230
/ # time tstftdi -t
total 153600000
real    0m 6.19s
user    0m 6.17s
sys     0m 0.00s
/ #

Записан

nibbler

  • Newbie
  • *
  • Оффлайн Оффлайн
  • Сообщений: 12
Re: Каково быстодействие Тиона?
« Ответ #37 : 06 Августа, 2009, 16:06:41 »

уфф
поставил в u-boot 0x2f0 и всё стало супер, а именно: теперь с любыми ядрами скомпиленными любыми компиляторами с почти любыми флагами результат теста 6 сек.
Всем огромное спасибо.

И ещё test.c, который в аттаче работает 4 сек!
Записан

asv

  • Hero Member
  • *****
  • Оффлайн Оффлайн
  • Сообщений: 1405
Re: Каково быстодействие Тиона?
« Ответ #38 : 07 Августа, 2009, 19:57:22 »

Поправил defconfig'и в svn722, теперь должно собираться.

Цитировать
1) ядро 2.6.20.21 с новым патчем linux-2.6.20.21_tion_svn618_200907131105  не компилится
  CC      drivers/mtd/chips/map_ram.o
drivers/mtd/chips/map_ram.c: In function 'map_ram_probe':
drivers/mtd/chips/map_ram.c:69: error: 'struct mtd_info' has no member named 'get_unmapped_area'
make[3]: *** [drivers/mtd/chips/map_ram.o] Ошибка 1
make[2]: *** [drivers/mtd/chips] Ошибка 2
make[1]: *** [drivers/mtd] Ошибка 2
make: *** [drivers] Ошибка 2
Записан