Ник:
Пароль:

Контакты

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

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

Ник:
Пароль:

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

ОбновитьПодробнееВсегоВсего:7
Форум » starterkit.ru » Отладочные платы » SK-iMX233
SK-MIMX233 телодвижения ...
sasamy
Добавлено 11.02.2010 00:06 Редактировалось 11.02.2010 00:08 Сообщение: 71
sasamy
4.70

Пункты: 77263
Регистрация: 14.08.2009
Прояснился процесс загрузки, он описан здесь
http://www.freescale.com/files/32bit/doc/user_guide/evk2009_12_imx23_Linux_UG.pdf?fpsp=1&WT_TYPE=Users%20Guides&WT_VENDOR=FREESCALE&WT_FILE_FORMAT=pdf&WT_ASSET=Documentation
смысл - внутренний bootrom распознает так называемые boot stream которые как раз описываются файлами sb. Чтобы записать бутстрим в nand нужна утилита kobs-ng
#kobs-ng -d imx233_linux.sb
т.о. нужно каким-то образом получить этот бутсрим (в "методичке" :) фрискейла это делают через nfs ) и записать этой утилиткой. Бутсримы создаются двух типов :
1 напрямую загрузка ядра
2 убутовый бутстрим (написано редбут не поддерживается тогда зачем он там в sdk мне совсем непонятно).
В апдейтере как раз 1 - сразу запускается ядро после бутстрапа. В любом случае нужно будет поднимать сеть. Надо посмотреть usb gadget, в другой методичке написано что линуксовый дравер поддерживает ethernet эмуляцию, может через тот же usb законнектиться. В общем вроде все ясно. rootfs аналогично - получить доступ к имиджу, уже никаких sb не нужно - записать только уже обычнной nand_write на раздел mtd или распаковать в раздел с ubifs.
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 11.02.2010 00:34 Редактировалось 11.02.2010 00:51 Сообщение: 72
sasamy
4.70

Пункты: 77263
Регистрация: 14.08.2009
В общем - бутрому без разницы откуда скармливают ему эти sb файлы, хоть с usb хоть с sd или nand, главное их правильно записать, но это все одни и теже данные из файлов sb. Порадовала там другая методичка про linux - похоже все возможности камня реализованы в линуксовых драйверах полностью, включая аппаратное шифрование и переключение видеовыхода lcd/tv из коробки, изменение частоты процессора "налету" и тд..

Там все nfs предлагают, но у нас утилита вендовая, а эмулятор с линуксом еще бриджить нужно что бы сеть заработала, можно подругому сделать - расшарить любую папку вендовую через сеть майкрософт а корневую фс собрать с samba+fuse - например smbnetfs и при помощи него смонтировать сетевую шару и клади туда что хочешь.
Спуститься к концу Подняться к началу
Персональная информация
Pavel Ivanchenko
Добавлено 11.02.2010 08:28 Редактировалось 11.02.2010 08:50 Сообщение: 73
Pavel Ivanchenko
Admin
4.39

Пункты: 91424
Регистрация: 24.03.2009
Пол: Мужчина
Я решил загрузку с NAND флешки оставить на самый конец (все равно в каком-нибудь виде сделаю), сейчас проверю драйвер NAND и USB хост, а потом за драйвер EMAC+PHY сети возьмусь.
Спуститься к концу Подняться к началу
Персональная информация
Pavel Ivanchenko
Добавлено 11.02.2010 08:50 Редактировалось 11.02.2010 09:36 Сообщение: 74
Pavel Ivanchenko
Admin
4.39

Пункты: 91424
Регистрация: 24.03.2009
Пол: Мужчина
Забавно, ложу твой конфиг в ядро, запускаю сборку, она тихим сапом меняет его на свой ...
Так продолжалось, пока дефконфиги iMX233 из самого ядра не удалил.
Спуститься к концу Подняться к началу
Персональная информация
Pavel Ivanchenko
Добавлено 11.02.2010 11:03 Редактировалось 11.02.2010 11:06 Сообщение: 75
Pavel Ivanchenko
Admin
4.39

