Ник:
Пароль:

Контакты

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

ОбновитьПодробнееВсегоВсего:3
Форум » starterkit.ru » Отладочные платы » SK-AT91SAM9XE512-SIMXXX
Новичку, шаг за шагом
Jury093
Добавлено 21.09.2009 13:21 Сообщение: 11
Jury093
4.5

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

PS Бинарник бутстрапа должен быть меньше 4кбайт

На любой вопрос есть любой ответ.
Спуститься к концу Подняться к началу
Персональная информация
Jorj
Добавлено 22.09.2009 15:09 Сообщение: 12
Jorj
0

Регистрация: 17.09.2009
Проблемы по-тихоньку начали разрешаться.

Bootstrap у меня всё-таки прошивается и запускается. Проблема была в том, что хотя в at91sam9260ek.h CFG_DEBUG - задефайнен, в at91sam9260ek.c - строка printf("AT91Bootstrap...") - закомментирована.
Спуститься к концу Подняться к началу
Персональная информация
Jury093
Добавлено 23.09.2009 09:39 Сообщение: 13
Jury093
4.5

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

// dbg_print("Start AT91Bootstrap...\n\r");

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

Регистрация: 17.09.2009
Я используюсь Bootstrap'ом v1.11, который идёт вместе с диском. Там есть внутри отличная дока "AT91Bootstrap framework" - всего 28 страниц. Всем советую к прочтению. Я по ней менял все циферки в at91sam9260ek.h и Makefile - и в конце концов всё забегало.

Дошло до загрузки u-boot, который не хотел грузиться ни в каком виде. Так продолжалось, пока я не скачал u-boot-1.3.4 и u-boot-1.3.4-exp.diff и патч к нему. Скомпилил в такой конфигурации "make at91sam9260ek_dataflash_cs0_config" - и он тоже заработал.

Кстати, всем, кто начинает работать с AT91SAM9xxx советую к прочтению h**p:// cncsoft. spb. ru/ catalog/ sh27cnc1/ linux4sh27. html. php
В статье разбирается оригинальная плата от атмеля, но всё применимо и к starterkit'овской, надо только некоторые цифры поменять.
Спуститься к концу Подняться к началу
Персональная информация
Jorj
Добавлено 23.09.2009 16:22 Сообщение: 15
Jorj
0

Регистрация: 17.09.2009
Что же, всё прекрасно - bootstrap запустил u-boot, u-boot прочитал настройки и запускает kernel. Вот здесь нас и поджидают очередные странности и непонятки.
Во-первых, нужно указать u-boot'у где в dataflash или nand лежит ядро, и куда его класть в памяти. Тут вроде просто всё делаем, например:
setenv bootcmd nboot 0x22000000 0x0 0x40000 \; bootm
saveenv
В разных местах пишут разные цифры, например 0x20008000 или 0x21100000. Спрашивается, что такое это 0x22000000? Что от этого зависит?
Далее, во время компиляции ядра есть такая штука как Boot options, а в ней такие вещи как Compressed ROM boot loader base address, Compressed ROM boot loader BSS address и CMD_LINE.
В последнюю некоторые пишут что-то вроде root=/dev/ram rw initrd=0x20410000,0x800000 ramdisk_size=8192 console=ttyS1,115200 mem=32M. Но опять же что это за цифры не очень ясно? А о первых 2-х вообще ничего не известно.
Спуститься к концу Подняться к началу
Персональная информация
Jorj
Добавлено 23.09.2009 16:29 Редактировалось 23.09.2009 16:47 Сообщение: 16
Jorj
0

Регистрация: 17.09.2009
В этом месте у меня и возникла проблемка. u-boot нашел kernel, тот запустился. Написал
Starting kernel ...
Uncompressing Linux........................
После чего идёт сплошняком птичий язык вперемешку с иероглифами.
Я думал, может в minicom'е проблема с приёмом русских букв (хотя откуда бы им взяться), но такая же ситуация и в hyperterminal'е.
Ядер я разных много перепробовал, как самоскомпиленных, так и бинарников с linux4sam, всё время одна и таже ерунда.
Что бы это такое могло быть?
Это, конечно, USART настроен не на ту частоту контроллера.
Заходим в папку где лежит linux. Ищем arch/arm/mach-at91/board-sam9260ek.c. И правим в нём строку 59, частоту по умолчанию 18432000 на 12000000.
Спуститься к концу Подняться к началу
Персональная информация
Jury093
Добавлено 23.09.2009 21:14 Сообщение: 17
Jury093
4.5

Пункты: 54233
Регистрация: 25.05.2009
Пол: Мужчина
Из: Санкт-Петербург
Спрашивается, что такое это 0x22000000? Что от этого зависит? - если я правильно помню, это физический адрес в SDRAM куда грузить образ. впрочем, проще чем гадать полистать куцую доку или рыть в исходниках. юбутские сорцы не такие обширные как у ядра - проще разобраться :)
частоту по умолчанию 18432000 на 12000000 - на "старом" форуме в двух тредах пробегал патч, который навешивается на ядро, я завтра его выложу (если не забуду) :))

На любой вопрос есть любой ответ.
Спуститься к концу Подняться к началу
Персональная информация
Jorj
Добавлено 24.09.2009 14:14 Редактировалось 24.09.2009 14:16 Сообщение: 18
Jorj
0

Регистрация: 17.09.2009
Может быть кто-нибудь поделится работающими настройками для запуска ядра и корневой?

