я, когда боролся с запуском ядра от другой платы, отключил проверку на валидность борды.
Вопрос: кто разруливает ситуацию в связке Bootstrap-Kernel?
Вот кусок п/п из ядра, правда для NUC950, но это мало что меняет.
Почитайте pdf по ссылке в первом сообщении - там написано что нужно для запуска ядра. Ядро вызывается с такими параметрами
/* Jump to kernel with register set*/
theKernel(0, MACH_TYPE, PARAM_ADDRESS);
соответственно r0 = 0, r1 = MACH_TYPE, r2 = PARAM_ADDRESS
это означает что загрузчик ядра ожидает в этих регистрах обозначенные параметры при пржке на него из первичного загрузчика.
Народ,извените за мегаламерский вопрос,но какие патчи надо поставить на ванильное ядро, что бы оно работало?Если не трудно может кто нить zImage если не трудно еще конфиг на zavdimka@gmail.ru
Разбираясь с этим я понял то что ничего не знаю...
Спасибо. Из дома скачаю и посмотрю. Идея более/менее понятна.
я бы чем-нить поделился, да все что есть по теме дома осталось..
да и лить из гостиницы на 30 кбитах тухлое дело..
дам совет :) почекать еще раз старый форум..
Я еще не пойму едру пофигу по какому адресу его заливают? или его где то в ядре надо указывать.
Частоту я поменял на 12мгц вместо 18 с копейками.Это все изменения как я понимаю?
Со старым форумом у меня часто проблемы-загружается пустая страница и перезагружать бесполезно.Приеду в москву-там грузится.
Огромсное спасибо,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..
Заранее огромное спасибо.
Там конечно сгоряча сказали что все само заработает :) нужно было добавить - кроме 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
};