Ник:
Пароль:

Контакты

E-mail: info@starterkit.ru
тел.: +7 922 680-21-73
тел.: +7 922 680-21-74
Телеграм: t.me/starterkit_ru

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

User Info


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

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

Ник:
Пароль:

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

ОбновитьПодробнееВсегоВсего:4
Форум » starterkit.ru » Процессорные модули » SK-iMX6S-OEM(-WiFi)
SK-iMX6S-OEM и linux-2.6.35
leocat3
Добавлено 31.08.2014 15:04
0
Сообщение: 1
leocat3
0

Пункты: 2665
Регистрация: 04.08.2011
С загрузчиком u-boot-2014.01-sk
Возможно, если да, то как?
То, что версия ядра 3 личше - я в курсе.
Только не дозрел я до неё сознанием.
Не смог не то, что SPI user mode сделать, но даже поменять
.bus num; .chip_select в spi0.0 b spi3.0.
Файл board-mx6q_sabrelite.c - хоть заредактируйся...
Спуститься к концу Подняться к началу
Персональная информация
Jury093
Добавлено 31.08.2014 15:30 Сообщение: 2
Jury093
4.5

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

На любой вопрос есть любой ответ.
Спуститься к концу Подняться к началу
Персональная информация
leocat3
Добавлено 31.08.2014 17:14 Сообщение: 3
leocat3
0

Пункты: 2665
Регистрация: 04.08.2011
Цитата
теперь все то же самое, но внятно:
чего хотим, чего делаем, что не получается, как определяем..


Да вроде внятно написал...
Хотим поставить linux-2.6.35 на SK-iMX6S-OEM
С UBIFS без компрессии + старт с u-boot-2014.01-sk.

Пока ничего не сделал. Пробовал "чинить" файл board-mx6q_sabrelite.c по образу и подобию v2.6. Не прокатило.
Пробовал менять bus_num ( допустим с 0 на 1 и с 3 на 2 ), на целевой системе, как были spi0.0 и spi3.0, так и остались.

/sys/bus/spi/devices/
lrwxrwxrwx 1 root root 0 Jan 1 04:29 spi0.0
lrwxrwxrwx 1 root root 0 Jan 1 04:29 spi3.0

Сделать SPI user mode ( /dev/spix.x ) как в v 2.6 - та же песня.

В версии 2.6 таких проблем не было.
Да и тормоза из-за компресии файловой системы - еще те.
Пока приложение/файл не кэшируется, то старт 2-4 секунды обеспечен.

Какие буквари курить?

Да и про саму плату: watchdog как независимый таймер в принципе не работает. У платы есть слабое место: высокая чувствительность к внешним электромангитным полям. Попробуйте стартануть watchdog и потом проведите пальцем руки ( имитация помех, вторую руку держим на корпусе ) между процессором и NAND по емкостям. Останов системы обеспечен, и ждать срабатывания аппаратного watchdog-а можно вечно.
Спуститься к концу Подняться к началу
Персональная информация
Pavel Ivanchenko
Добавлено 31.08.2014 17:33 Редактировалось 31.08.2014 17:35 Сообщение: 4
Pavel Ivanchenko
Admin
4.39

Пункты: 92788
Регистрация: 24.03.2009
Пол: Мужчина
Вы так изъясняетесь, что читающий получает вывих мозга ...
Цитата
Пока ничего не сделал. Пробовал "чинить" файл board-mx6q_sabrelite.c по образу и подобию v2.6. Не прокатило.
Пробовал менять bus_num ( допустим с 0 на 1 и с 3 на 2 ), на целевой системе, как были spi0.0 и spi3.0, так и остались.
Извините, но это какой то словесный бред.

Цитата
Да и про саму плату: watchdog как независимый таймер в принципе не работает.
Watchdog на imx6 работает нормально, так же загадка заявления, какое он имеет отношение к аппаратной части модуля ...