Те, что идут в плате по умолчанию у меня что-то не очень работают. Даже ядра не находят.
Те что товарищ предлагает здесь h**p:// belgorod.lug. ru/wiki/index. php/Создание_Linux_для_ARM9 - видимо для другой платы и тоже не годятся.

Всё, что у меня получилось это запустить ядро. Корневой оно не может найти ни в nand, ни на mmc, ни на usb. Постоянно что-то вроде
List of all partitions:
No filesystem could mount root, tried: jffs2
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)
Спуститься к концу Подняться к началу
Персональная информация
Jury093
Добавлено 24.09.2009 14:47 Редактировалось 24.09.2009 14:47 Сообщение: 19
Jury093
4.5

Пункты: 54233
Регистрация: 25.05.2009
Пол: Мужчина
Из: Санкт-Петербург
у меня вот такая строка загрузки ядра:
CONFIG_CMDLINE="mem=32M rw console=ttyS0,115200 root=/dev/mmcblk0p1 rootwait"
ядро гружу с tftp, rootfs лежит на SD (ext2)

ЗЫ если не получится - лог загрузки в "студию", т.б. сюда

На любой вопрос есть любой ответ.
Спуститься к концу Подняться к началу
Персональная информация
Jorj
Добавлено 24.09.2009 15:05 Сообщение: 20
Jorj
0

Регистрация: 17.09.2009
я tftpboot не пробовал, времени не было.
ситуации пока 2.
1. Загрузка с SD воткнутой в USB reader. В конце концов что-то задышало. Весь лог приводить не буду, только хвост:
VFS: Mounted root (ext2 filesystem).
Freeing init memory: 96K
Warning: unable to open an initial console.
Kernel panic - not syncing: No init found. Try passing init= option to kernel.

2. Загрузка из nand - что намного нужнее.

U-Boot> printenv
ethaddr=3a:1f:34:08:54:54
bootdelay=3
baudrate=115200
ethact=macb0
bootargs=console=ttyS0 rootfstype=jffs2 root=/dev/mtdblock1
bootcmd=nboot 0x22200000 0x0 0x40000;bootm 0x22200000
stdin=serial
stdout=serial
stderr=serial

RomBOOT
>Start AT91Bootstrap...
Run ...


U-Boot 1.3.4 (Sep 22 2009 - 14:26:02)

DRAM: 64 MB
NAND: 256 MiB
DataFlash:AT45DB321
Nb pages: 8192
Page Size: 528
Size= 4325376 bytes
Logical address: 0xC0000000
Area 0: C0000000 to C00041FF (RO) Bootstrap
Area 1: C0004200 to C00083FF Environment
Area 2: C0008400 to C0041FFF (RO) U-Boot
Area 3: C0042000 to C0251FFF Kernel
Area 4: C0252000 to C041FFFF FS
In: serial
Out: serial
Err: serial
Net: macb0
macb0: No PHY present
Hit any key to stop autoboot: 0

Loading from NAND 256MiB 3,3V 8-bit, offset 0x40000
Image Name: linux-2.6
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 1086968 Bytes = 1 MB
Load Address: 20008000
Entry Point: 20008000
## Booting kernel from Legacy Image at 22200000 ...
Image Name: linux-2.6
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 1086968 Bytes = 1 MB
Load Address: 20008000
Entry Point: 20008000
Verifying Checksum ... OK
Loading Kernel Image ... OK
OK

Starting kernel ...

Uncompressing Linux.............................................................
Linux version 2.6.27 (jorj@jorj-ubuntu) (gcc version 4.2.0 20070413 (prerelease9
CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=00053177
Machine: Atmel AT91SAM9260-EK
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: 8192 bytes, associativity 4, 32 byte lines, 64 sets
CPU0: D cache: 8192 bytes, associativity 4, 32 byte lines, 64 sets
Built 1 zonelists in Zone order, mobility grouping on. Total pages: 16240
Kernel command line: console=ttyS0 rootfstype=jffs2 root=/dev/mtdblock1
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: 62528KB available (1980K code, 184K data, 96K init)
Calibrating delay loop... 99.73 BogoMIPS (lpj=498688)
Mount-cache hash table entries: 512
Initializing cgroup subsys debug
Initializing cgroup subsys ns
Initializing cgroup subsys cpuacct
Initializing cgroup subsys memory
Initializing cgroup subsys devices
CPU: Testing write buffer coherency: ok
SCSI subsystem initialized
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
NetWinder Floating Point Emulator V0.97 (double precision)
JFFS2 version 2.2. (NAND) (SUMMARY) �© 2001-2006 Red Hat, Inc.
fuse init (API version 7.9)
msgmni has been set to 122
Block layer SCSI generic (bsg) driver version 0.4 loaded (major 254)
io scheduler noop registered
io scheduler anticipatory registered (default)
Serial: 8250/16550 driver4 ports, IRQ sharing disabled
brd: module loaded
loop: module loaded
Driver 'sd' needs updating - please use bus_type methods
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
sdhci: Secure Digital Host Controller Interface driver
sdhci: Copyright(c) Pierre Ossman
usb 1-1: new full speed USB device using at91_ohci and address 2
usb 1-1: configuration #1 chosen from 1 choice
scsi0 : SCSI emulation for USB Mass Storage devices
usbcore: registered new interface driver usbhid
usbhid: v2.6:USB HID core driver
List of all partitions:
No filesystem could mount root, tried: jffs2
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)
Спуститься к концу Подняться к началу
Персональная информация
Форум » starterkit.ru » Отладочные платы » SK-AT91SAM9XE512-SIMXXX