Ник:
Пароль:

Контакты

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 » Отладочные платы » SK-AT91SAM9XXXXX-S3E
SK-AT91SAM9XE512-S3E настройки U-Boot
kovigor
Добавлено 22.06.2011 15:45 Редактировалось 22.06.2011 15:48
0
Сообщение: 1
kovigor
0

Пункты: 185
Регистрация: 22.06.2011
Добрый день !
Извините за простейший вопрос, я только начинаю разбираться с Linux.
Имеется указанная в теме плата. Передо мной она побывала у коллеги, который перенастроил U-Boot, в результате теперь плата не грузится (сразу после покупки все было нормально).

Думаю, дело в переменных окружения. Вот они:


U-Boot> printenv
bootcmd=run boot_df
bootdelay=3
baudrate=115200
tftp_update=tftpboot 20400000 zlinux; cp.b 20400000 c0038000 170000; tftpboot 20 400000 rootfs; cp.b 20400000 c01a8000 277fff
tftp_boot=tftpboot 20400000 zlinux; tftpboot 23100000 rootfs; bootm 20400000
boot_df=cp.b c0038000 20400000 170000; cp.b c01a8000 23100000 277fff; bootm 2040 0000
sdram_test=mtest
sram_test=mtest 10000000 10080000
nand_update=nand erase 0 800000; tftpboot 20400000 zlinux; nand write 20400000 0 200000; tftpboot 20400000 rootfs; nand write 20400000 200000 600000
nand_boot=nand read 23100000 200000 600000; nand read 20400000 0 200000; bootm 2 0400000
ethaddr=00:1f:f2:00:00:00
ipaddr=172.17.5.1
serverip=172.17.0.90
netmask=255.255.0.0
bootargs=root=/dev/nfs rw nfsroot=172.17.0.90:/media/sda3/var/tmp/debian-etch-ar m-dev ip=172.17.5.1:172.17.0.90:172.17.0.1:255.255.0.0:lpc:eth0:off console=ttyS 0,115200
stdin=serial
stdout=serial
stderr=serial

Environment size: 926/16380 bytes
U-Boot>


Похоже, дело вот в этих строках:

bootargs=root=/dev/nfs rw nfsroot=172.17.0.90:/media/sda3/var/tmp/debian-etch-ar m-dev ip=172.17.5.1:172.17.0.90:172.17.0.1:255.255.0.0:lpc:eth0:off

Подскажите, пожалуйста, какими они должны быть в только что купленной плате ?

С уважением, Игорь
Спуститься к концу Подняться к началу
Персональная информация
Lampus
Добавлено 22.06.2011 18:42 Сообщение: 2
Lampus
5

Пункты: 3552
Регистрация: 26.04.2011
Если хочешь вернуть плату к состоянию только что купленной, то на диске в комплекте, по идее, имеются собранные бинарники u-boot и ядра с пришитым к нему rootfs. Залей их через sam-ba и дело с концом. Весь процесс описан в мануале.
Спуститься к концу Подняться к началу
Персональная информация
kovigor
Добавлено 22.06.2011 19:11 Сообщение: 3
kovigor
0

Пункты: 185
Регистрация: 22.06.2011
Цитата
Если хочешь вернуть плату к состоянию только что купленной, то на диске в комплекте, по идее, имеются собранные бинарники u-boot и ядра с пришитым к нему rootfs. Залей их через sam-ba и дело с концом. Весь процесс описан в мануале.


Не знаю, я там такого не нашел. Потому и спрашиваю. с линуксом работаю второй день. Так что вопросы могут быть самые неожиданные ...
Спуститься к концу Подняться к началу
Персональная информация
Lampus
Добавлено 22.06.2011 20:55 Сообщение: 4
Lampus
5

