Ник:
Пароль:

Контакты

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

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

Ник:
Пароль:

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

ОбновитьПодробнееВсегоВсего:5
Форум » starterkit.ru » Embedded Linux
Запуск Linux через Bootstrap
sasamy
Добавлено 24.01.2010 20:29 Сообщение: 21
sasamy
4.70

Пункты: 77242
Регистрация: 14.08.2009
Цитата
Magic Number я него не знаю где смотреть.
.....
Старый форум читал,собственно оттуда взял загрузчик sasamy

board/at91sam9260ek/dataflash/at91sam9260ek.h

#define MACH_TYPE 0x44B /* AT91SAM9260-EK */
Спуститься к концу Подняться к началу
Персональная информация
Jury093
Добавлено 24.01.2010 21:24 Сообщение: 22
Jury093
4.5

Пункты: 54233
Регистрация: 25.05.2009
Пол: Мужчина
Из: Санкт-Петербург
Цитата
board/at91sam9260ek/dataflash/at91sam9260ek.h
#define MACH_TYPE 0x44B /* AT91SAM9260-EK */

я, когда боролся с запуском ядра от другой платы, отключил проверку на валидность борды.
Вопрос: кто разруливает ситуацию в связке Bootstrap-Kernel?
Вот кусок п/п из ядра, правда для NUC950, но это мало что меняет.
Код
__lookup_machine_type:
adr r3, 4b
ldmia r3, {r4, r5, r6}
sub r3, r3, r4 @ get offset between virt&phys
add r5, r5, r3 @ convert virt addresses to
add r6, r6, r3 @ physical address space
1: ldr r3, [r5, #MACHINFO_TYPE] @ get machine type
teq r3, r1 @ matches loader number?
beq 2f @ found
add r5, r5, #SIZEOF_MACHINE_DESC @ next machine_desc
cmp r5, r6
blo 1b
mov r5, #0 @ unknown machine
2: mov pc, lr

На любой вопрос есть любой ответ.
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 24.01.2010 21:35 Сообщение: 23
sasamy
4.70

Пункты: 77242
Регистрация: 14.08.2009
Почитайте pdf по ссылке в первом сообщении - там написано что нужно для запуска ядра. Ядро вызывается с такими параметрами
/* Jump to kernel with register set*/
theKernel(0, MACH_TYPE, PARAM_ADDRESS);
соответственно r0 = 0, r1 = MACH_TYPE, r2 = PARAM_ADDRESS
это означает что загрузчик ядра ожидает в этих регистрах обозначенные параметры при пржке на него из первичного загрузчика.
Спуститься к концу Подняться к началу
Персональная информация
Lavin
Добавлено 24.01.2010 21:36 Сообщение: 24
Lavin
2.4

Пункты: 1267
Регистрация: 22.05.2009
Пол: Мужчина
Из: Москва
Народ,извените за мегаламерский вопрос,но какие патчи надо поставить на ванильное ядро, что бы оно работало?Если не трудно может кто нить zImage если не трудно еще конфиг на zavdimka@gmail.ru
Разбираясь с этим я понял то что ничего не знаю...
Спуститься к концу Подняться к началу
Персональная информация
Jury093
Добавлено 24.01.2010 21:45 Редактировалось 24.01.2010 21:50 Сообщение: 25
Jury093
4.5

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

Спасибо. Из дома скачаю и посмотрю. Идея более/менее понятна.

Цитата
кто нить zImage если не трудно


я бы чем-нить поделился, да все что есть по теме дома осталось..
да и лить из гостиницы на 30 кбитах тухлое дело..
дам совет :) почекать еще раз старый форум..

Update: в соседнем треде более наблюдательны :)
Цитата
Выкачал из инета ядро 2.6.32.4. собрал как написано в Wiki, включил поддержку 1-wire и исправил файл как написано в начале топика. Собралось без проблем, заливаю на tftp сервер.

На любой вопрос есть любой ответ.
Спуститься к концу Подняться к началу
Персональная информация
Strijar
Добавлено 24.01.2010 22:26 Сообщение: 26
Strijar
Ранг
5

Группа: Клиенты
Пункты: 1618
Регистрация: 21.04.2009
Пол: Мужчина
Цитата
Народ,извените за мегаламерский вопрос,но какие патчи надо поставить на ванильное ядро, что бы оно работало?


Никаких не надо. Поправить только частоту кварца (в board-sam9260ek.c) и все работает.
Спуститься к концу Подняться к началу
Персональная информация
Lavin
Добавлено 24.01.2010 23:06 Сообщение: 27
Lavin
2.4

