ЗАО «ЗЭО»
Техническая поддержка пользователей => ОС Linux, U-Boot => Тема начата: 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М были доступны?
Заранее спасибо за Ваше участие ;)
-
> Вопрос в следующем, загрузчик сам определяет кол-во имеющейся памяти на борту или же эта константа, которая "пробита" > при сборке? Если константа, то в каком месте ее можно подправить чтоб все 64М были доступны?
Возможны оба варианта, также возможно что паямять разделена на области (не одним сплошным куском адресов).
См. файл include/configs/this_board.h
Можно сравнить с include/configs/tion_base.h, там как раз две области жёстко заданные.
-
Возможны оба варианта, также возможно что паямять разделена на области (не одним сплошным куском адресов).
См. файл 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 микросхемы, в адресном пространстве расположены друг за другом).
-
> Вот теперь думаю как правильнее сделать: просто увеличить размер памяти до 64М, либо сделать два банка по 32М
Если физические адреса для всех 64MB расположены _непрерывно_, но делать 2x32MB по моему смысла нет, лучше 1x64MB.