Пункты: 3552
Регистрация: 26.04.2011
Так, давай по порядку.
Диск который шёл в комплекте имеется?
Manual оттуда прочитан?
Если нету диска, или в мануале не можешь ничего найти про SAM-BA качаешь это:
http://starterkit.ru/html/doc/Manual_SK-AT91SAM9260-SIMXXX.pdf
Читаешь раздел номер 7 до полного просветления, там всё просто. Хоть дока по AT91SAM9260, но принцип тот же.
В данный момент у тебя ниченго не грузится, ибо параметры ядра выставлены для загрузки корневой файловой системы по NFS. Весь вопрос в том используется ли штатное ядро с прицепленым rootfs, либо кастомное.
Попробуй bootargs тупо сменить на
Код
root=/dev/ram0 rw initrd=0x23100000,0x800000 console=ttyS0,115200 mem=64M
Спуститься к концу Подняться к началу
Персональная информация
kovigor
Добавлено 22.06.2011 21:15 Редактировалось 22.06.2011 21:16 Сообщение: 5
kovigor
0

Пункты: 185
Регистрация: 22.06.2011
Цитата
Так, давай по порядку.
Диск который шёл в комплекте имеется?
Manual оттуда прочитан?


Диск есть. Мануала конкретно для этой платы там нет. Есть несколько мануалов от АТМЕЛа. Толку от них в тысячу раз меньше, чем от того мануала, что упомянули вы (на самом деле, я нашел и прочитал его еще вчера вечером). Неужели разработчику платы так трудно было написать нечто подобное именно для этой платы ? Ну да ладно ...
Прочитана куча мануалов, изучен форум на этом сайте и проч. Ничего не помогает. В вашем мануале мне не все понятно, посему еще разбираюсь.
Пробовал починить плату, следуя вот этому руководству:

http://starterkit.ru/html/index.php?name=forum&op=view&id=6655

и вот этому:

http://lab.starterkit.ru/index.php?option=com_content&task=view&id=25&Itemid=9

Все проходит нормально, но проблема не решается. Такое впечатление, что эти настройки хранятся в Dataflash, на которую мои действия не влияют. Косвенным подтверждением этой теории служит тот факт, что при ее отключении (удалении перемычки J7) Linux все же загружается, поскольку U-Boot не может прочитать заведомо некорректные настройки. Продолжаю разбираться, спасибо за советы ...
Спуститься к концу Подняться к началу
Персональная информация
Lampus
Добавлено 22.06.2011 21:28 Сообщение: 6
Lampus
5

Пункты: 3552
Регистрация: 26.04.2011
Ух, ды зачем же тебе с наскоку Debian?
Если U-Boot не сможет прочесть область U-Boot Env, то он использует настройки по-умолчанию.
И из объяснения выше не понятно ничего. Что не работает конкретно? И вообще, логи загрузки в студию.
Первая приведённая ссылка описывает восстановление загрузчика в nand, а не в dataflash, с которого плата грузится по умолчанию.
Спуститься к концу Подняться к началу
Персональная информация
kovigor
Добавлено 22.06.2011 21:46 Сообщение: 7
kovigor
0

Пункты: 185
Регистрация: 22.06.2011
Вот лог:

AT91Bootstrap...


U-Boot 1.1.5 (Apr 29 2008 - 20:23:52)

DRAM: 64 MB
NAND: NAND device: Manufacturer ID: 0xec, Chip ID: 0xda ( NAND 256MiB 3,3V 8-bit)
NAND: Pagesize: 2048, Blocksize: 128K, OOBsize: 64
256 MiB
DataFlash:AT45DB321
Nb pages: 8192
Page Size: 528
Size= 4325376 bytes
Logical address: 0xC0000000
Area 0: C0000000 to C0003FFF (RO)
Area 1: C0004000 to C0007FFF
Area 2: C0008000 to C0037FFF (RO)
Area 3: C0038000 to C041FFFF
In: serial
Out: serial
Err: serial
KS8721 PHY Detected
ETH: 100M Full Duplex.
End of Autonegociation
Hit any key to stop autoboot: 0
## Booting image at 20400000 ...
Image Name: Linux Kernel Image
Image Type: ARM Linux Kernel Image (gzip compressed)
Data Size: 1422822 Bytes = 1.4 MB
Load Address: 20008000
Entry Point: 20008000
Verifying Checksum ... OK
Uncompressing Kernel Image ... OK

