реклама на сайте
подробности

 
 
> u-boot (iRAM) и подключение внешней DRAM
yurmala
сообщение Sep 6 2013, 16:20
Сообщение #1


Участник
*

Группа: Свой
Сообщений: 65
Регистрация: 9-02-11
Из: Трехгорный
Пользователь №: 62 814



Есть u-boot запускающийся из чиповой RAM памяти размером 64KB
также есть внешняя DRAM память размером 32MB
u-boot загружается и корректно инициализирует эту внешнюю память.
Возникла необходимость добавить в u-boot поддержку загрузки ядра с SD карты.
Для этого был найден драйвер MMC.
mmc init успешно инициализирует SD карту.
Теперь нужно подключить файловую систему FAT, для использования команды fatload...

В u-boot включаю опцию CONFIG_CMD_FAT. И тут полезли проблемы )))
модуль fat.c имеет 3 глобальных массива по 64KB каждый.
загрузчик u-boot.lds пытается загрузить из в .bss регион встроенной RAM памяти. И естественно, это у него не получается - ибо ее размер 64KB
Код
/home/user/projects/..../arm-uclinuxeabi-ld.real: u-boot section `.bss' will not fit in region `RAM'
/home/user/projects/..../arm-uclinuxeabi-ld.real: region `RAM' overflowed by 186932 bytes
make: *** [u-boot] Error 1


И тут у меня возникает ступор. Что делать в такой ситуации?

1) Задал в u-boot.lds скрипте адрес для RAM памяти как адрес внешней RAM (с ее размером), u-boot скомпилировался но естественно не запустился, т.к. внешнюю RAM нужно вначале проинициализировать, а уже потом использовать. Тупик.

2) Создал в u-boot.lds отдельный регион DRAM со своим адресом и размером. в модуле FAT.c для этих массивов указал директиву хранения в секции DRAM
u-boot собрался но u-boot.bin стал размером более 2Гб. Т.е. LD скрипт все это запихнул в прошивку (смещение до начала DRAM и сами нулевые массивы). Вообщем опять тупик.

Так как быть?
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 28th July 2025 - 09:42
Рейтинг@Mail.ru


Страница сгенерированна за 0.01345 секунд с 7
ELECTRONIX ©2004-2016