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

 
 
> помогите с u-boot lpc1788
andrewlekar
сообщение Apr 10 2012, 10:55
Сообщение #1


Знающий
****

Группа: Участник
Сообщений: 837
Регистрация: 8-02-07
Пользователь №: 25 163



Пытаюсь собрать u-boot, но постоянно натыкаюсь на различные трудности. Нужна помощь по следующим вопросам:

1. В start.S есть такая запись

Код
_start:
    .word    CONFIG_SYS_INIT_SP_ADDR
    .word    (reset - _start) | 0x1
    .word    (nmitrap_handler - _start) | 0x1
    .word    (hardfault_handler - _start) | 0x1
    .word    (mpufault_handler - _start) | 0x1
    .word    (busfault_handler - _start) | 0x1
    .word    (usagefault_handler - _start) | 0x1


Зачем тут прибавляется 1 к каждому адресу?
Если оставить как есть, то при запуске сразу сваливается в usagefault_handler, насколько я понимаю.

2. u-boot всегда пытается переместить себя во внешнюю ОЗУ при запуске? Он не умеет работать без релокации с использованием раздельной RAM и ROM?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
andrewlekar
сообщение May 22 2012, 05:41
Сообщение #2


Знающий
****

Группа: Участник
Сообщений: 837
Регистрация: 8-02-07
Пользователь №: 25 163



Цитата
Просто из любопытства, какой конфигурационный файл Вы используете для сборки ядра?

ea-lpc1788_defconfig

Цитата
Emcraft Systems использует другую версию тулчейн. Я бы начал с того, чтобы перейти на эту версию, про которую известно, что с ней U-boot и Linux работают правильно.

Возможно из-за другой версии memcpy неверно обрабатывает невыровненный доступ к памяти...

В частности, падает с ошибкой невыровненного доступа вот на этом коде:
Код
int i;
__u32 hash[5], workspace[SHA_WORKSPACE_WORDS];
__u8 extract[64];
memcpy(out, hash, EXTRACT_SIZE);


Если поменять на:
Код
for(i = 0; i < EXTRACT_SIZE; i++)
{
   out[i] = (hash[i / 4] >> ((i % 4) * 4)) & 0xFF;
}

То в этом месте падать перестаёт.

Цитата
Наш порт U-boot работает из внутренней памяти (код из embedded Flash, данные и стек - в eSRAM).

Я имел в виду, что софт изначально был заточен под релокацию.

Цитата
Приятно знать, что как есть он все же работал нормально.

Точно не помню, в чём были проблемы, но, кажется, CONFIG_ALTMEMTEST вешал систему.

UPD: О чудо, сборка g++ lite 2010q1-189-arm-uclinuxeabi решила проблему с невыровненным доступом! Свежая версия g++ lite вероятно поломана. sm.gif Насчёт того, какой u-boot использовать: стандартный или emcraft, надо будет поразмыслить как следует.
Go to the top of the page
 
+Quote Post
Sekila
сообщение Oct 3 2012, 19:07
Сообщение #3





Группа: Новичок
Сообщений: 1
Регистрация: 3-10-12
Пользователь №: 73 790



Цитата(andrewlekar @ May 22 2012, 09:41) *
.


Привет!

Помоги пожалуйста :
Есть плата от starterkit с lpc1788 + sdram k4s561632N - не запускается UBOOT взятый с LPCware...
Пробовал сам компилировать - такая же беда.. Может просто консоль не работает...
В файле в исходнике есть еще строчка не понятная -
Файл mem.c
/* Enable clock for EMC */
lpc17_clk_enable(LPC17_CLK_ADC, 1);

Разве клок на EMC включается через регистр ADC ?

Я так понял проблема в SDRAM, точнее в настройках задержек?

Emcraftовский запускается, но тест sdram не проходит((

Как решить?

Сообщение отредактировал IgorKossak - Oct 3 2012, 20:17
Причина редактирования: бездумное цитирование
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- andrewlekar   помогите с u-boot lpc1788   Apr 10 2012, 10:55
- - GDI   1. Я бы понял это так, что в каждой строке вписыва...   Apr 10 2012, 12:46
- - SII   Если б почитали документацию на архитектуру ARM, а...   Apr 10 2012, 13:56
- - andrewlekar   Погуглил на тему релокации u-boot. Всё-таки он не ...   Apr 11 2012, 05:42
- - GDI   Флешь флеши рознь. Из nand флеша не работает потом...   Apr 11 2012, 08:20
- - andrewlekar   Я искал CONFIG_SKIP_RELOCATE_UBOOT и гуглил про не...   Apr 11 2012, 08:35
- - GDI   Возможно, это просто не реализованно в конкретной ...   Apr 11 2012, 08:51
- - andrewlekar   Ещё подниму тему. В конфигурации u-boot под lpc17...   Apr 24 2012, 07:28
- - andrewlekar   Обновлю тему для потомков. Итак, emcraft выложил ...   May 10 2012, 05:40
|- - vladimir_kh   Цитата(andrewlekar @ May 10 2012, 09:40) ...   May 13 2012, 19:37
- - andrewlekar   "Возможно, это потому, что uClinux использует...   May 14 2012, 04:35
|- - haker_fox   QUOTE (andrewlekar @ May 14 2012, 13:35) ...   May 14 2012, 13:25
- - andrewlekar   ЦитатаДобрый день, а почему бы не передать ядрышку...   May 15 2012, 04:52
|- - vladimir_kh   ++++++++++++++++++++++++++++ "Возможно, это п...   May 16 2012, 04:12
- - andrewlekar   ЦитатаЭто означает, что Вы строите ядро для другог...   May 16 2012, 04:43
|- - vladimir_kh   Цитата(andrewlekar @ May 16 2012, 08:43) ...   May 19 2012, 10:27
- - andrewlekar   ЦитатаЕсли у Вас все работает, что мы тогда тут об...   May 21 2012, 06:56
|- - vladimir_kh   Цитата(andrewlekar @ May 21 2012, 10:56) ...   May 21 2012, 11:18


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

 


RSS Текстовая версия Сейчас: 25th August 2025 - 19:33
Рейтинг@Mail.ru


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