Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: AT91RM9200 доступ к началу SDRAM (0x20000000)
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > ARM, 32bit
braga
Знающие! помогите понять!
Есть ли какие нибудь ограничения к началу SDRAM!

Засада в следующем. После инициализации SDRAM ее тест зависает если на чинать с 0x20000000.
Если же начать с 0х20001000 - то все ОК.
Может туда какие ригистры мэпируются?? Как понять в чем дело???
Работаю на стопудовом рабочем железе! MCU AT91rm9200 32M SDRAM.

Заранее спасибо.
aaarrr
Подробнее напишите: где расположена сама программа теста, задействован ли MMU, и если задействован, где расположена Translation Table?
braga
Цитата(aaarrr @ Feb 3 2010, 16:30) *
Подробнее напишите: где расположена сама программа теста, задействован ли MMU, и если задействован, где расположена Translation Table?



программа теста - во внутренней статик RAM - часть загрузчика.

Насчет MMU - понятия не имею где даже посмотреть. Если знаете - просветите плиз.
aaarrr
Цитата(braga @ Feb 3 2010, 17:10) *
часть загрузчика.

uboot?
braga
Цитата(aaarrr @ Feb 3 2010, 17:25) *
uboot?


речь идет о самом первом загрузчике, который грузит U-boot
aaarrr
Цитата(braga @ Feb 3 2010, 17:46) *
речь идет о самом первом загрузчике, который грузит U-boot

Как его зовут? Или ссылку дайте, а то не понятно, о чем речь.
braga
Цитата(aaarrr @ Feb 3 2010, 19:01) *
Как его зовут? Или ссылку дайте, а то не понятно, о чем речь.


http://www.ucrouter.ru/download/boot.patch.tgz
braga
кажется начинаю догонять.. походу дело в линковке

вот что было и не работало
CODE

OUTPUT_FORMAT("elf32-littlearm","elf32-littlearm","elf32-littlearm")
OUTPUT_ARCH(arm)
ENTRY(_start)

MEMORY {
ram : ORIGIN = 0x20000000, LENGTH = 0xf000
rom : ORIGIN = 0x00000000, LENGTH = 0xf000
}

SECTIONS {
.text : {
_stext = . ;
*(.text)
*(.rodata)
. = ALIGN(4);
_etext = . ;
} > rom
.data : {
_sdata = . ;
*(.data)
*(.rodata)
*(.rodata.str1.1)
*(.glue_7*)
. = ALIGN(4);
_edata = . ;
} > ram
.bss : {
_sbss = . ;
*(.bss)
. = ALIGN(4);
_ebss = . ;
} > ram
}



как переделал


кажется начинаю догонять.. походу дело в линковке

вот что было и не работало

CODE

OUTPUT_FORMAT("elf32-littlearm","elf32-littlearm","elf32-littlearm")
OUTPUT_ARCH(arm)
ENTRY(_start)

MEMORY {
ram : ORIGIN = 0x00000000, LENGTH = 0xf000
}

SECTIONS {
.text : {
_stext = . ;
*(.text)
*(.rodata)
. = ALIGN(4);
_etext = . ;
} > ram
.data : {
_sdata = . ;
*(.data)
*(.rodata)
*(.rodata.str1.1)
*(.glue_7*)
. = ALIGN(4);
_edata = . ;
} > ram
.bss : {
_sbss = . ;
*(.bss)
. = ALIGN(4);
_ebss = . ;
} > ram
}




Кстати, знающие, кто-нить может прокоментировать??????????????
vmp
Скорее всего стек перетирается.
dch
вот этот boot.bin запускается из флэш, паралельной или последовательной
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.