Цитата
У платы есть слабое место: высокая чувствительность к внешним электромангитным полям. ... проведите пальцем руки ... по емкостям.
Нет слов.
Вы понимаете разницу масштабов взаимодействия между электромагнитным полем (наводки от других цепей) и гальванической связью (замыкание чего то пальцами, эквивалент сопротивления в десятки-сотни килоом + паразитная емкость) ...
Тыкаясь пальцами по емкосям (которые номиналом 20пФ) между процессором и NAND, Вы сбиваете осцилляцию тактового генератора, никакого отношения к слабой ЭМИ защищенности устройства сей факт не имеет.
Спуститься к концу Подняться к началу
Персональная информация
leocat3
Добавлено 31.08.2014 18:03 Сообщение: 5
leocat3
0

Пункты: 2665
Регистрация: 04.08.2011
Неумение выслушать, вникнуть в суть, это норма?
Я в чем то нахамил?

Повторю вопрос в ТРЕТИЙ раз:
Как установить linux v2.6 на SK-iMX6S-OEM ( методика, где можно почитать? )

Разницу масштабов взаимодействия между электромагнитным полем (наводки от других цепей) и гальванической связью (замыкание чего то пальцами, эквивалент сопротивления в десятки-сотни килоом + паразитная емкость) прекрасно понимаю. Попробуйте рядом с модулем бросить пару проводов и скомутируйте через реле ампер 10 - 220V, то получите эффект похлеще пальца. Пальцем я уже искал, на что наводится. А дребезг контактов реле это нечто...

Ну и все таки запустите собаку и ткните пальцем в емкости. Неужто пройдет Reset? У меня на этой плате ни разу не вышло...
Собака - независимый блок процессра и должен жить пока есть питание.

Про версию Linux 3... Как сделать user mode SPI? ( у кого получилось? )
Тормоза ( жуткие ) при работе с компресованной ФС это норма?

Эти платы взял на пробу, для оценки. Пока юзаю imx53. В 53-х каких либо неудобств не отметил. Ну разве внешний таймер. Да и это можно скорее отнести к плюсам, ибо внутренний хорошо батарейку кушает, да и при смене модуля время внешнего не теряется.
Спуститься к концу Подняться к началу
Персональная информация
leocat3
Добавлено 31.08.2014 18:38 Сообщение: 6
leocat3
0

Пункты: 2665
Регистрация: 04.08.2011
Ну и еще, про сравнение модулей SK-iMX53-OEM и SK-iMX6S-OEM...
Была проведена проверка работоспособности обеих вблизи МГД-индуктора, расстояние один метр. Индуктор - жуткая штука. Если есть мелочь в кармане ( а рубли нонче железные ), то она начинает жутко вибрировать. Герконы на расстоянии до 6 м пребывают в фиксированном положении. Интерфессы типа Ethernet, RS-485, RS-232, ... запирает напрочь. Но модуль SK-iMX53-OEM - продолжает устойчиво работать. Так сказать плюс в карму:) SK-iMX6S-OEM встает колом. И из интерейсов продолжает работать только CAN, на скорости до 250000 кбит.
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 31.08.2014 18:51 Редактировалось 31.08.2014 19:29 Сообщение: 7
sasamy
4.71

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

Как установить linux v2.6 на SK-iMX6S-OEM ( методика, где можно почитать? )


3.0 от 2.6 отличается только сменой нумерации - это одна и та же ветка, не было никаких глобальных перемен как в случае 2.4 -> 2.6

Цитата

Как сделать user mode SPI?


включить поддержку в конфиге

Device Drivers --->
[*] SPI support --->
<*> User mode SPI device driver support

прописать в списке устройств SPI spidev на нужном чипселекте и шине - это зависит куда вы хотите выставить интерфейс из юзерспейс, в общем случае примерно так

arch/arm/mach-mx6/board-mx6q_sabrelite.c

static struct spi_board_info imx6_sabrelite_spi_devices[] __initdata = {
{
.modalias = "ads7846",
.max_speed_hz = 100 * 1000,
.bus_num = 0,
.chip_select = 0,
.platform_data = &lvds0_ads_info,
.irq = gpio_to_irq(MX6Q_SK_LVDS0_PENIRQ),
},
{
.modalias = "ads7846",
.max_speed_hz = 100 * 1000,
.bus_num = 3,
.chip_select = 0,
.platform_data = &disp_ads_info,
.irq = gpio_to_irq(MX6Q_SK_DISP_PENIRQ),
},
{
.modalias = "ads7846",
.max_speed_hz = 100 * 1000,
.bus_num = 4,
.chip_select = 0,
.controller_data = (void *)MX6Q_SK_LVDS1_CS,
.platform_data = &lvds1_ads_info,
.irq = gpio_to_irq(MX6Q_SK_LVDS1_PENIRQ),
},
{
.modalias = "spidev",
.max_speed_hz = 1 * 1000 * 1000,
.bus_num = 0, // ECSPI1 -> bus 0, ECSPI2 -> bus 1 и тд
.chip_select = 1,
},

};