Пункты: 91424
Регистрация: 24.03.2009
Пол: Мужчина
Итак, с NAND флешкой все в порядке, а вот с USB какая то неувязочка, лог:
Код
Linux version 2.6.28-419-g12a78a3-updater (root@debian) (gcc version 4.1.2) #6 Wed Feb 10 05:53:45 EST 2010
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
Built 1 zonelists in Zone order, mobility grouping on. Total pages: 16256
Kernel command line: console=ttyAM0,115200n8 lcd_panel=lms350 ssp1=spi1 nfsroot=192.167.10.1:/opt/ea-linux/freescale_stmp378x/rootfs,rsize=1024,wsize=1024 ip=192.167.10.2:192.167.10.1::::eth0:off
PID hash table entries: 256 (order: 8, 1024 bytes)
console [ttyAM0] enabled
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: 58580KB available (1864K code, 244K data, 80K init)
Calibrating delay loop... 97.89 BogoMIPS (lpj=489472)
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: stmp37xx-appuart-1: 0 <--> 2147483 mA fast normal
regulator: stmp37xx-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_stmp-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-mtest-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
SCSI subsystem initialized
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
Unpacking initramfs... done
Freeing initrd memory: 4096K
JFFS2 version 2.2. (NAND) (SUMMARY) &#194;© 2001-2006 Red Hat, Inc.
msgmni has been set to 122
io scheduler noop registered
io scheduler cfq registered (default)
stmp37xx-dbguart.0: ttyAM0 at MMIO 0xf0070000 (irq = 0) is a Debug UART
Driver 'sd' needs updating - please use bus_type methods
__stmp3xxx_reset_block(f000a000): timeout when resetting
__stmp3xxx_reset_block(f000a000): timeout when resetting
__stmp3xxx_reset_block(f000a000): timeout when resetting
__stmp3xxx_reset_block(f000a000): timeout when resetting
__stmp3xxx_reset_block(f000a000): timeout when resetting
__stmp3xxx_reset_block(f000a000): timeout when resetting
__stmp3xxx_reset_block(f000a000): timeout when resetting
__stmp3xxx_reset_block(f000a000): timeout when resetting
__stmp3xxx_reset_block(f000a000): timeout when resetting
__stmp3xxx_reset_block(f000a000): timeout when resetting
ecc8_init: initialized
NAND device: Manufacturer ID: 0xec, Chip ID: 0xda (Samsung NAND 256MiB 3,3V 8-bit)
Scanning for NCB...
GPMI: Checking page 0x00000000
GPMI: Signature found at 0x00000000
GPMI: Valid NCB found at 0x00000000
Setting discovered timings: 80:60:25:6
Scanning device for bad blocks
Bad eraseblock 1383 at 0x0ace0000
Bad eraseblock 2046 at 0x0ffc0000
cmdlinepart partition parsing not available
gpmi gpmi: Using static partition definition
Creating 2 MTD partitions on "gpmi":
0x00000000-0x01400000 : "Boot#0"
0x01500000-0x10000000 : "UBI#0"
stmp37xx_ssp stmp37xx_ssp.1: Max possible speed 120000 = 120000/2 kHz
stmp37xx_ssp stmp37xx_ssp.1: at 0xF0010000 mapped to 0xF0010000, irq=14, bus 1, DMA
usbmon: debugfs is not available
ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
fsl-ehci fsl-ehci: Freescale On-Chip EHCI Host Controller
fsl-ehci fsl-ehci: new USB bus registered, assigned bus number 1
fsl-ehci fsl-ehci: irq 11, io mem 0xf0080000
fsl-ehci fsl-ehci: USB 2.0 started, EHCI 1.00
usb usb1: configuration #1 chosen from 1 choice
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 1 port detected
Initializing USB Mass Storage driver...
usbcore: registered new interface driver usb-storage
USB Mass Storage support registered.
Freeing init memory: 80K
init started: BusyBox v1.11.2 ()
starting pid 212, tty '': '/etc/rc.d/rcS'
Mounting /proc and /sys
Setting the hostname to freescale
Mounting filesystems
mount: mounting shm on /dev/shm failed: Invalid argument
mount: mounting rwfs on /mnt/rwfs failed: Invalid argument
mount: mounting usbfs on /proc/bus/usb failed: No such file or directory
starting pid 235, tty '': '/sbin/getty -L ttyAM0 115200 vt100'

Если после загрузки системы вставить USB флешку и подать на нее питание (через джампер), система тут же ресетится.
Я в конфиге ядра вроде все упоминания о USB dev убрал, но смущает строчка в логе usbcore: registered new device driver usb
Попробовал натянуть sb обертку на систему с минимальным профилем, пока собрать без ошибок не могу ...

