Ник:
Пароль:

Контакты

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
Поисковых ботовПоисковых ботов:3
ГостейГостей:1

ОбновитьПодробнееВсегоВсего:4
Форум » starterkit.ru » FAQ
Bad block
Pavel Ivanchenko
Добавлено 21.04.2010 11:28 Сообщение: 21
Pavel Ivanchenko
Admin
4.39

Пункты: 91387
Регистрация: 24.03.2009
Пол: Мужчина
Блин, юмор, по ошибке пометил файл at91sam9200.h (добавив к файлу исполняемость, чтобы подсветка в MC была) и сижу "синею" ...
Спуститься к концу Подняться к началу
Персональная информация
Pavel Ivanchenko
Добавлено 21.04.2010 11:54 Сообщение: 22
Pavel Ivanchenko
Admin
4.39

Пункты: 91387
Регистрация: 24.03.2009
Пол: Мужчина
Ага, теперь NAND флешка правильно читается:
Код
U-Boot> nand write 20400000 60000 7a0000

NAND write: device 0 offset 0x60000, size 0x7a0000
Skip bad block 0x00200000
7995392 bytes written: OK
U-Boot> nand read 20400000 60000 7a0000

NAND read: device 0 offset 0x60000, size 0x7a0000
Skipping bad block 0x00200000
7995392 bytes read: OK
U-Boot> bootm 20400000
## Booting kernel from Legacy Image at 20400000 ...
Image Name: Linux Kernel Image
Image Type: ARM Linux Kernel Image (gzip compressed)
Data Size: 4438174 Bytes = 4.2 MB
Load Address: 20008000
Entry Point: 20008000
Verifying Checksum ... OK
Uncompressing Kernel Image ... OK

Так же в этой версии (2010.03) USB вроде работает, еще Ethernet PHY надо прикрутить.
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 21.04.2010 12:38 Редактировалось 21.04.2010 12:38 Сообщение: 23
sasamy
4.70

Пункты: 76994
Регистрация: 14.08.2009
Да -наконец usb починили ! Это отлично, проверил счас - работает.

Цитата
еще Ethernet PHY надо прикрутить.

Если ты про это
Цитата
macb0: No PHY present

на 1.3.4 я это лечил очень просто - правил в том месте где это выводится - попросту игнорировал ошибку и продолжал дальше - все работало. Где-то на форуме было обсуждение этого вопроса, кто-то приводил более элегантный метод - надо поискать.
Спуститься к концу Подняться к началу
Персональная информация
Pavel Ivanchenko
Добавлено 21.04.2010 12:45 Редактировалось 21.04.2010 12:47 Сообщение: 24
Pavel Ivanchenko
Admin
4.39

Пункты: 91387
Регистрация: 24.03.2009
Пол: Мужчина
По поводу сети, молодцы ребята - все уже предусмотрели, достаточно добавить в конфиг CONFIG_MACB_SEARCH_PHY и сеть оживает:
Код
In: serial
Out: serial
Err: serial
Net: macb0
macb0: PHY present at 1
macb0: Starting autonegotiation...
macb0: Autonegotiation complete
macb0: link up, 100Mbps full-duplex (lpa: 0xcde1)


А вот с поддержкой SD/MMC чего то видимо не хватает, в оригинале отсутсвовала, пришлось добавить пару функций, но пока внятного общения с картой не получил.
Спуститься к концу Подняться к началу
Персональная информация
Pavel Ivanchenko
Добавлено 21.04.2010 13:19 Сообщение: 25
Pavel Ivanchenko
Admin
4.39

Пункты: 91387
Регистрация: 24.03.2009
Пол: Мужчина
Общение с SD картой практически один в один от версии 1.3.4 (с ней вчера проверял - работает), а каких-либо движений на лингиях при mmc init ( 0-1-2-3) не наблюдаю, пока не понятно - где они GPIO для MCI настраивают ...
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 21.04.2010 13:47 Редактировалось 21.04.2010 13:52 Сообщение: 26
sasamy
4.70

Пункты: 76994
Регистрация: 14.08.2009
Я не могу найти тему Юрия, где он выкладывал патчи и исходники для u-boot на этом форуме.

Нашел, вот она http://www.starterkit.ru/html/index.php?name=forum&op=view&id=6531&num=2#6680
там у него есть как gpio поменять роль
Код