и дописать GPIO который в качестве чипселекта используется

static int mx6q_sabrelite_spi1_cs[] = {
MX6Q_SK_ECSPI1_CS0,
MX6Q_SK_ECSPI1_CS1,

};

Цитата

Тормоза ( жуткие ) при работе с компресованной ФС это норма?


компрессия тут при чем ? вы сравниваете похоже с i.mx53-oem - там на плате у nand в 10 раз меньше емкость, сделайте раздел с корневой фс такого же размера как на im53 и будет примерно так же работать (я так понял про тормоза при монтировании КФС при старте речь ?), компрессия наоборот ускоряет работу на относительно медленных носителеях - нужно меньше читать/писать.
Спуститься к концу Подняться к началу
Персональная информация
Pavel Ivanchenko
Добавлено 31.08.2014 19:53 Сообщение: 8
Pavel Ivanchenko
Admin
4.39

Пункты: 92788
Регистрация: 24.03.2009
Пол: Мужчина
Попутал, думал на imx6s штатное ядро 2.6.35, поэтому сама постановка вопроса уже вводила в ступор.

Цитата
Повторю вопрос в ТРЕТИЙ раз:
Как установить linux v2.6 на SK-iMX6S-OEM ( методика, где можно почитать? )
Не знаю, если правильно помню, FS сразу начал с 3.0.35 для imx6.

Цитата
... прекрасно понимаю. Попробуйте рядом с модулем бросить пару проводов и скомутируйте ...
Логичнее было тогда с описания этого эксперимента начать, а не связывать "обвинения" чувствительности к ЭМИ с тыкания пальцами.

Цитата
Попробуйте рядом с модулем бросить пару проводов и скомутируйте через реле ампер 10 - 220V, то получите эффект похлеще пальца. Пальцем я уже искал, на что наводится. А дребезг контактов реле это нечто...
Охотно верю, но Вы вдумайтесь, у Вас рядом с процессором идут провода с током в десяток ампер - страшное дело, не важно что imx53 каким-то чудом живет при этом. Модуль надо экранировать и тщательно продумывать земли, чтобы возвратные токи силовой части по земле сюрпризов не наложили.

Цитата
Про версию Linux 3... Как сделать user mode SPI? ( у кого получилось? )
Могу боардфайл от Vybrid модуля выложить, на нем SPI DEV штатно включен.

Цитата
Ну и все таки запустите собаку и ткните пальцем в емкости. Неужто пройдет Reset? У меня на этой плате ни разу не вышло...
Собака - независимый блок процессра и должен жить пока есть питание.
Да, watchdog это отдельный модуль тактирующийся от собственного RC генератора, но очевидно при аварийной остановке основного генератора, сброс от собаки ему не помогает. Тут нужно думать в первую очередь, как этого не допускать, а потом уже размышлять, как его перезапускать.

Цитата
Тормоза ( жуткие ) при работе с компресованной ФС это норма?
Думаете, есть такой же модуль но на котором быстрее работать будет ...
1) если так чувствительно, озадачтесь отключением компрессии, скажу откровенно, у меня с наскоку это не получилось, т.к. ключей отключающих компрессию при форматировании раздела я не нашел, пришел тогда к выводу, что без компрессии можно сделать только если образ UBI готовить на хосте готовить и потом записывать
2) тормоза скорее обусловлены не только самой компрессией, сколько размером блока на MLC флешках который составляет 1М (у SLC они по 256К), кстати, на SK-iMX6S-OEM-Ind ставятся SLC флешки ...

