|
SK-AT91SAM9260 и SD карта, не видит карту... |
|
|
|
Jul 19 2012, 13:18
|
Участник

Группа: Участник
Сообщений: 26
Регистрация: 27-06-12
Из: Самара
Пользователь №: 72 524

|
Доброго времени суток, уважаемые форумчане! В общем проблемма следующая: не могу подцепить корневую файловую системму на SD карте (точнее сама карточка не видится и всё), вроде бы всё что полагается включил, файл board_sam9260ek.c поправил, всёравно карточка не видится. Код Kernel command line: mem=32M console=ttyS0,9600 root=/dev/mmcblk0p1 rw В файле board_sam9260ek.c исправил: static struct at91_mmc_data __initdata ek_mmc_data = { .slot_b = 0, .wire4 = 1, .det_pin = AT91_PIN_PA4, .wp_pin = -EINVAL, .vcc_pin = -EINVAL, }; Часть конфига ядра: Код # Non-8250 serial port support # CONFIG_SERIAL_ATMEL=y CONFIG_SERIAL_ATMEL_CONSOLE=y CONFIG_SERIAL_ATMEL_PDC=y # CONFIG_SERIAL_ATMEL_TTYAT is not set # CONFIG_SERIAL_MAX3100 is not set # CONFIG_SERIAL_MAX3107 is not set CONFIG_SERIAL_CORE=y CONFIG_SERIAL_CORE_CONSOLE=y # CONFIG_SERIAL_TIMBERDALE is not set # CONFIG_SERIAL_ALTERA_JTAGUART is not set # CONFIG_SERIAL_ALTERA_UART is not set # CONFIG_SERIAL_IFX6X60 is not set # CONFIG_SERIAL_XILINX_PS_UART is not set # CONFIG_HVC_DCC is not set # CONFIG_IPMI_HANDLER is not set # CONFIG_HW_RANDOM is not set # CONFIG_R3964 is not set # CONFIG_RAW_DRIVER is not set # CONFIG_TCG_TPM is not set # CONFIG_RAMOOPS is not set # CONFIG_I2C is not set CONFIG_SPI=y # CONFIG_SPI_DEBUG is not set CONFIG_SPI_MASTER=y
# # SPI Master Controller Drivers # # CONFIG_SPI_ALTERA is not set CONFIG_SPI_ATMEL=y # CONFIG_SPI_BITBANG is not set # CONFIG_SPI_GPIO is not set # CONFIG_SPI_OC_TINY is not set # CONFIG_SPI_PXA2XX_PCI is not set # CONFIG_SPI_XILINX is not set # CONFIG_SPI_DESIGNWARE is not set
# # OTG and related infrastructure # # CONFIG_USB_GPIO_VBUS is not set # CONFIG_USB_ULPI is not set # CONFIG_NOP_USB_XCEIV is not set CONFIG_MMC=y # CONFIG_MMC_DEBUG is not set # CONFIG_MMC_UNSAFE_RESUME is not set # CONFIG_MMC_CLKGATE is not set
# # MMC/SD/SDIO Card Drivers # CONFIG_MMC_BLOCK=y CONFIG_MMC_BLOCK_MINORS=8 CONFIG_MMC_BLOCK_BOUNCE=y # CONFIG_SDIO_UART is not set # CONFIG_MMC_TEST is not set
# # MMC/SD/SDIO Host Controller Drivers # CONFIG_MMC_SDHCI=y CONFIG_MMC_SDHCI_PLTFM=y # CONFIG_MMC_SDHCI_PXAV3 is not set # CONFIG_MMC_SDHCI_PXAV2 is not set CONFIG_MMC_AT91=y # CONFIG_MMC_ATMELMCI is not set CONFIG_MMC_SPI=y # CONFIG_MMC_DW is not set # CONFIG_MMC_VUB300 is not set CONFIG_MMC_USHC=y # CONFIG_MEMSTICK is not set # CONFIG_NEW_LEDS is not set # CONFIG_ACCESSIBILITY is not set CONFIG_RTC_LIB=y # CONFIG_RTC_CLASS is not set # CONFIG_DMADEVICES is not set # CONFIG_AUXDISPLAY is not set # CONFIG_UIO is not set Лог загрузки выглядит следующим образом: Код ...... VFS: Cannot open root device "mmcblk0p1" or unknown-block(0,0): error -6 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) ....... Возможно чтото ещё в конфиге не включил, но что? Сталкивался ли кто-нибудь с подобной проблеммой? (карточка MicroSDHC 4Gb 10 класс, стоковая прошивка её видит) Ядро версии 3.4.4
Сообщение отредактировал rtcveel - Jul 19 2012, 16:07
|
|
|
|
2 страниц
< 1 2
|
 |
Ответов
(15 - 19)
|
Jul 23 2012, 11:59
|
Участник

Группа: Участник
Сообщений: 26
Регистрация: 27-06-12
Из: Самара
Пользователь №: 72 524

|
3.4.4 запилил, всё работает!) Большое спасибо второй раз xor.kruger за поддержание беседы (в этой и предыдущей моей ветке). Проблемма также нашлась в отсутствии rootwait в коде u-boot'a, поэтому старые ядра, которые не предусматривают принудительное использование зашитых в них параметров загрузки, брали код из u-boot'a и до чтения флешки дело не доходило. както-так
|
|
|
|
|
Oct 23 2012, 07:37
|
Участник

Группа: Участник
Сообщений: 15
Регистрация: 28-03-12
Пользователь №: 71 060

