Ник:
Пароль:

Контакты

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

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

Ник:
Пароль:

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

ОбновитьПодробнееВсегоВсего:5
Форум » starterkit.ru » Embedded Linux
About NUC950(w90p950) энд Linux Kernel
Artemius
Добавлено 02.04.2010 00:19 Редактировалось 02.04.2010 00:23 Сообщение: 21
Artemius
0

Пункты: 3655
Регистрация: 02.12.2009
У меня тоже заработал i2c.
Код
Memory policy: ECC disabled, Data cache writeback
CPU type 0x02900910 is NUC910
...
i2c /dev entries driver
nuc900-i2c-p0 nuc900-i2c-p0: bus frequency set to 100 KHz
nuc900-i2c-p0 nuc900-i2c-p0: nuc900 I2C port0 adapter
TCP cubic registered
NET: Registered protocol family 17
Freeing init memory: 3148K
init started: BusyBox v1.16.0 (2010-03-21 13:25:02 GMT)
starting pid 240, tty '': '/etc/init.d/rcS'
mount: mounting /dev/mtdblock0 on /mnt/nand failed: No such file or directory
Initializing random number generator... done.
Starting network...
nuc900-emc nuc900-emc: eth0 is OPENED
route: SIOCADDRT: File exists
starting pid 264, tty '/dev/ttyS0': '/sbin/getty -L ttyS0 115200 vt100'
nuc900-emc nuc900-emc: eth0: Link now 100-FullDuplex


Welcome to NUC950
nuc950 login: root
Dec 31 17:00:06 login[264]: root login on 'ttyS0'
# root
# i2cdetect 0
WARNING! This program can confuse your I2C bus, cause data loss and worse!
I will probe file /dev/i2c-0.
I will probe address range 0x03-0x77.
Continue? [Y/n] Y
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- 48 -- -- -- -- -- -- --
50: 50 -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --
#

Тестировал пока только с помощью i2cdetect.
50 - это 24LC512, 48 - Atmega

Цитата
что-то я не уверен, что смогу приживить usb

Да там вроде несложно, нужно только передать стандартным драйверам OHCI и EHCI где находятся регистры и номер прерывания. Но это только теоретически :).
Я уже начал немного разбираться. Выяснил, что драйвер EHCI даже не запускает Nuvoton'овский probe. Благодаря опыту, полученому при оживлении i2c, понял как запустить. Он, правда, сразу обратился к недопустимой области памяти и вылетел:).

Цитата
сборкой buildroot для nuc950

Очень интересно было бы узнать.
Спуститься к концу Подняться к началу
Персональная информация
Jury093
Добавлено 02.04.2010 09:30 Редактировалось 02.04.2010 17:05 Сообщение: 22
Jury093
4.5

Пункты: 54233
Регистрация: 25.05.2009
Пол: Мужчина
Из: Санкт-Петербург
Цитата
У меня тоже заработал i2c.

мои поздравления.. увы, я по свое обыкновению, не записал последовательность действий. буду еще раз пристраивать по проторенной тропе :)

Цитата
Да там вроде несложно, нужно только передать стандартным драйверам OHCI и EHCI где находятся регистры и номер прерывания. Но это только теоретически :).
Я уже начал немного разбираться. Выяснил, что драйвер EHCI даже не запускает Nuvoton'овский probe. Благодаря опыту, полученому при оживлении i2c, понял как запустить. Он, правда, сразу обратился к недопустимой области памяти и вылетел:).

на мой взгляд, для нормальной работы шины USB нужна связка EHCI-OHCI, ehci-w90x900 присутствует, ohci-часть пробовал взять из старого ядра, по счастью переделок минимум, но пока упрямится. оба драйвера используют расшаренное прерывание, ehci часть должна выдать адрес для ohci. в стеке USB старого ядра есть несколько "костылей" в надстройке хабов..
а драйвер ehci-w90x900 валился вероятно из-за этих строк:
Код
val = __raw_readl(ehci->regs+PHY0_CTR);
val |= ENPHY;
__raw_writel(val, ehci->regs+PHY0_CTR);