SDK с ядром 2.6.31 здесь
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 11.02.2010 11:18 Редактировалось 11.02.2010 11:36 Сообщение: 76
sasamy
4.70

Пункты: 77263
Регистрация: 14.08.2009
Цитата
Попробовал натянуть sb обертку на систему с минимальным профилем, пока собрать без ошибок не могу ...


Думаю это вообще можно не делать вручную - достаточно просто в конфиге ядра в разделе initramfs указать путь к корневухе, ядро само сделает монолитный образ который система сборки завернет сама в sb
imx233_linux.sb - это она всегда делает.
Можно вообще подсунуть rootfs от мнуком или самов, процессор тот же самый, будет все работать. Единственно на устройства надо симлинки сделать ttyS0 -> ttyAM0 или вообще скопировать /dev которой тут статический есть.

Выложи конфиг ядра, посмотрю что там творится :)

Интеренет у меня не шустрый - пишет окончание скачивания через 4 ч...
Спуститься к концу Подняться к началу
Персональная информация
Pavel Ivanchenko
Добавлено 11.02.2010 11:45 Сообщение: 77
Pavel Ivanchenko
Admin
4.39

Пункты: 91424
Регистрация: 24.03.2009
Пол: Мужчина
Цитата
Думаю это вообще можно не делать вручную - достаточно просто в конфиге ядра в разделе initramfs указать путь к корневухе, ядро само сделает монолитный образ который система сборки завернет сама в sb

"nnj я как раз и пытался делать, когда сначала на минимальном профиле сидел, она корневуху в ядро включает а imx233_linux.sb не обновляла (хотя тогда я позже заметил чтто нужно rootfs снести), позже попробую ...

По поводу USB из электрических наблюдений, на USB пинах после включения (т.е. когда плата как dev) на одном 0,5В на другом 1,5В, после загрузки системы на обоих линиях 0 (очень странно), сложно сказать, это 0 "подтянутые" или логические (судя по всему логические, раз сбрасывается).
Для чистоты эксперимента, питание USB флешки завел через отдельный БП, но все осталось без изменений.

Attachment file: uploads/forum/forum-1bCO4iZGVW-7.zip
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 11.02.2010 12:06 Редактировалось 11.02.2010 12:07 Сообщение: 78
sasamy
4.70

Пункты: 77263
Регистрация: 14.08.2009
Может попробовать пока без OTG ?
Support for DR host port on Freescale controller
кстати есть такая особенность у этих камней - их порт ehci не работает с низкоскоростными устройствами, их если что нужно цеплять через внешний скоростной хаб.
Спуститься к концу Подняться к началу
Персональная информация
Pavel Ivanchenko
Добавлено 11.02.2010 12:22 Редактировалось 11.02.2010 12:22 Сообщение: 79
Pavel Ivanchenko
Admin
4.39

Пункты: 91424
Регистрация: 24.03.2009
Пол: Мужчина
Действительно, про OTG забыл, там с ним еще логика опроса-подключения должна быть связана, отключил но без изменений :(

Сейчас наконец собрал систему (с корневухой) в sb обертке с минимальным профилем, зараза, в логе получаю строчку
INITRD: 0x40400000+0x00400000 overlaps in-use memory region - disabling initrd, а в конце пытается по сети корневухв подключить
Спуститься к концу Подняться к началу
Персональная информация
Pavel Ivanchenko
Добавлено 11.02.2010 13:35 Сообщение: 80
Pavel Ivanchenko
Admin
4.39

Пункты: 91424
Регистрация: 24.03.2009
Пол: Мужчина
Блин, черт ногу сломит с местным USB ...
В "оригинале" USB подключается к OTG (mini-B) разъему, питание управляется через GPMI_CE2, а нанализ ID пина OTG разема идет на SSP1_DETECT ...
Такое чуство, что логика работы отдельно хоста в BSP не предусмотрена и надо наверное рыть в сторону какого то "переключения" режима.
По приятному стечению обстоятельств SSP1_DETECT выведен у меня на внешний разъем, ради эксперимента установил там 1 и посмотрел на поведение, ничего не изменилось.
Спуститься к концу Подняться к началу
Персональная информация
Форум » starterkit.ru » Отладочные платы » SK-iMX233