внедряю поддержку sd/mmc
в файле /board/atmel/at91sam9260ek/at91sam9260ek.c
например между инитом сериал и нанда вписывается функция
Код
#ifdef CONFIG_MMC
static void at91sam9260ek_mmc_hw_init(void)
{
/* CLK */
at91_set_A_periph(AT91_PIN_PA8, 0);
/* CMD */
at91_set_A_periph(AT91_PIN_PA7, 1);
/* DAT0, maybe DAT1..DAT3 */
at91_set_A_periph(AT91_PIN_PA6, 1);
at91_set_A_periph(AT91_PIN_PA9, 1);
at91_set_A_periph(AT91_PIN_PA10, 1);
at91_set_A_periph(AT91_PIN_PA11, 1);
at91_sys_write(AT91_PMC_PCER, 1 << AT91SAM9260_ID_MCI);
}
#endif
Спуститься к концу Подняться к началу
Персональная информация
Pavel Ivanchenko
Добавлено 21.04.2010 13:52 Сообщение: 27
Pavel Ivanchenko
Admin
4.39

Пункты: 91387
Регистрация: 24.03.2009
Пол: Мужчина
Вот его тема.
Вобщем, добавил в board/atmel/at91sam9260ek/at91sam9260ek.c конфиг пинов:
Код
static void at91sam9260ek_mmc_hw_init(void)
{
/* CLK */
at91_set_A_periph(AT91_PIN_PA8, 0);
/* CMD */
at91_set_A_periph(AT91_PIN_PA7, 1);
/* DAT0, maybe DAT1..DAT3 */
at91_set_A_periph(AT91_PIN_PA6, 1);
at91_set_A_periph(AT91_PIN_PA9, 1);
at91_set_A_periph(AT91_PIN_PA10, 1);
at91_set_A_periph(AT91_PIN_PA11, 1);
at91_sys_write(AT91_PMC_PCER, 1 << AT91SAM9260_ID_MCI);}

SD вроде как ожила, но все-равно что то не так:
Код
In: serial
Out: serial
Err: serial
Net: macb0
macb0: PHY present at 1
macb0: Starting autonegotiation...
macb0: Autonegotiation complete
macb0: link up, 100Mbps full-duplex (lpa: 0xcde1)
Hit any key to stop autoboot: 0
U-Boot> mmc init 1
Manufacturer ID: 03
OEM/Application ID: 5344
Product name: SD01G
Product Revision: 5.8
Product Serial Number: 812750483
Manufacturing Date: 05/03
SD Card detected (RCA 43356)
CSD data: 00260032 1f5983c8 befbcfff 924040c9
CSD structure version: 1.2
MMC System Spec version: 12
Card command classes: 3c8
Read block length: 256
Supports partial reads
Write block length: 1
Does not support partial writes
Does not support group WP
Card capacity: 268435456 bytes
File format: 0/2
Write protection: permanent
mmc: Using 393216 cycles data timeout (DTOR=0x66)
Card does not support 512 byte reads, aborting.
No MMC card found
Спуститься к концу Подняться к началу
Персональная информация
Pavel Ivanchenko
Добавлено 21.04.2010 13:58 Сообщение: 28
Pavel Ivanchenko
Admin
4.39

Пункты: 91387
Регистрация: 24.03.2009
Пол: Мужчина
Занятно, atmel_mci.c у этих версий "один в один", но на 1.3.4 эта карта работала ...
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 21.04.2010 13:59 Сообщение: 29
sasamy
4.70

Пункты: 76994
Регистрация: 14.08.2009
Надо посмотреть на внимательно откуда это сообщение
mmc: Using 393216 cycles data timeout (DTOR=0x66)
потому что до него карта определилась и читалась а после него
Card does not support 512 byte reads, aborting.
думаю в таймаутах проблема вполне может быть. Я не смотрел еще вообще, чуть позднее - надо отобедать :)
Спуститься к концу Подняться к началу
Персональная информация
Pavel Ivanchenko
Добавлено 21.04.2010 14:04 Редактировалось 21.04.2010 14:28 Сообщение: 30
Pavel Ivanchenko
Admin
4.39

Пункты: 91387
Регистрация: 24.03.2009
Пол: Мужчина
Судя по всему, детект параметров карты криво работает, т.к. он размер блока определяет 256Б (что не правильно) и сам потом на это ругается, там строчка перед детектом размера блока есть (видимо Юра сам добавил) csd.read_bl_len++ ...

Вобщем, отключил я детект размера блока, потому как такой "костыль" (csd.read_bl_len++) не проходил с другой моей картой (2G у которой детектировался размер блока 1024B).
Спуститься к концу Подняться к началу
Персональная информация
Форум » starterkit.ru » FAQ