в инете встречаются разные вариации этого места, но я пока "недовкурил" что неправильно. если посчитать адрес структуры, то вылет закономерен

Цитата
Цитата
сборкой buildroot для nuc950

Очень интересно было бы узнать.

да чего там интересного. пришлось его переставлять, после того, как "сломал" тот, что шел в системе от Павла :)
использовал инсталлятор /home/user/install/buildroot-2009 - лежит в виртуалке с диска от Павла..
развернул, запустил, сгенерил /root, но не стал заморачиваться с упаковкой - сказал NFS что "это надо раздать по сетке". теперь гружу ядро по сетке, оно ищет указанный NFS и цепляет /root с него..
update вот итог неплодотворных усилий - типа шина поднялась, порты в /dev видны, но ничего из внешних устройств не определяется. где-то надо битиком пощелкать..
Код
ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
NUC900 USB host driver has been start!
w90x900-ehci w90x900-ehci: Nuvoton w90x900 EHCI Host Controller
w90x900-ehci w90x900-ehci: new USB bus registered, assigned bus number 1
w90x900-ehci w90x900-ehci: irq 15, io mem 0xb0005000
w90x900-ehci w90x900-ehci: USB 2.0 started, EHCI 0.95
usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
usb usb1: Product: Nuvoton w90x900 EHCI Host Controller
usb usb1: Manufacturer: Linux 2.6.34-rc2 ehci_hcd
usb usb1: SerialNumber: w90x900 EHCI
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 2 ports detected
ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
ohci_hcd_w90x900_init() c0374920

w90x900-ohci w90x900-ohci: Nuvoton w90x900 ohci Host Controller
w90x900-ohci w90x900-ohci: new USB bus registered, assigned bus number 2
w90x900-ohci w90x900-ohci: irq 15, io mem 0xb0007000
usb usb2: New USB device found, idVendor=1d6b, idProduct=0001
usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
usb usb2: Product: Nuvoton w90x900 ohci Host Controller
usb usb2: Manufacturer: Linux 2.6.34-rc2 ohci_hcd
usb usb2: SerialNumber: w90x900 ohci
hub 2-0:1.0: USB hub found
hub 2-0:1.0: 2 ports detected

На любой вопрос есть любой ответ.
Спуститься к концу Подняться к началу
Персональная информация
Pavel Ivanchenko
Добавлено 03.04.2010 14:51 Сообщение: 23
Pavel Ivanchenko
Admin
4.39

Пункты: 91348
Регистрация: 24.03.2009
Пол: Мужчина
Кстати, можно у китайцев совета спросить по поводу USB.
CYChen18@nuvoton.com - контакт Tom
Спуститься к концу Подняться к началу
Персональная информация
Jury093
Добавлено 03.04.2010 16:51 Сообщение: 24
Jury093
4.5

Пункты: 54233
Регистрация: 25.05.2009
Пол: Мужчина
Из: Санкт-Петербург
Цитата
Кстати, можно у китайцев совета спросить по поводу USB.
CYChen18@nuvoton.com - контакт Tom

Спасибо Павел.
Я уже размышлял, типа написать письмецо на что-то_там@mcuos.com - создателю драйверов ehci-ohci w90x900
да решил пока самому помучиться :)
т.б. я как то приставал к одному китайцу по поводу разборок с usb :)))

На любой вопрос есть любой ответ.
Спуститься к концу Подняться к началу
Персональная информация
Artemius
Добавлено 03.04.2010 22:12 Сообщение: 25
Artemius
0

