Ник:
Пароль:

Контакты

E-mail: info@starterkit.ru
тел.: +7 922 680-21-73
тел.: +7 922 680-21-74
Телеграм: t.me/starterkit_ru
Партнеры:
otladka.com.ua - г.Киев

Способы оплаты

User Info


Добро пожаловать,
Guest

Регистрация или входРегистрация или вход
Потеряли пароль?Потеряли пароль?

Ник:
Пароль:

ПользователейПользователей:2
Поисковых ботовПоисковых ботов:2
ГостейГостей:1

ОбновитьПодробнееВсегоВсего:5
Форум » starterkit.ru » Embedded Linux
Помогите разобраться
ADA007
Добавлено 31.10.2011 15:21 Сообщение: 11
ADA007
0

Пункты: 3113
Регистрация: 01.08.2011
Пол: Мужчина
Вот обратил внимание на такую особенность....
Конфигурационная строка загрузки выбирается при помощи MAGIC_KEY ... у Павла на схеме LRADC0 висит на разъеме....по сути в воздухе....может из-за этого выбирается неверная стока загрузки в linux_prep и ядро распаковывается, но дальше не грузится?
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 31.10.2011 17:42 Сообщение: 12
sasamy
4.70

Пункты: 77331
Регистрация: 14.08.2009
У Павла все предусмотрено :) исходники поправлены - но это все равно не влияет на то что ядро не стартует - тут либо mach_id неправильный передается либо разведено все настолько глючно, что наиболее вероятно.
Спуститься к концу Подняться к началу
Персональная информация
ADA007
Добавлено 31.10.2011 17:55 Сообщение: 13
ADA007
0

Пункты: 3113
Регистрация: 01.08.2011
Пол: Мужчина
Цитата
Разведено все настолько глючно, что наиболее вероятно.

Ну вообще-то, я считаю, что если с usb загрузается при помощи mfg все ок. И с SD u-boot тоже загружается ок. то врядли дело в трассировке самой платы.
Цитата
У Павла все предусмотрено :)

Вообще-то я упражняюсь на ядре sasamy-imx233-56e698a.tar.gz взятого с ftp. Может там что-то не учтено...или мне стоит другое ядро попробовать?
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 31.10.2011 18:24 Редактировалось 31.10.2011 18:25 Сообщение: 14
sasamy
4.70

Пункты: 77331
Регистрация: 14.08.2009
Цитата

Вообще-то я упражняюсь на ядре sasamy-imx233-56e698a.tar.gz взятого с ftp. Может там что-то не учтено...или мне стоит другое ядро попробовать?


Попробуйте - я же не против :) наверняка найдете то которое с некоторой глючностью дойдет до приглашения входа в систему.
Спуститься к концу Подняться к началу
Персональная информация
Pavel Ivanchenko
Добавлено 31.10.2011 19:31 Сообщение: 15
Pavel Ivanchenko
Admin
4.39

Пункты: 91430
Регистрация: 24.03.2009
Пол: Мужчина
Цитата
У Павла все предусмотрено :) исходники поправлены - но это все равно не влияет на то что ядро не стартует - тут либо mach_id неправильный передается либо разведено все настолько глючно, что наиболее вероятно.

Проверить не сложно - memtester на свободный объем памяти (успешно проходящий сутки-двое) уже скажет с вероятностью 0,95 в этом причина или нет.

Цитата
Вообще-то я упражняюсь на ядре sasamy-imx233-56e698a.tar.gz взятого с ftp. Может там что-то не учтено...или мне стоит другое ядро попробовать?

Может что то и не учтено, только кроме вас, вряд ли кто это выяснит.

Из своих наблюдений, iMX233 самый своенравный процессор и даже спустя относительно внушительное количество выпущенных изделий получаю платы "головоломки", например, нетак давно пришлось заменить DDR чип на новой плате, что говорит в пользу того, что тайминги нужно-можно еще крутить (40 регистров ;)), постоянно приходится подбирать кварц чтобы амплитуда генератора была не менее 250мВ ...
В следующей ревизии, как говорится "от греха подальше" питание периферии 3,3В обязательно перенесу на внешний стабилизатор.
Спуститься к концу Подняться к началу
Персональная информация
ADA007
Добавлено 31.10.2011 23:46 Сообщение: 16
ADA007
0

