ЗАО «ЗЭО»

Техническая поддержка пользователей => ОС Linux, U-Boot => Тема начата: speculzzz от 28 Сентября, 2009, 16:07:58

Название: UBoot и размер RAM
Отправлено: speculzzz от 28 Сентября, 2009, 16:07:58
Доброго времени суток всем.

Возник небольшой вопрос по загрузчику UBoot (в данном случае версии 1.3.4).
Есть железка, на которой по тех. данным установленно 64М оперативки (производитель божиться что так оно и есть :) ). Но когда стартует загрузчик то он определяет всего 32М (вывод в консоле):
U-Boot 1.3.4 (Aug 13 2009 - 17:26:28)

DRAM:  32 MB
NAND:  128 MiB
In:    serial
Out:   serial
Err:   serial
Net:   macb0
macb0: link up, 100Mbps full-duplex (lpa: 0xffff)
Hit any key to stop autoboot:  0

Вопрос в следующем, загрузчик сам определяет кол-во имеющейся памяти на борту или же эта константа, которая "пробита" при сборке? Если константа, то в каком месте ее можно подправить чтоб все 64М были доступны?

Заранее спасибо за Ваше участие ;)
Название: Re: UBoot и размер RAM
Отправлено: asv от 29 Сентября, 2009, 12:01:32
> Вопрос в следующем, загрузчик сам определяет кол-во имеющейся памяти на борту или же эта константа, которая "пробита" > при сборке? Если константа, то в каком месте ее можно подправить чтоб все 64М были доступны?

Возможны оба варианта, также возможно что паямять разделена на области (не одним сплошным куском адресов).
См. файл include/configs/this_board.h
Можно сравнить с include/configs/tion_base.h, там как раз две области жёстко заданные.




Название: Re: UBoot и размер RAM
Отправлено: speculzzz от 30 Сентября, 2009, 11:42:58
Возможны оба варианта, также возможно что паямять разделена на области (не одним сплошным куском адресов).
См. файл include/configs/this_board.h
Можно сравнить с include/configs/tion_base.h, там как раз две области жёстко заданные.

Так оно и оказалось:
/* SDRAM */
#define CONFIG_NR_DRAM_BANKS 1
#define PHYS_SDRAM 0x20000000
#define PHYS_SDRAM_SIZE 0x02000000 /* 64 megs */

Вот теперь думаю как правильнее сделать: просто увеличить размер памяти до 64М, либо сделать два банка по 32М (на плате реально 2 микросхемы, в адресном пространстве расположены друг за другом).
Название: Re: UBoot и размер RAM
Отправлено: asv от 30 Сентября, 2009, 12:25:51
> Вот теперь думаю как правильнее сделать: просто увеличить размер памяти до 64М, либо сделать два банка по 32М

Если физические адреса для всех 64MB расположены _непрерывно_, но делать 2x32MB по моему смысла нет, лучше 1x64MB.