Пункты: 3655
Регистрация: 02.12.2009
Заработало вроде usb - флешка видится.
Код
console [ttyS0] enabled
brd: module loaded
ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
w90x900-ehci w90x900-ehci: Nuvoton w90x900 EHCI Host Controller
w90x900-ehci w90x900-ehci: new USB bus registered, assigned bus number 1
w90x900-ehci w90x900-ehci: irq 15, io mem 0xb0005000
w90x900-ehci w90x900-ehci: USB 2.0 started, EHCI 0.95
usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
usb usb1: Product: Nuvoton w90x900 EHCI Host Controller
usb usb1: Manufacturer: Linux 2.6.34-rc2 ehci_hcd
usb usb1: SerialNumber: w90x900 EHCI
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 2 ports detected
ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
nuc900-ohci nuc900-ohci: Nuvoton nuc900 ohci Host Controller
nuc900-ohci nuc900-ohci: new USB bus registered, assigned bus number 2
nuc900-ohci nuc900-ohci: irq 15, io mem 0xb0007000
usb usb2: New USB device found, idVendor=1d6b, idProduct=0001
usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
usb usb2: Product: Nuvoton nuc900 ohci Host Controller
usb usb2: Manufacturer: Linux 2.6.34-rc2 ohci_hcd
usb usb2: SerialNumber: nuc900 ohci
hub 1-0:1.0: over-current change on port 1
hub 2-0:1.0: USB hub found
hub 2-0:1.0: 2 ports detected
Initializing USB Mass Storage driver...
usbcore: registered new interface driver usb-storage
USB Mass Storage support registered.
mice: PS/2 mouse device common for all mice
i2c /dev entries driver
i2c res start: C4818000 [PA:B8006000]
nuc900-i2c-p0 nuc900-i2c-p0: bus frequency set to 100 KHz
nuc900-i2c-p0 nuc900-i2c-p0: nuc900 I2C port0 adapter
TCP cubic registered
NET: Registered protocol family 17
Freeing init memory: 3152K

init started: BusyBox v1.16.0 (2010-03-21 13:25:02 GMT)
hub 1-0:1.0: over-current change on port 2

starting pid 268, tty '': '/etc/init.d/rcS'
mount: mounting /dev/mtdblock0 on /mnt/nand failed: No such file or directory
Initializing random number generator... done.
Starting network...
nuc900-emc nuc900-emc: eth0 is OPENED
route: SIOCADDRT: File exists

starting pid 292, tty '/dev/ttyS0': '/sbin/getty -L ttyS0 115200 vt100'
nuc900-emc nuc900-emc: eth0: Link now 100-FullDuplex


Welcome to NUC950

nuc950 login: root
Dec 31 17:00:06 login[292]: root login on 'ttyS0'

# nuc900-emc nuc900-emc: eth0: Link down.
usb 1-2: new high speed USB device using w90x900-ehci and address 2
usb 1-2: New USB device found, idVendor=058f, idProduct=6377
usb 1-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
usb 1-2: Product: Mass Storage Device
usb 1-2: Manufacturer: Generic
usb 1-2: SerialNumber: 920321111113
scsi0 : usb-storage 1-2:1.0
nuc900-emc nuc900-emc: eth0: Link down.
scsi 0:0:0:0: Direct-Access Generic USB SD Reader 1.00 PQ: 0 ANSI: 0
nuc900-emc nuc900-emc: eth0: Link now 100-FullDuplex
scsi 0:0:0:1: Direct-Access Generic USB CF Reader 1.01 PQ: 0 ANSI: 0
scsi 0:0:0:2: Direct-Access Generic USB SM Reader 1.02 PQ: 0 ANSI: 0
sd 0:0:0:0: [sda] 1006592 512-byte logical blocks: (515 MB/491 MiB)
sd 0:0:0:0: [sda] Write Protect is off
sd 0:0:0:0: [sda] Assuming drive cache: write through
sd 0:0:0:1: [sdb] Attached SCSI removable disk
scsi 0:0:0:3: Direct-Access Generic USB MS Reader 1.03 PQ: 0 ANSI: 0
sd 0:0:0:0: [sda] Assuming drive cache: write through
sda:
sda1
sd 0:0:0:2: [sdc] Attached SCSI removable disk
sd 0:0:0:0: [sda] Assuming drive cache: write through
sd 0:0:0:0: [sda] Attached SCSI removable disk
sd 0:0:0:3: [sdd] Attached SCSI removable disk
# cd /mnt/sda1/
# ls -alF
total 1216
drwxrwxrwx 5 root root 16384 Dec 31 17:00 ./
drwxrwxrwt 4 root root 80 Dec 31 17:00 ../
-rwxrwxrwx 1 root root 693 Oct 31 2008 ??? ?????????.txt*
drwxrwxrwx 2 root root 16384 Feb 22 2010 bin/
drwxrwxrwx 2 root root 16384 Feb 22 2010 demo/
-rwxrwxrwx 1 root root 93513 Mar 1 2009 dhrystone*
-rwxrwxrwx 1 root root 164383 Nov 1 2009 font.c*
drwxrwxrwx 4 root root 16384 Jan 4 2010 gui/
-rwxrwxrwx 1 root root 501908 Jan 24 2009 mc*
-rwxrwxrwx 1 root root 346980 Feb 22 2009 nano-X*
-rwxrwxrwx 1 root root 166 Feb 22 2010 start_ts*
# uname -a
Linux nuc950 2.6.34-rc2 #86 PREEMPT Sat Apr 3 22:53:09 BST 2010 armv5tejl GNU/Linux
#