Starting kernel ...

Linux version 2.6.24 (root@armmaker) (gcc version 4.2.0 20070413 (prerelease) (CodeSourcery Sourcery G++ Lite 2007q1-10)) #61 Thu Aug 28 21:29:58 MSD 2008
CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=00053177
Machine: StarterKit.ru SK-AT91SAM9XE512-S3E
Memory policy: ECC disabled, Data cache writeback
Clocks: CPU 200 MHz, master 100 MHz, main 12.000 MHz
CPU0: D VIVT write-back cache
CPU0: I cache: 16384 bytes, associativity 4, 32 byte lines, 128 sets
CPU0: D cache: 8192 bytes, associativity 4, 32 byte lines, 64 sets
Built 1 zonelists in Zone order, mobility grouping on. Total pages: 16256
Kernel command line: root=/dev/nfs rw nfsroot=172.17.0.90:/media/sda3/var/tmp/debian-etch-arm-dev ip=172.17.5.1:172.17.0.90:172.17.0.1:255.255.0.0:lpc:eth0:off console=ttyS0,115200
AT91: 96 gpio irqs in 3 banks
PID hash table entries: 256 (order: 8, 1024 bytes)
Console: colour dummy device 80x30
console [ttyS0] enabled
Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)
Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)
Memory: 64MB = 64MB total
Memory: 61952KB available (2612K code, 230K data, 116K init)
Mount-cache hash table entries: 512
CPU: Testing write buffer coherency: ok
net_namespace: 64 bytes
NET: Registered protocol family 16
SCSI subsystem initialized
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
NET: Registered protocol family 2
Time: pit clocksource has been installed.
IP route cache hash table entries: 1024 (order: 0, 4096 bytes)
TCP established hash table entries: 2048 (order: 2, 16384 bytes)
TCP bind hash table entries: 2048 (order: 1, 8192 bytes)
TCP: Hash tables configured (established 2048 bind 2048)
TCP reno registered
NetWinder Floating Point Emulator V0.97 (double precision)
JFFS2 version 2.2. (NAND) (SUMMARY) © 2001-2006 Red Hat, Inc.
yaffs Apr 22 2008 10:39:18 Installing.
io scheduler noop registered (default)
atmel_usart.0: ttyS0 at MMIO 0xfefff200 (irq = 1) is a ATMEL_SERIAL
atmel_usart.1: ttyS1 at MMIO 0xfffb0000 (irq = 6) is a ATMEL_SERIAL
atmel_usart.2: ttyS2 at MMIO 0xfffb8000 (irq = 8) is a ATMEL_SERIAL
RAMDISK driver initialized: 16 RAM disks of 8192K size 1024 blocksize
loop: module loaded
ssc ssc.0: Atmel SSC device at 0xc4870000 (irq 14)
MACB_mii_bus: probed
eth0: Atmel MACB at 0xfffc4000 irq 21 (00:1f:f2:00:00:00)
eth0: attached PHY driver [Generic PHY] (mii_bus:phy_addr=ffffffff:01, irq=-1)
Driver 'sd' needs updating - please use bus_type methods
NFTL driver: nftlcore.c $Revision: 1.98 $, nftlmount.c $Revision: 1.41 $
NAND device: Manufacturer ID: 0xec, Chip ID: 0xda (Samsung NAND 256MiB 3,3V 8-bit)
AT91 NAND: 8-bit, <NULL> ECC
Scanning device for bad blocks
Creating 2 MTD partitions on "at91_nand":
0x00000000-0x00800000 : "Partition 1"
0x00800000-0x10000000 : "Partition 2"
atmel_spi atmel_spi.0: Atmel SPI Controller at 0xfffc8000 (irq 12)
mtd_dataflash spi0.0: AT45DB321x (4224 KBytes)
usbmon: debugfs is not available
at91_ohci at91_ohci: AT91 OHCI
at91_ohci at91_ohci: new USB bus registered, assigned bus number 1
at91_ohci at91_ohci: irq 20, io mem 0x00500000
usb usb1: configuration #1 chosen from 1 choice
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 2 ports detected
Initializing USB Mass Storage driver...
usbcore: registered new interface driver usb-storage
USB Mass Storage support registered.
udc: at91_udc version 3 May 2006
mice: PS/2 mouse device common for all mice
i2c /dev entries driver
usbcore: registered new interface driver usbhid
drivers/hid/usbhid/hid-core.c: v2.6:USB HID core driver
TCP cubic registered
NET: Registered protocol family 1
NET: Registered protocol family 17
RPC: Registered udp transport module.
RPC: Registered tcp transport module.
IP-Config: Complete:
device=eth0, addr=172.17.5.1, mask=255.255.0.0, gw=172.17.0.1,
host=lpc, domain=, nis-domain=(none),
bootserver=172.17.0.90, rootserver=172.17.0.90, rootpath=
Looking up port of RPC 100003/2 on 172.17.0.90
eth0: link up (100/Full)
rpcbind: server 172.17.0.90 not responding, timed out
Root-NFS: Unable to get nfsd port number from server, using default
Looking up port of RPC 100005/1 on 172.17.0.90
rpcbind: server 172.17.0.90 not responding, timed out
Root-NFS: Unable to get mountd port number from server, using default
mount: server 172.17.0.90 not responding, timed out
Root-NFS: Server returned error -5 while mounting /media/sda3/var/tmp/debian-etch-arm-dev
VFS: Unable to mount root fs via NFS, trying floppy.
VFS: Cannot open root device "nfs" or unknown-block(2,0)
Please append a correct "root=" boot option; here are the available partitions:
1f00 8192 mtdblock0 (driver?)
1f01 253952 mtdblock1 (driver?)
1f02 4224 mtdblock2 (driver?)
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(2,0)
Спуститься к концу Подняться к началу
Персональная информация
Lampus
Добавлено 22.06.2011 23:23 Сообщение: 8
Lampus
5

