Ник:
Пароль:

Контакты

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

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

User Info


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

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

Ник:
Пароль:

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

ОбновитьПодробнееВсегоВсего:6
Форум » starterkit.ru » Embedded Linux
из uboot в linux
Franky
Добавлено 10.09.2014 13:47 Редактировалось 10.09.2014 14:10
0
Сообщение: 1
Franky
5

Пункты: 5030
Регистрация: 29.06.2010
Интересно, что передается в из uboot в linux, кроме bootargs.

Например, передаётся ли настройка FLASH или SDRAM? или в ядре это инициализируется заново?
как я понял из исходников, после инициализации PLL в uboot, ядро не инициализиует систему тактирования, а лишь анализирует установленные значения
Спуститься к концу Подняться к началу
Персональная информация
Pavel Ivanchenko
Добавлено 10.09.2014 15:54 Сообщение: 2
Pavel Ivanchenko
Admin
4.39

Пункты: 92788
Регистрация: 24.03.2009
Пол: Мужчина
Кроме аргументов запуска ядра ничего больше не передается.
Флешки заново инициализируются, хотя, это все уже от драйверов и их настроек зависит.
Настройки динамической памяти ядро не трогает, потому как это равносильно пилению сука на котором сидишь, исключение составляют лишь случаи режимов пониженного энергопотребления (которые на нашем железе не используются), но это все отдельная история - тогда нужно настройки памяти и в ядре дублировать.
Спуститься к концу Подняться к началу
Персональная информация
Franky
Добавлено 11.09.2014 11:40 Сообщение: 3
Franky
5

Пункты: 5030
Регистрация: 29.06.2010
Дабы не плодиь темы решил задать вопорос здесь.
Вопрос относительно размещения Rootfs с MMC
Что нужно для корректного определения ядром рутовой на mmc
1) указать в bootargs root=/dev/mmcblk0p1 (в зависимости от раздела размещения рутовой)
2) включить в ядре поддержку mmc

что-то ещё?
Спуститься к концу Подняться к началу
Персональная информация
Romantic
Добавлено 12.09.2014 09:29 Сообщение: 4
Romantic
3

Пункты: 2214
Регистрация: 20.11.2009
Пол: Мужчина
Кроме этого еще, убедиться, что правильно настроен пин обнаружения карты, а в командную строку добавить ключ rootwait, поскольку карты mmc обнаруживаются динамически.
Спуститься к концу Подняться к началу
Персональная информация
Franky
Добавлено 12.09.2014 09:48 Редактировалось 12.09.2014 10:30 Сообщение: 5
Franky
5

Пункты: 5030
Регистрация: 29.06.2010
спасибо за совет. С rootwait висит наглухо.

вот лог загрузки ядра

Код

mmci-pl18x mmci0: mmc0: MMCI rev 4 cfg 10 at 0x0000000040012c00 irq 49,-1
sdhci: Secure Digital Host Controller Interface driver
sdhci: Copyright(c) Pierre Ossman
ARMv7-M VFP Extension supported
VFS: Cannot open root device "mmcblk0p1" or unknown-block(0,0)
Please append a correct "root=" boot option; here are the available partitions:
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)


вопрос: может ли карта в /dev обзываться как-то иначе чем mmcblk ?

вот так, карта регистрируется в системе:

Код

/*
* Register the SD card interface of STM32
*/
amba_ahb_device_add(
NULL, "mmci0",
STM32_SD_BASE, STM32_SD_SIZE, STM32_SD_IRQ, NO_IRQ,
&stm32_mci_data, U8500_SDI_V2_PERIPHID);



Сегодня включил опцию DEBUG
получил:

Код

mmci-pl18x mmci0: designer ID = 0x80
mmci-pl18x mmci0: revision = 0x4
mmci-pl18x mmci0: clocking block at 25000000 Hz
mmc0: clock 0Hz busmode 1 powermode 0 cs 0 Vdd 0 width 0 timing 0
mmci-pl18x mmci0: mmc0: MMCI rev 4 cfg 10 at 0x0000000040012c00 irq 49,-1
mmc0: clock 0Hz busmode 1 powermode 1 cs 0 Vdd 21 width 0 timing 0
sdhci: Secure Digital Host Controller Interface driver
sdhci: Copyright(c) Pierre Ossman
ARMv7-M VFP Extension supported
mmc0: clock 400000Hz busmode 2 powermode 2 cs 0 Vdd 21 width 0 timing 0
VFS: Cannot open root device "mmcblk0p1" or unknown-block(0,0)
Please append a correct "root=" boot option; here are the available partitions:
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)

Спуститься к концу Подняться к началу
Персональная информация
Romantic
Добавлено 12.09.2014 11:29 Сообщение: 6
Romantic
3

Пункты: 2214
Регистрация: 20.11.2009
Пол: Мужчина
[quote]
вот так, карта регистрируется в системе:

Код

/*
* Register the SD card interface of STM32
*/
amba_ahb_device_add(
NULL, "mmci0",
STM32_SD_BASE, STM32_SD_SIZE, STM32_SD_IRQ, NO_IRQ,
&stm32_mci_data, U8500_SDI_V2_PERIPHID);


[/quote]

У меня опыт только по армам, но подозреваю, что в структуре stm32_mci_data должно быть поле типа detect_pin, в этом поле указывается порт gpio, к которому подключен контакт обнаружения карты разъема SD. Драйвер mci определяет наличие карты по уровню на указанном пине.

А еще по поводу обнаружения карты и названия устройства я бы для начала вмонтировал rootfs в образ ядра (опция initramfs source) и загрузил его до нормального входа в систему, тогда можно будет посмотреть, как обнаруживается устройство и как будет называться метка в devfs.
Спуститься к концу Подняться к началу
Персональная информация
Franky
Добавлено 12.09.2014 12:10 Сообщение: 7
Franky
5

Пункты: 5030
Регистрация: 29.06.2010
Спасибо за ответ!

Сейчас разработчики драйвера сделали так что detect_pin не используется и для драйвера карта всегда подлкючена.
Идея с initramfs интереса. Буду пробовать
Спуститься к концу Подняться к началу
Персональная информация
Форум » starterkit.ru » Embedded Linux