Правда ethernet при вставлении HS-флешки перезапускается. С FS такого не происходит.

Цитата
в стеке USB старого ядра есть несколько "костылей" в надстройке хабов..

Я еще не со всеми из них разобрался, есть еще куда копать.

Цитата
Кстати, можно у китайцев совета спросить по поводу USB.
CYChen18@nuvoton.com - контакт Tom

Этот китаец только по USB или вообще по NUC9xx? Может у него и errata можно попросить?
А если к нему обращаться, то сказать что от вас, или просто что есть проблемы с их процессорами?
Спуститься к концу Подняться к началу
Персональная информация
Pavel Ivanchenko
Добавлено 04.04.2010 11:41 Сообщение: 26
Pavel Ivanchenko
Admin
4.39

Пункты: 91348
Регистрация: 24.03.2009
Пол: Мужчина
Цитата
Этот китаец только по USB или вообще по NUC9xx? Может у него и errata можно попросить?
А если к нему обращаться, то сказать что от вас, или просто что есть проблемы с их процессорами?
Просто изложите суть проблемы.
Спуститься к концу Подняться к началу
Персональная информация
Jury093
Добавлено 04.04.2010 21:44 Сообщение: 27
Jury093
4.5

Пункты: 54233
Регистрация: 25.05.2009
Пол: Мужчина
Из: Санкт-Петербург
Цитата
Он, правда, сразу обратился к недопустимой области памяти и вылетел:)

и как это место обошли? я и так и сяк крутил, и в структуру ehci->regs пробовал добавить элементы - делает вид что работает, но не работает..

Цитата
Заработало вроде usb - флешка видится

отличный результат. что использовали - драйвер ohci из старого ядра или инета или свое?

Цитата
Правда ethernet при вставлении HS-флешки перезапускается. С FS такого не происходит.

может где в обработке прерывания фигня или идет запись не "в свои" порты..

На любой вопрос есть любой ответ.
Спуститься к концу Подняться к началу
Персональная информация
Artemius
Добавлено 04.04.2010 22:19 Сообщение: 28
Artemius
0

Пункты: 3655
Регистрация: 02.12.2009
Цитата
и как это место обошли?

Использовал адреса регистров из hcd структуры, сразу после преобразования реальных адресов в виртуальные. Почему так - абсолютно не понимаю.
Вообще, чем дальше, тем больше я сомневаюсь, что понимаю полностью эти виртуальные адреса. Вот в map.h у всей переферии задефайнены реальные и виртуальные адреса (с _VA_), а как может быть виртуальный адрес известен до компиляции я не пойму. Причем в Nuvoton'овском порте они их все используют, а в 2.6.34 у меня при использовании некоторых из них (USB, I2C) вылетало, а некоторые работают (AIC и еще какие-то).

Цитата
что использовали - драйвер ohci из старого ядра или инета или свое?

Драйвер ohci из старого ядра с небольшими переделками. А вот новый EHCI (w90x900) пришлось переделывать сильнее, много переносить из старого EHCI. Вообще удивляюсь как они это в ядро положили.

Цитата
может где в обработке прерывания фигня или идет запись не "в свои" порты..