Пункты: 3552
Регистрация: 26.04.2011
kovigor, ну здесь всё весьма очевидно.
Так как ты провернул процедуру восстанволения для NAND-а, а не для DataFlash, то ты и видишь всё как было.
Камни серии AT91 ищут загрузчик в следующем порядке:
1. DataFlash на CS0
2. DataFlash на CS1
3. NAND Flash
4. Запускает встроенный в процессор загрузчик RomBoot

Твои варианты действий:
1. Отключить Dataflash, что б загрузка пошла с NAND
2. Просто затри DataFlash через SAM-BA
3. Залей правильные образы bootstrap, u-boot и ядра на DataFlash

Почитай для общего развития это: http://dmilvdv.narod.ru/AT91SAM9260/index.html?sam_ba.html
Спуститься к концу Подняться к началу
Персональная информация
Jury093
Добавлено 23.06.2011 00:19 Сообщение: 9
Jury093
4.5

Пункты: 54271
Регистрация: 25.05.2009
Пол: Мужчина
Из: Санкт-Петербург
Цитата
Все проходит нормально, но проблема не решается. Такое впечатление, что эти настройки хранятся в Dataflash, на которую мои действия не влияют. Косвенным подтверждением этой теории служит тот факт, что при ее отключении (удалении перемычки J7) Linux все же загружается, поскольку U-Boot не может прочитать заведомо некорректные настройки. Продолжаю разбираться, спасибо за советы ...

перед тем, как тереть и шить имеет смысл попробовать обойтись малой кровью..
включаем плату, останавливаем Uboot далее в консоли пишем
Код
set bootargs root=/dev/ram0 rw initrd=0x23100000,0x800000 console=ttyS0,115200 mem=64M

синтаксис можно уточнить командой help и доками по Uboot
потом контрольное
Код
printenv

убеждаемся, что переменная прописалась правильно и сохраняем
Код
saveenv

далее кнопка Reset и смотрим аргументы ядра при загрузке
по идеи, если больше ничего не трогалось в системе, то ядро должно подхватить рутовую и отработать приглашение login

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