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

 
 
> помогите с 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 16 2012, 04:43
Сообщение #2


Знающий
****

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



Цитата
Это означает, что Вы строите ядро для другого процессора, не Cortex-M3. Так, конечно, можно долго "косяки и глюки" в коде Emcraft находить.

Глупости пишете. Как он у меня работает, если я строю ядро под другой процессор?
А файл head.S есть в разных директориях. Я говорю о том, который в каталоге /arch/arm/boot/compressed. И там нет никаких head-nommu.
Go to the top of the page
 
+Quote Post
vladimir_kh
сообщение May 19 2012, 10:27
Сообщение #3





Группа: Новичок
Сообщений: 5
Регистрация: 12-07-08
Пользователь №: 38 895



Цитата(andrewlekar @ May 16 2012, 08:43) *
Глупости пишете. Как он у меня работает, если я строю ядро под другой процессор?
А файл head.S есть в разных директориях. Я говорю о том, который в каталоге /arch/arm/boot/compressed. И там нет никаких head-nommu.


Если у Вас все работает, что мы тогда тут обсуждаем?

Если верить Вашему описанию выше, работает не все. В частности, Unaligned access exceptions в ядре возникать не должны. По крайней мере, мы в Emcraft Systems этого не наблюдаем ни на LPC1788, на на какой-либо из других Cortex-M3 / M4, которые мы поддерживаем.

Мы действительно добавили в ядро конфигурационную опцию, позволяющую отключать в ядре процессора генерацию Unaligned access exceptions, однако, назначение ее - заставить работать пользовательские приложения, которые по каким-то своим соображениям лезут в память по невыровненным адресам (код Qt/Embedded этим грешит, в частности). Использовать эту опция для того, чтобы обойти проблемы в ядре, я бы не стал; это лечение симптомов, а не проблемы. В лучшем случае, потеряете в производительности, в худшем - просто маскируете какую-то проблему.

По моему мнению, причины проблем, которые Вы наблюдаете что-то одно из нижеследующего (а может, комбинация этих факторов):

- неверная конфигурация ядра. Если работает код, предназначенный для другой конфигурации или даже для другого процессора, ничего хорошего не получится.

- не та версия toolchain. Код Emcraft Systems работает с конкретной версией GNU Toolchain. Мы пробовали более поздние версии, с ними возникли проблемы. Естественно, их тоже можно заставить работать, но пока не дошли руки.

- какая-то несовместимость с U-boot от NXP (lpcware.com). На самом деле, у нас есть клиент (тоже LPC1788), который тоже взял порт U-boot от lpcware (ему была нужна поддержка NAND Flash, а мы это пока не поддерживаем в U-boot для LPC1788), и он тоже видит похожие проблемы.

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 21 2012, 06:56
|- - vladimir_kh   Цитата(andrewlekar @ May 21 2012, 10:56) ...   May 21 2012, 11:18
- - andrewlekar   ЦитатаПросто из любопытства, какой конфигурационны...   May 22 2012, 05:41
- - Sekila   Цитата(andrewlekar @ May 22 2012, 09:41) ...   Oct 3 2012, 19:07


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

 


RSS Текстовая версия Сейчас: 31st July 2025 - 21:58
Рейтинг@Mail.ru


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