Пункты: 3113
Регистрация: 01.08.2011
Пол: Мужчина
Цитата

Проверить не сложно - memtester на свободный объем памяти (успешно проходящий сутки-двое) уже скажет с вероятностью 0,95 в этом причина или нет.

Проверил в u-boot сегодня...вот такой результат
Код

PowerPrep start initialize power...
Battery Voltage = 0.84V
No battery or bad battery detected!!!.Disabling battery voltage me0
EMI_CTRL 0x1C084040
FRAC 0x92926192
init_ddr_mt46v32m16_133Mhz
power 0x00310710
Frac 0x92926192
start change cpu freq
hbus 0x00000003
cpu 0x00010001


U-Boot 2009.08 (Oct 09 2011 - 01:07:32)

DRAM: 32 MB
Using default environment

In: serial
Out: serial
Err: serial
Hit any key to stop autoboot: 0
stmp378x U-Boot > mtest
Pattern 00000000 Writing... Reading...
Mem error @ 0x003F5CB0: found 00000000, expected 00000001

Mem error @ 0x003F5CB4: found 00000000, expected 00000002

Mem error @ 0x003F5CB8: found 00000000, expected 00000003

Mem error @ 0x003F5CBC: found 00000000, expected 00000004

Mem error @ 0x003F5CC0: found 00000000, expected 00000005

Mem error @ 0x003F5CC4: found 00000000, expected 00000006


иногда встречается такое
Код

Mem error @ 0x003F6E90: found 1B7BAB4D, expected 00000479

Mem error @ 0x003F6E94: found 9BF503FD, expected 0000047A

Mem error @ 0x003F6E98: found 1EFF9EF6, expected 0000047B

Mem error @ 0x003F6E9C: found 883F918F, expected 0000047C

Mem error @ 0x003F6EA0: found E618687A, expected 0000047D

Mem error @ 0x003F6EA4: found 431D5E30, expected 0000047E

Mem error @ 0x003F6EA8: found FDB256F7, expected 0000047F

Mem error @ 0x003F6EAC: found CE849C7D, expected 00000480

Mem error @ 0x003F6EB0: found CFE8CA55, expected 00000481

Mem error @ 0x003F6EB4: found 633E6F57, expected 00000482



Цитата

Может что то и не учтено, только кроме вас, вряд ли кто это выяснит.

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

Получается мне надо boot_prep крутить в регистрах настройки DDR, пока тест памяти не начнет проходить?

P.S. Сори за оффтоп...Павел, а почему вы больше не делаете платы на freescale? Ведь это одна из ведущих фирм-производителей, на нее многие ровняются.
Спуститься к концу Подняться к началу
Персональная информация
Pavel Ivanchenko
Добавлено 01.11.2011 08:41 Сообщение: 17
Pavel Ivanchenko
Admin
4.39

Пункты: 91430
Регистрация: 24.03.2009
Пол: Мужчина
Ну даете, у вас даже мемтестер ловит ошибки и тихим сапом справшиваете "почему оно глючит?" ...

Цитата
Получается мне надо boot_prep крутить в регистрах настройки DDR, пока тест памяти не начнет проходить?

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

Цитата
P.S. Сори за оффтоп...Павел, а почему вы больше не делаете платы на freescale? Ведь это одна из ведущих фирм-производителей, на нее многие ровняются.
SK-iMX535
Спуститься к концу Подняться к началу
Персональная информация
ADA007
Добавлено 01.11.2011 20:14 Редактировалось 02.11.2011 16:01 Сообщение: 18
ADA007
0

Пункты: 3113
Регистрация: 01.08.2011
Пол: Мужчина
Цитата

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

Существует ли вообще пример правильной трассировки этой DDR , чтоб я мог сравнить со своей ПП? А то к хорошему осциллу у меня доступ ограниченный, чтоб тайминги по ДШ сравнить. Я порылся в и-нете и ничего подобного не подвернулось....
Спуститься к концу Подняться к началу
Персональная информация
ADA007
Добавлено 02.11.2011 22:39 Сообщение: 19
ADA007
0