Пункты: 1267
Регистрация: 22.05.2009
Пол: Мужчина
Из: Москва
Я еще не пойму едру пофигу по какому адресу его заливают? или его где то в ядре надо указывать.
Частоту я поменял на 12мгц вместо 18 с копейками.Это все изменения как я понимаю?
Со старым форумом у меня часто проблемы-загружается пустая страница и перезагружать бесполезно.Приеду в москву-там грузится.
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 24.01.2010 23:24 Редактировалось 24.01.2010 23:28 Сообщение: 28
sasamy
4.70

Пункты: 77242
Регистрация: 14.08.2009
Вот этот попробуй
http://www.starterkit.ru/html/index.php?name=forum&op=view&id=5078&last#5429

Цитата
Я еще не пойму едру пофигу по какому адресу его заливают?


Главное чтобы передаваемые параметры не перекрылись с ним. А вообще ядру все равно

Ну и тут на всякий случай без убутовских заголовков - то что на выходе при сборке ядра
http://sasamy.narod.ru/zImage
Спуститься к концу Подняться к началу
Персональная информация
Lavin
Добавлено 25.01.2010 11:22 Редактировалось 25.01.2010 14:12 Сообщение: 29
Lavin
2.4

Пункты: 1267
Регистрация: 22.05.2009
Пол: Мужчина
Из: Москва
Огромсное спасибо,sasamy.Помогло.
Ошибка была в том что я не правильно инициализоровал SDRAM.Я так и не разобрался как инициализировать 2 планки.Ставлю шину 32 вместо 16 ядро молчит.Обратно 16 ставлю все работает на ура...Если я прально понимаю надо подправить что то тут что бы было 64метра оперативы..
/* Configure SDRAM Controller */
sdram_init( AT91C_SDRAMC_NC_9 |
AT91C_SDRAMC_NR_13 |
AT91C_SDRAMC_CAS_2 |
AT91C_SDRAMC_NB_4_BANKS |
AT91C_SDRAMC_DBW_16_BITS |
AT91C_SDRAMC_TWR_2 |
AT91C_SDRAMC_TRC_7 |
AT91C_SDRAMC_TRP_2 |
AT91C_SDRAMC_TRCD_2 |
AT91C_SDRAMC_TRAS_5 |
AT91C_SDRAMC_TXSR_8, /* Control Register */
(MASTER_CLOCK * 7)/1000000, /* Refresh Timer Register */
AT91C_SDRAMC_MD_SDRAM); /* SDRAM (no low power
Еще странно почему то не видит SD карту.Все драйвера включил,смущает вот это
/*
* MCI (SD/MMC)
*/
static struct at91_mmc_data __initdata ek_mmc_data = {
.slot_b = 1,
.wire4 = 1,
// .det_pin = ... not connected
// .wp_pin = ... not connected
// .vcc_pin = ... not connected
};
Ядро ванильное из коробки по правил только частоту на 12мгц...
Настораживает вот это
at91_wdt: probe of at91_wdt failed with error -5
at91_mci at91_mci: probe failed, err -1
at91_mci: probe of at91_mci failed with error -1
TCP cubic registered
NET: Registered protocol family 17
Waiting for root device /dev/mmcblk0p1...
А если в картридер туже флэшку вставить все работает..
sd 0:0:0:0: Attached scsi generic sg0 type 0
sd 0:0:0:0: [sda] 7729152 512-byte logical blocks: (3.95 GB/3.68 GiB)
sd 0:0:0:0: [sda] Write Protect is off
sd 0:0:0:0: [sda] Assuming drive cache: write through
sd 0:0:0:0: [sda] Assuming drive cache: write through
sda: sda1
sd 0:0:0:0: [sda] Assuming drive cache: write through
sd 0:0:0:0: [sda] Attached SCSI removable disk
EXT2-fs warning: mounting unchecked fs, running e2fsck is recommended
VFS: Mounted root (ext2 filesystem) on device 8:1.
Freeing init memory: 100K
INIT: version 2.86 booting
Activating swap...done.
Setting the system clock..
Заранее огромное спасибо.
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 25.01.2010 14:11 Сообщение: 30
sasamy
4.70

Пункты: 77242
Регистрация: 14.08.2009
Там конечно сгоряча сказали что все само заработает :) нужно было добавить - кроме mci :) В старом форуме есть про это, нужно так
/*
* MCI (SD/MMC)
*/
static struct at91_mmc_data __initdata ek_mmc_data = {
.slot_b = 0,
.wire4 = 1,
.det_pin = AT91_PIN_PA4
// .wp_pin = ... not connected
// .vcc_pin = ... not connected
};
Спуститься к концу Подняться к началу
Персональная информация
Форум » starterkit.ru » Embedded Linux