Проверил в старом 2.6.17.14 - то же самое, я просто с флешками как поигрался в первые дни, так их больше и не использовал. Наверно блок питания плоховатый, хотя вроде 3А.

Кстати, почитал форум, оказывается вы с этим китайцем уже переписывались. Не получилось его растрясти на что-нибудь интересное, чего не идет в комплекте с платой?
Спуститься к концу Подняться к началу
Персональная информация
Jury093
Добавлено 04.04.2010 23:43 Редактировалось 04.04.2010 23:46 Сообщение: 29
Jury093
4.5

Пункты: 54233
Регистрация: 25.05.2009
Пол: Мужчина
Из: Санкт-Петербург
Цитата
Использовал адреса регистров из hcd структуры, сразу после преобразования реальных адресов в виртуальные. Почему так - абсолютно не понимаю.

спасибо, попробую применить

Цитата
Вообще, чем дальше, тем больше я сомневаюсь, что понимаю полностью эти виртуальные адреса. Вот в map.h у всей переферии задефайнены реальные и виртуальные адреса (с _VA_), а как может быть виртуальный адрес известен до компиляции я не пойму. Причем в Nuvoton'овском порте они их все используют, а в 2.6.34 у меня при использовании некоторых из них (USB, I2C) вылетало, а некоторые работают (AIC и еще какие-то).

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

Цитата
Драйвер ohci из старого ядра с небольшими переделками. А вот новый EHCI (w90x900) пришлось переделывать сильнее, много переносить из старого EHCI. Вообще удивляюсь как они это в ядро положили.

согласен. и, главное, непонятно зачем?.. в историю добавлю мути. запросил я у гугля ohci-w90x900.c, в ответ нарисовался очередной патч (кажется для 2.6.31), который создает.. ohci-w90x900.c и делает еще какие-то исправления.. афигеть! почему тогда его нет в 2.6.34???
завтра сюда тисну или ссылку или текст патча..

Цитата
Проверил в старом 2.6.17.14 - то же самое, я просто с флешками как поигрался в первые дни, так их больше и не использовал. Наверно блок питания плоховатый, хотя вроде 3А.

не очень понял - что тоже самое? при HS флешке сетка падает на 2.6.17 или что?

Цитата
Кстати, почитал форум, оказывается вы с этим китайцем уже переписывались. Не получилось его растрясти на что-нибудь интересное, чего не идет в комплекте с платой?

да, была такая история, сначала долго объяснял суть проблемы (поведение LS/FS периферии в EHCI порт), потом случайно заслал ему конфиг ядра для.. 9260 :)
на что в ответ получил USB ветку исходников и слова типа "у меня все работает, на, ковыряйся сам" :)))
ничего у него не просил - не было надобности. просто сильно хотелось запустить ЮСБ - LCD экран уже вовсю светился, а крыса/клава не работали..

PS кстати о пчелках, все вокруг таинственно молчат - включали ли напрямую в USB-порты обычную клавиатуру или мышь? результат?

На любой вопрос есть любой ответ.
Спуститься к концу Подняться к началу
Персональная информация
Artemius
Добавлено 05.04.2010 00:19 Редактировалось 05.04.2010 00:22 Сообщение: 30
Artemius
0

Пункты: 3655
Регистрация: 02.12.2009
Цитата
не очень понял - что тоже самое? при HS флешке сетка падает на 2.6.17 или что?

Да, тоже падает, в смысле перезапускается.

Цитата
на что в ответ получил USB ветку исходников

А исходники были такие-же как в ядре, прилагаемому к плате или другие? Вдруг китайцы свой порт постепенно развивают, правят ошибки.

Цитата
PS кстати о пчелках, все вокруг таинственно молчат - включали ли напрямую в USB-порты обычную клавиатуру или мышь? результат?

Подключал мышь - в /dev появилось устройство input. Открывал его командой cat - при нажатии на кнопки и перемещении мыши на консоль валились крокозябры - значит мышь данные какие-то слала. Сделать с ней что-то более разумное мои знания в Linux не позволили :).
Еще втыкал FS-флешку - работала.
Спуститься к концу Подняться к началу
Персональная информация
Форум » starterkit.ru » Embedded Linux