Пункты: 3113
Регистрация: 01.08.2011
Пол: Мужчина
Значит, что получилось ... отписываюсь чисто из приличия...
В bootlets включил циклицескую запись и считывание DDR .... с адреса 0x40000000 аж по самое нихочу 0x5fffffff. Погорнял минут 10 .... error-ов не выявлено было ни одного!
Нашел утилиту sbtool ,которая разбирает sb на составные части...если надо, могу исходники скинуть...взял оттуда boot_prep , все остальное подкинул свое, а именно linux_prep... power_prep выбросил вообще...подцепил ядро 2.6.31от sasamy с ftp .... бо че-то 2.6.35 не пошел =((
в итоге имею лог загрузки =
Код

Aug 21 200914:45:42
poweron_pll
EMI_CTRL 0x1C084040
FRAC 0x92926192
init_clock
init_ddr_mt46v32m16_133Mhz
exit self refresh timeout
power 0x00310710
Frac 0x92926192
start change cpu freq
hbus 0x00000003
cpu 0x00010001
Uncompressing Linux........................................................................................................................
.................................................... done, booting the kernel.
Linux version 2.6.31-203-gee1fdae-updater (ada@Celeron) (gcc version 4.3.3 (Sourcery G++ Lite 2009q1-203) ) #8 PREEMPT Sun Oct 30 01:11:17
EEST 2011
CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=00053177
CPU: VIVT data cache, VIVT instruction cache
Machine: STMP378X
Memory policy: ECC disabled, Data cache writeback
INITRD: 0x40400000+0x00400000 overlaps in-use memory region - disabling initrd
Built 1 zonelists in Zone order, mobility grouping on. Total pages: 16256
Kernel command line: -e console=ttyAM0,115200 ssp1=spi1 ssp2=mmc lcd_panel=tvenc_pal root=/dev/mmcblk0p2 rootwait
PID hash table entries: 256 (order: 8, 1024 bytes)
Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)
Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)
Memory: 64MB = 64MB total
Memory: 59312KB available (2164K code, 266K data, 3064K init, 0K highmem)
Hierarchical RCU implementation.
NR_IRQS:224
Console: colour dummy device 80x30
console [ttyAM0] enabled
Calibrating delay loop... 199.88 BogoMIPS (lpj=999424)
Mount-cache hash table entries: 512
CPU: Testing write buffer coherency: ok
regulator: core version 0.5
regulator: vddd: 800 <--> 1575 mV fast normal
regulator: vddd_bo: 800 <--> 1575 mV fast normal
regulator: vdda: 1500 <--> 2275 mV fast normal
regulator: vddio: 2800 <--> 3575 mV fast normal
regulator: overall_current: 0 <--> 2147483 mA fast normal
regulator: stmp3xxx-keyboard-1: 0 <--> 2147483 mA fast normal
regulator: stmp3xxx_ts-1: 0 <--> 2147483 mA fast normal
regulator: stmp3xxx-appuart-1: 0 <--> 2147483 mA fast normal
regulator: stmp3xxx-dbguart-1: 0 <--> 2147483 mA fast normal
regulator: stmp3xxx_wdt-1: 0 <--> 2147483 mA fast normal
regulator: stmp3xxx-rtc-1: 0 <--> 2147483 mA fast normal
regulator: stmp3xxx-fb-1: 0 <--> 2147483 mA fast normal
regulator: stmp3xxx-bl-1: 0 <--> 2147483 mA fast normal
regulator: stmp3xxx-rotdec-1: 0 <--> 2147483 mA fast normal
regulator: i2c_stmp3xxx-1: 0 <--> 2147483 mA fast normal
regulator: stmp3xxx-persistent-1: 0 <--> 2147483 mA fast normal
regulator: stmp3xxx-dcpboot-1: 0 <--> 2147483 mA fast normal
regulator: stmp3xxx-dcp-1: 0 <--> 2147483 mA fast normal
regulator: stmp3xxx-battery-1: 0 <--> 2147483 mA fast normal
regulator: stmp3xxx-pxp-1: 0 <--> 2147483 mA fast normal
regulator: mmc_ssp-1: 0 <--> 2147483 mA fast normal
regulator: mmc_ssp-2: 0 <--> 2147483 mA fast normal
regulator: charger-1: 0 <--> 2147483 mA fast normal
regulator: power-test-1: 0 <--> 2147483 mA fast normal
regulator: cpufreq-1: 0 <--> 2147483 mA fast normal
bio: create slab <bio-0> at 0
JFFS2 version 2.2. (NAND) (SUMMARY) &#65533;© 2001-2006 Red Hat, Inc.
msgmni has been set to 115
io scheduler noop registered
io scheduler anticipatory registered
io scheduler deadline registered
io scheduler cfq registered (default)
Console: switching to colour frame buffer device 60x34
stmp3xxx-dbguart: ttyAM0 at MMIO 0x80070000 (irq = 0) is a Debug UART
GPMI NAND Flash driver
bch_init: initialized
ecc8_init: initialized
stmp3xxx_ssp stmp3xxx_ssp.1: Max possible speed 120000 = 120000/2 kHz
stmp3xxx_ssp stmp3xxx_ssp.1: at 0x80010000 mapped to 0xF0010000, irq=14, bus 1, DMA
mmc0: new SD card at address b368
mmcblk0: mmc0:b368 NCard 1.86 GiB
mmcblk0: p1 p2
Freeing init memory: 3064K
init started: BusyBox v1.15.0 ()
starting pid 362, tty '': '/etc/rc.d/rcS'
Mounting /proc and /sys
Setting the hostname to freescale
Mounting filesystems
mount: mounting devpts on /dev/pts failed: No such device
mount: mounting usbfs on /proc/bus/usb failed: No such file or directory
Starting inetd:
starting pid 399, tty '': '/sbin/getty -L ttyAM0 115200 vt100'