Цитата
... то она начинает жутко вибрировать. Герконы на расстоянии до 6 м пребывают в фиксированном положении. Интерфессы типа Ethernet, RS-485, RS-232, ... запирает напрочь. Но модуль SK-iMX53-OEM - продолжает устойчиво работать.
Кошмар, а потом начнете мне модули вышедшие из строя присылать ...

Цитата
SK-iMX6S-OEM встает колом
Я бы на его месте тоже :)

Цитата
SK-iMX6S-OEM встает колом. И из интерейсов продолжает работать только CAN, на скорости до 250000 кбит.
CAN сам по себе не может продолжать работать, значит и модуль продолжает работать, кроме остальных интерфейсов.
Спуститься к концу Подняться к началу
Персональная информация
leocat3
Добавлено 31.08.2014 20:37 Сообщение: 9
leocat3
0

Пункты: 2665
Регистрация: 04.08.2011
sasamy, спасибо, за оперативный отклик, но это все пытался делать. Потому и написал, что пока ничего не сделал...

Добавлял и такой вариант:
{
.modalias = "spidev",
.max_speed_hz = 1000 * 1000,
.bus_num = 1,
.chip_select = 0,
.controller_data = (void *) MX6Q_SK_LVDS1_CS // Напр.,
},

с добавлением строки
platform_device_register(&lvdsX_spi_gpio_device); // X - номер шины
В функцию: spi device_init

