ЗАО «ЗЭО»

Пожалуйста, войдите или зарегистрируйтесь.

Расширенный поиск  

Новости:

Автор Тема: UBoot и размер RAM  (Прочитано 5127 раз)

0 Пользователей и 1 Гость просматривают эту тему.

speculzzz

  • Jr. Member
  • **
  • Оффлайн Оффлайн
  • Сообщений: 69
UBoot и размер RAM
« : 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М были доступны?

Заранее спасибо за Ваше участие ;)
Записан

asv

  • Hero Member
  • *****
  • Оффлайн Оффлайн
  • Сообщений: 1405
Re: UBoot и размер RAM
« Ответ #1 : 29 Сентября, 2009, 12:01:32 »

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

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




Записан

speculzzz

  • Jr. Member
  • **
  • Оффлайн Оффлайн
  • Сообщений: 69
Re: UBoot и размер RAM
« Ответ #2 : 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 микросхемы, в адресном пространстве расположены друг за другом).
Записан

asv

  • Hero Member
  • *****
  • Оффлайн Оффлайн
  • Сообщений: 1405
Re: UBoot и размер RAM
« Ответ #3 : 30 Сентября, 2009, 12:25:51 »

> Вот теперь думаю как правильнее сделать: просто увеличить размер памяти до 64М, либо сделать два банка по 32М

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