arm-none-linux-gnueabi-gcc (Sourcery G++ Lite 2009q1-203) 4.3.3
root filesystem built on Sat, 29 Oct 2011 22:47:49 +0300
Freescale Semiconductor, Inc.

freescale login:

И так же
Код

$ cat /proc/cpuinfo
Processor : ARM926EJ-S rev 5 (v5l)
BogoMIPS : 231.44
Features : swp half thumb fastmult edsp java
CPU implementer : 0x41
CPU architecture: 5TEJ
CPU variant : 0x0
CPU part : 0x926
CPU revision : 5

Hardware : STMP378X
Revision : 0000
Serial : 0000000000000000

Тоесть дело было в boot_prep ... что именно - это еще предстоит узнать...
Не понятно про BogoMIPS....он пишет, что 231.44 ...Это 231 МГц или 454 МГц....как вообще они пересчитываются? я так понимаю формула пересчета для frescale уникальная...Ибо по определению это кол-во операций простоя проца в секунду. Если я не прав - поправте меня...
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 02.11.2011 23:20 Редактировалось 02.11.2011 23:23 Сообщение: 20
sasamy
4.70

Пункты: 77331
Регистрация: 14.08.2009
Цитата

Тоесть дело было в boot_prep


Возможно там другие настройки пинов EMI - voltage and drive strength, это кстати иногда помогает "сгладить" помехи.

Цитата

В bootlets включил циклицескую запись и считывание DDR .... с адреса 0x40000000 аж по самое нихочу 0x5fffffff. Погорнял минут 10 .... error-ов не выявлено было ни одного!


запустите memtester, он есть в buildroot - там настоящий тест, тогда будет уверенность что дело не в памяти, ибо вот это

Цитата

че-то 2.6.35 не пошел =((


говорит что что-то все же не так (вам видней что именно, но оно работает - у меня несколько плат работали с этим ядром в режиме 24х7)

Цитата

Не понятно про BogoMIPS....он пишет, что 231.44 ...Это 231 МГц или 454 МГц....как вообще они пересчитываются?


Для armv5 богомипсы - это ~частота ядра пополам, тоесть 231.44 богомипсов соответствует частоте ядра ~450 МГц, для armv7 - один к одному. Где-то видел таблицув Инете для Linux, там про это написано.
Спуститься к концу Подняться к началу
Персональная информация
Форум » starterkit.ru » Embedded Linux