|
Цитата(rtcveel @ Jul 23 2012, 15:59)  3.4.4 запилил, всё работает!) Большое спасибо второй раз xor.kruger за поддержание беседы (в этой и предыдущей моей ветке). Проблемма также нашлась в отсутствии rootwait в коде u-boot'a, поэтому старые ядра, которые не предусматривают принудительное использование зашитых в них параметров загрузки, брали код из u-boot'a и до чтения флешки дело не доходило. както-так  А что в 3.4.4 пилил? Я пробую 3.6.3 попилить - ничего не выходит Пока задача просто загрузить по tftp(в UBOOT run tftp_boot) и увидеть mmc Сейчас пока сообщения - at91_mci at91_mci: probe failed, err -16 at91_mci: probe of at91_mci failed with error -16 Железо работает 2.6.33.20 грузится без проблем В файле описания платы поправил static struct at91_mmc_data __initdata ek_mmc_data = { //pi .slot_b = 1, .slot_b = 0, .wire4 = 1, .det_pin = AT91_PIN_PA4, // .det_pin = ... not connected // .wp_pin = ... not connected // .vcc_pin = ... not connected };
|
|
|
|
|
Oct 24 2012, 16:22
|
Участник

Группа: Участник
Сообщений: 26
Регистрация: 27-06-12
Из: Самара
Пользователь №: 72 524

|
Цитата(und68 @ Oct 23 2012, 11:37)  Сейчас пока сообщения - at91_mci at91_mci: probe failed, err -16 at91_mci: probe of at91_mci failed with error -16 Подобных сообщений у меня не было, драйвер инициализировался без проблемм. У меня была проблемма с коммандной строкой передаваемой U-boot-ом ядру. Я по неопытности не учёл что в если в конфиге ядра не ставить галку "принудительно использовать следущие параметры коммандной строки" то оно их берёт с U-bootа, а там они не правильные, и при загрузке ядро искало образ ФС даже не на карте памяти а на микросхеме NANDа, которой и в помине нет, т.к. плата удешевлённая. ну и rootwait самосабой нада. У тебя же данная строка "at91_mci at91_mci: probe failed" говорит о том, что происходит ошибка при инициализации драйвера, в функции static int __init at91_mci_probe(struct platform_device *pdev) //строка 929 драйвера at91_mci код ошибки конкретнее: fail6: release_mem_region(res->start, resource_size(res)); //строка 929 драйвера at91_mci dev_err(&pdev->dev, "probe failed, err %d\n", ret); return ret; и собственно то что её вызывает : mmc = mmc_alloc_host(sizeof(struct at91mci_host), &pdev->dev); //строка 1103 драйвера at91_mci if (!mmc) { ret = -ENOMEM; dev_dbg(&pdev->dev, "couldn't allocate mmc host\n"); goto fail6; } Но это всё рассуждения вслух. Повидимому дело действительно в борде (mmc_alloc_host - функция инициализирующая структуру MMC, т.е скорее всего не верные настройки чего-либо). Прикладываю всё что связано с AT91, кроме ядра, почемуто не могу его "сохранить как", уже как только не пробовал, не создает новый и всё, даж из под админа... но тот конфиг который выкладывал ранее, насколько помню рабочий должен быть... попробую ещё раз завтра сохранить и выложить ту версию, которая есть. если не поможет то даж незнаю... курить драйвера остаётся. хотя может и в кофиге чтото не включено, версия 3.6 всетаки. вобщем имхо.
Сообщение отредактировал rtcveel - Oct 24 2012, 19:19
Прикрепленные файлы
_____.rar ( 10.81 килобайт )
Кол-во скачиваний: 4
|
|
|
|
|
Oct 26 2012, 14:10
|
Участник

Группа: Участник
Сообщений: 15
Регистрация: 28-03-12
Пользователь №: 71 060

|
Цитата(rtcveel @ Oct 24 2012, 20:22)  Подобных сообщений у меня не было, драйвер инициализировался без проблемм. У меня была проблемма с коммандной строкой передаваемой U-boot-ом ядру. Я по неопытности не учёл что в если в конфиге ядра не ставить галку "принудительно использовать следущие параметры коммандной строки" то оно их берёт с U-bootа, а там они не правильные, и при загрузке ядро искало образ ФС даже не на карте памяти а на микросхеме NANDа, которой и в помине нет, т.к. плата удешевлённая. ну и rootwait самосабой нада.
У тебя же данная строка "at91_mci at91_mci: probe failed" говорит о том, что происходит ошибка при инициализации драйвера, в функции
static int __init at91_mci_probe(struct platform_device *pdev) //строка 929 драйвера at91_mci
код ошибки конкретнее:
fail6: release_mem_region(res->start, resource_size(res)); //строка 929 драйвера at91_mci dev_err(&pdev->dev, "probe failed, err %d\n", ret); return ret;
и собственно то что её вызывает :
mmc = mmc_alloc_host(sizeof(struct at91mci_host), &pdev->dev); //строка 1103 драйвера at91_mci if (!mmc) { ret = -ENOMEM; dev_dbg(&pdev->dev, "couldn't allocate mmc host\n"); goto fail6; }
Но это всё рассуждения вслух. Повидимому дело действительно в борде (mmc_alloc_host - функция инициализирующая структуру MMC, т.е скорее всего не верные настройки чего-либо). Прикладываю всё что связано с AT91, кроме ядра, почемуто не могу его "сохранить как", уже как только не пробовал, не создает новый и всё, даж из под админа... но тот конфиг который выкладывал ранее, насколько помню рабочий должен быть... попробую ещё раз завтра сохранить и выложить ту версию, которая есть. если не поможет то даж незнаю... курить драйвера остаётся.
хотя может и в кофиге чтото не включено, версия 3.6 всетаки. вобщем имхо. Была ошибка в выборе типа драйвера и инициализации. Более подробно тут http://www.starterkit.ru/html/index.php?na...&last#17986
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|