Не помогло:(
Глубже по коду пока не залезал...
Пытался менять номера bus. ( короче шаманством занялся, только бубна не хватало )
И что интересно, несмотря на то, что номер bus менял, в целевой системе они упорно не меняются. Таких фокусов в v2.6 не
было. Об этом написал выше.
Боюсь представить, какой секс будет, если я попытаюсь прицепить 1-wire ( а он нужен... )
Спуститься к концу Подняться к началу
Персональная информация
Jury093
Добавлено 31.08.2014 21:00 Редактировалось 31.08.2014 21:42 Сообщение: 10
Jury093
4.5

Пункты: 54271
Регистрация: 25.05.2009
Пол: Мужчина
Из: Санкт-Петербург
Цитата
Повторю вопрос в ТРЕТИЙ раз:
Как установить linux v2.6 на SK-iMX6S-OEM ( методика, где можно почитать? )

полагаю что нигде, в лучшем случае найдете в архивах фрискейла BSP+pdf с описанием под ихние борды..
и мне не очень понятна идея цепляться за старые ядра при наличии готовых новых.. кроме случая драйверов под старое ядро и невозможности переписать под новое..

Цитата
Про версию Linux 3... Как сделать user mode SPI? ( у кого получилось? )

ну допустим у меня, например для imx6q:

Код
root@imx6q-es:~# uname -a
Linux imx6q-es 3.0.35 #330 SMP PREEMPT Sun Jun 29 22:32:02 MSK 2014 armv7l GNU/Linux
root@imx6q-es:~# zcat /proc/config.gz |grep SPI
CONFIG_RWSEM_GENERIC_SPINLOCK=y
# CONFIG_INLINE_SPIN_TRYLOCK is not set
# CONFIG_INLINE_SPIN_TRYLOCK_BH is not set
# CONFIG_INLINE_SPIN_LOCK is not set
# CONFIG_INLINE_SPIN_LOCK_BH is not set
# CONFIG_INLINE_SPIN_LOCK_IRQ is not set
# CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set
# CONFIG_INLINE_SPIN_UNLOCK is not set
# CONFIG_INLINE_SPIN_UNLOCK_BH is not set
# CONFIG_INLINE_SPIN_UNLOCK_IRQ is not set
# CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set
CONFIG_MUTEX_SPIN_ON_OWNER=y
CONFIG_IMX_HAVE_PLATFORM_SPI_IMX=y
# CONFIG_SENSORS_LIS3_SPI is not set
# CONFIG_SCSI_SPI_ATTRS is not set
CONFIG_SPI=y
CONFIG_SPI_MASTER=y
# SPI Master Controller Drivers
# CONFIG_SPI_ALTERA is not set
CONFIG_SPI_BITBANG=y
CONFIG_SPI_GPIO=y
CONFIG_SPI_IMX_VER_2_3=y
CONFIG_SPI_IMX=y
# CONFIG_SPI_OC_TINY is not set
# CONFIG_SPI_PL022 is not set
# CONFIG_SPI_PXA2XX_PCI is not set
# CONFIG_SPI_TOPCLIFF_PCH is not set
# CONFIG_SPI_XILINX is not set
# CONFIG_SPI_DESIGNWARE is not set
# SPI Protocol Masters
CONFIG_SPI_SPIDEV=y
# CONFIG_SPI_TLE62X0 is not set
# SPI GPIO expanders:
# CONFIG_MFD_WM831X_SPI is not set
CONFIG_SND_SPI=y
CONFIG_SND_SOC_I2C_AND_SPI=y
# SPI RTC drivers
root@imx6q-es:~# ls /dev/spi*
/dev/spidev0.0

на spidev0.0 подцеплена Альтера для загрузки в PS..

далее, на imx6s прикручен флеш на SPI:

Код
root@holapc:~# uname -a
Linux holapc 3.1.2 #344 SMP PREEMPT Tue Jul 15 12:54:20 MSK 2014 armv7l GNU/Linux
root@holapc:~# zcat /proc/config.gz |grep SPI
CONFIG_RWSEM_GENERIC_SPINLOCK=y
# CONFIG_INLINE_SPIN_TRYLOCK is not set
# CONFIG_INLINE_SPIN_TRYLOCK_BH is not set
# CONFIG_INLINE_SPIN_LOCK is not set
# CONFIG_INLINE_SPIN_LOCK_BH is not set
# CONFIG_INLINE_SPIN_LOCK_IRQ is not set
# CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set
# CONFIG_INLINE_SPIN_UNLOCK is not set
# CONFIG_INLINE_SPIN_UNLOCK_BH is not set
# CONFIG_INLINE_SPIN_UNLOCK_IRQ is not set
# CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set
CONFIG_MUTEX_SPIN_ON_OWNER=y
CONFIG_IMX_HAVE_PLATFORM_SPI_IMX=y
# CONFIG_SENSORS_LIS3_SPI is not set
# CONFIG_SCSI_SPI_ATTRS is not set
CONFIG_SPI=y
CONFIG_SPI_MASTER=y
# SPI Master Controller Drivers
# CONFIG_SPI_ALTERA is not set
CONFIG_SPI_BITBANG=y
# CONFIG_SPI_GPIO is not set
CONFIG_SPI_IMX_VER_2_3=y
CONFIG_SPI_IMX=y
# CONFIG_SPI_OC_TINY is not set
# CONFIG_SPI_PL022 is not set
# CONFIG_SPI_PXA2XX_PCI is not set
# CONFIG_SPI_TOPCLIFF_PCH is not set
# CONFIG_SPI_XILINX is not set
# CONFIG_SPI_DESIGNWARE is not set
# SPI Protocol Masters
# CONFIG_SPI_SPIDEV is not set
# CONFIG_SPI_TLE62X0 is not set
# SPI GPIO expanders:
# CONFIG_MFD_WM831X_SPI is not set
# CONFIG_SND_SPI is not set
CONFIG_SND_SOC_I2C_AND_SPI=y
# SPI RTC drivers
root@holapc:~# dmesg |grep spi
spi_imx imx6q-ecspi.3: probed
spi_imx imx6q-ecspi.0: probed
m25p80 spi3.0: at25df641 (8192 Kbytes)
Creating 1 MTD partitions on "spi_flash":
root@holapc:~# ls /dev/mtd*
/dev/mtd0 /dev/mtd0ro /dev/mtdblock0

легко перекручивается на spidev..

право, слегка надоедает в 51 раз выяснять имя и ревизию платы, что сделано в исходниках, выхлоп лога, симптоматику неисправности.. имхо, не вы первый и вероятно не вы последний..
Саша выше вам все расписал и разжевал, удивлюсь если не заработает.. да, и не забудьте проверить/поправить функцию инита SPI канала с нужными параметрами..

На любой вопрос есть любой ответ.
Спуститься к концу Подняться к началу
Персональная информация
Форум » starterkit.ru » Процессорные модули » SK-iMX6S-OEM(-WiFi)