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

 
 
> U-Boot на AT91RM9200
InHaze
сообщение Dec 6 2013, 13:31
Сообщение #1





Группа: Новичок
Сообщений: 8
Регистрация: 6-12-13
Пользователь №: 79 522



Добрый вечер.

Имеется плата на процессоре AT91RM9200 от Atmel. SDRAM и NOR-Flash подключены аналогично плате AT91RM9200-EK.
Решил собрать U-Boot более новой версии. Использую конфигурацию AT91RM9200EK_config.
Вот что выводится на Debug-порт:

Код
U-Boot 2014.01-rc1-00024-gf44483b (Dec 06 2013 - 17:03:04)

DRAM:  32 MiB


JTAG на плате нет, вся загрузка производиться через Debug. С помощью вывода на консоль текстовых данных обнаружил, что функция board_init_f() отрабатывается полностью, до board_init_r() дело не доходит. Видимо, процедура релокации происходит с ошибками.

Можете что-нибудь посоветовать?

P.S. Перенесите тему, если разделом ошибся 05.gif
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Dron_Gus
сообщение Dec 6 2013, 14:54
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 202
Регистрация: 9-01-05
Из: Санкт-Петербург
Пользователь №: 1 861



Могу посоветовать в arch/arm/lib/board.c до инслудов написать #define DEBUG . Выведет все смещения и адреса. Их стоит внимательно проверить.


--------------------
Если сверху смотреть, то сбоку кажется, что снизу ничего не видно.
Go to the top of the page
 
+Quote Post
InHaze
сообщение Dec 10 2013, 13:30
Сообщение #3





Группа: Новичок
Сообщений: 8
Регистрация: 6-12-13
Пользователь №: 79 522



Цитата(Dron_Gus @ Dec 6 2013, 18:54) *
Могу посоветовать в arch/arm/lib/board.c до инслудов написать #define DEBUG . Выведет все смещения и адреса. Их стоит внимательно проверить.

спасибо, стало понятнее
Код
U-Boot 2013.10 (Dec 10 2013 - 13:27:18)

U-Boot code: 10000000 -> 10032A1C  BSS: -> 10081820
monitor len: 00081820
ramsize: 02000000
TLB table from 21ff0000 to 21ff4000
Top of RAM usable for U-Boot at: 21ff0000
Reserving 518k for U-Boot at: 21f6e000
Reserving 384k for malloc() at: 21f0e000
Reserving 32 Bytes for Board Info at: 21f0dfe0
Reserving 176 Bytes for Global Data at: 21f0df30
New Stack Pointer is: 21f0df20
RAM Configuration:
Bank #0: 20000000 32 MiB
relocation Offset is: 11f6e000


видимо неправильный адрес конца секции .bss (BSS: -> 10081820)
сам u-boot.bin занимает 227КБ, то есть не должен вылазить за адрес 10040000

в uboot/arch/arm/lib/board.c
Код
debug("U-Boot code: %08lX -> %08lX  BSS: -> %08lX\n",
               _TEXT_BASE,
               _bss_start_ofs + _TEXT_BASE, _bss_end_ofs + _TEXT_BASE);

в uboot/arch/arm/cpu/arm920t/start.S:
Код
.globl _bss_end_ofs
_bss_end_ofs:
        .word __bss_end__ - _start

где определяется __bss_end__ найти не могу

попытался собрать собрать предыдущую стабильную версию (2013.10, на последнем логе), не помогло
собирал с другим тулчейном, на консоль вообще ничего не выводилось
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 27th June 2025 - 11:06
Рейтинг@Mail.ru


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